Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:licence:2i009:documents-tme:start

Ceci est une ancienne révision du document !


Notes sur les TME

Obligatoire

Le système utilisé pendant les TME est Oracle. Pour s y connecter, lire la documentation suivante : Connexion oracle

Pour le TME 4

  1. Charger la base de données JO_v1 en exécutant
    @jo_v1
  2. Vérifier que votre base contient les deux tables Athlete et Rangepreuve en exécutant
    @liste

A partir du TME 5

  1. Effacer la base de données JO_v1 en exécutant
    @vider
  2. Charger les bases de données JO_v2 et foofle en exécutant
    @jo_v2

    et

    @foofle

Schéma de la BD Foofle:

EquipeF(NEQ     NOT   NULL   VARCHAR2(9) 
        VILLE	NOT   NULL   VARCHAR2(10) 
        COULEUR	 VARCHAR2(8) 
        STP   NOT   NULL   VARCHAR2(10) )
 
Joueur(NJO NOT NULL VARCHAR2(15)
        EQ NOT NULL VARCHAR2(9)
        TAILLE 	NUMBER(5,2)
        AGE NUMBER(2) )
 
MATCH(EQ1  NOT NULL VARCHAR2(9)
       EQ2  NOT NULL VARCHAR2(9)
       DATEM DATE
       ST NOT NULL VARCHAR2(10) )
 
Sponsorise(NSP	NOT NULL VARCHAR2(15)
           NJO	NOT NULL VARCHAR2(15)
           SOMME NUMBER(3) )
 
Dist(ST1 NOT NULL VARCHAR2(10)
     ST2 NOT NULL VARCHAR2(10)
     NBKM NUMBER(3) )
Pour les TME 8 et 9

Création du schéma

Copier les instructions suivantes dans un fichier appelé TME10-creations.sql. Exécuter ces instructions depuis votre emacs en tapant: @TME10-creations.

create table Employe(
                        NumSS   number(5)               ,
                        NomE    varchar2(20)    ,
                        PrenomE varchar2(20)    ,
                        VilleE  varchar2(20)    ,
                        DateNaiss date ,
                        DateCour date default sysdate,
                        constraint pk_emp primary key (numss),
                        constraint limite_age check ((datecour-datenaiss)/365<=70),
                        constraint ville_emp check (lower(villee) in ('lille','paris','lyon','marseille'))
                        );


create  table Projet(
                        NumProj Number(3),
                        NomProj varchar2(20),
                        RespProj        number,
                        VilleP  varchar2(20),
                        Budget          number,
                        constraint pk_proj primary key (NumProj),
                        constraint fk_resp foreign key (RespProj) references Employe,
                        constraint ville_proj check (lower(villep) in ('lille','paris','lyon','marseille')),
                        constraint limite_budget check (budget<1000000)
                    );

create table Grille_sal(
                        profil  varchar2(20),
                        salaire number(7,2),
                        constraint pk_sal primary key (profil),
                        constraint sal_max check (salaire<90000)
                     );
                     
                     
create table Embauche(
                        NumSS   number ,
                        NumProj number ,
                        DateEmb date default sysdate,
                        Profil  varchar2(20),
                        constraint pk_emb primary key (numss,numproj),
                        constraint fk_emb_emp foreign key (numss) references employe,
                        constraint fk_emb_proj foreign key (numproj) references projet,
                        constraint fk_emb_sal foreign key (profil) references grille_sal
                     );

SET LINESIZE 150
SET COLSEP |
COLUMN NUMSS FORMAT 999999
COLUMN NOME FORMAT A20
COLUMN PRENOME FORMAT A20
COLUMN VILLEE FORMAT A20

COLUMN NUMPROJ FORMAT 9999
COLUMN NOMPROJ FORMAT A20
COLUMN RESPPROJ FORMAT 999999
COLUMN VILLEP FORMAT A20
COLUMN BUDGET FORMAT 99999999

COLUMN DATEEMB FORMAT A15
COLUMN PROFIL FORMAT A20

COLUMN SALAIRE FORMAT 9999999999

Insertions des données

Copier les instructions suivantes dans un fichier appelé TME10-insertions.sql. Exécuter ces instructions depuis votre emacs en tapant: @TME10-insertions.

insert into Employe (NumSS, NomE, PrenomE, VilleE, DateNaiss)
Select * from (
       select   22334, 'Adam', 'Funk', 'Paris', '1-12-1982'             from dual union all
       select   45566, 'Rachid', 'Allaoui', 'Lyon', '13-4-1986'         from dual union all
       select   77889, 'Florent', 'Girac' , 'Marseille', '4-11-1990'    from dual union all
       select   90011, 'Mayla', 'Aoun', 'Lyon', '26-3-1987'             from dual union all
       select   22233, 'Christine', 'Lara', 'Paris', '9-8-1982'         from dual union all
       select   34445, 'Amel', 'Orlando', 'Lyon', '14-2-1976'           from dual union all
       select   55666, 'Mohsen', 'Charef', 'Paris', '28-5-1991'         from dual union all
       select   77788, 'Tim', 'Arabi', 'Marseille', '8-6-1984'          from dual union all
       select   89990, 'Fernando', 'Lopez', 'Lyon', '5-10-1993'         from dual union all
       select   11122, 'Ada','Tan Lee', 'Marseille', '21-3-1994'        from dual union all
       select   11123, 'Franck', 'Morel', 'Lille', '10/01/1945'         From dual
);


insert into Projet values (123, 'ADOOP', 22334, 'Paris', 120000);
insert into Projet values (757, 'SKALA', 45566, 'Lyon', 180000);
insert into Projet values (890, 'BAJA', 22334, 'Paris', 24000);


insert into grille_sal values ('Admin', 80000);
insert into grille_sal values ('Deve', 45000);
insert into grille_sal values ('Tech', 35000);

insert into Embauche values (77889, 123, '1-3-2014','Deve');
insert into Embauche values (90011, 123, '1-5-2014','Tech');
insert into Embauche values (22233, 757, '1-3-2014','Deve');

prompt Table EMPLOYE:
select * from EMPLOYE;

prompt Table PROJET:
select * FROM PROJET;

prompt Table EMBAUCHE:
select * FROM EMBAUCHE;

prompt Table GRILLE_SAL:
select * FROM GRILLE_SAL;

SET SERVEROUTPUT ON

Une représentation graphique du schéma pour la BD JO_v2 jo_v2.png

Faculutatif

Pour ceux qui voudraient installer un système “léger” pour interroger les données, utiliser le SGBD H2 dont voici la documentation : SGBD H2

Les schémas et les instances de bases données utilisées dans les TME se trouvent dans cette archive

Vous pouvez télécharger les données des BD utilisées en TME pour Oracle ou pour H2.

Semaine TME Base de données Données Oracle Données H2
5 SQL partie 1 Jeux Olympiques - V1 SQL SQL
6-8 SQL partie 3-4 Jeux Olympiques - V2 SQL SQL
6-8 SQL partie 3-4 Foofle SQL SQL

Divers

site/enseignement/licence/2i009/documents-tme/start.1490629859.txt.gz · Dernière modification: 27/03/2017 17:50 par amine