Ceci est une ancienne révision du document !
Table des matières
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
- Charger la base de données JO_v1 en exécutant
@jo_v1
- Vérifier que votre base contient les deux tables Athlete et Rangepreuve en exécutant
@liste
A partir du TME 5
- Effacer la base de données JO_v1 en exécutant
@vider
- 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
tme8.tar (au lieu de tme10.tar)
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
Facultatif
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.
Divers
- Le site du SGBD H2 est http://www.h2database.com/
- Retour vers l'accueil de l'UE 2I009
