Atelier SGBD : PL/SQL
Script de création de la BD des UE
--Drop Table Parcours Cascade Constraints ;
Create Table Parcours
(
Spec Varchar (3),
Niv Number (1),
NbreEtdP Number (4) Default 0,
Constraint Pk_Parc Primary Key (Spec, Niv)
);
insert into parcours (SPEC, NIV) values ('DSI', 2);
insert into parcours (SPEC, NIV) values ('INF', 1);
insert into parcours (SPEC, NIV) values ('SEM', 2);
--Drop Table UniteEnseig Cascade Constraints ;
Create Table UniteEnseig
(CodUE Number (2) Primary Key,
LibUE Varchar (30 ) Unique,
Spec Varchar (3),
Niv Number (1),
NbreMod Number (2),
Constraint Fk_UEP Foreign Key (Spec, Niv) References Parcours) ;
insert into UniteEnseig (CodUE, LibUE, SPEC, NIV) values (10, 'Bases de Données', 'DSI', 2);
insert into UniteEnseig values (20, 'Programmation Orientée Objet', 'DSI', 2, Null);
--Drop Table Module Cascade Constraints;
Create Table Module
(CodMod Number (3),
CodUE Number (2) References UniteEnseig,
LibMod Varchar (30) Unique,
Constraint Pk_Mod Primary Key (CodMod, CodUE)) ;
insert into Module values (1, 10, 'Bases de Données');
insert into Module values (2, 10, 'Atelier Bases de Données');
insert into Module values (1, 20, 'Programmation Objet');
insert into Module values (2, 20,'Atelier Programmation Objet');
update UniteEnseig UE
set NbreMod = (Select Count(*) from Module Where CodUE=[Link]);
--Drop Table Etudiant Cascade Constraints;
Create Table Etudiant
Sameh CHAÂBANE & Sonia LOULOU Page 1 sur 2
Atelier SGBD : PL/SQL
(MatEtd Number (5) Primary Key,
NomPrenEtd Varchar (30),
Spec Varchar (3),
Niv Number (1),
Constraint Fk_Etdp Foreign Key (Spec, Niv) References Parcours) ;
insert into Etudiant values (12026, 'Mohamed Tounsi', 'DSI', 2);
insert into Etudiant values (22026, 'Ahmed Soussi', 'DSI', 2);
insert into Etudiant values (32026,'Amal Gabsi', 'SEM', 2);
update Parcours P
set NbreEtdP= (Select Count(*) from Etudiant where Spec=[Link] and Niv=[Link]);
--Drop Table InscriptionUE;
Create Table InscriptionUE
(MatEtd Number (5) References Etudiant (MatEtd),
CodUE Number (2) References UniteEnseig (CodUE),
EtatUE Char (1) Check (EtatUE In ('C', 'V')),
NbreModS Number (2) Default 0,
Constraint Pk_Ins Primary Key (MatEtd, CodUE));
Insert into InscriptionUE (MatEtd, CodUE, EtatUE) values (12026, 10, 'C');
Insert into InscriptionUE (MatEtd, CodUE, EtatUE) values (12026, 20, 'C');
Insert into InscriptionUE (MatEtd, CodUE, EtatUE) values (22026, 10,'C');
Insert into InscriptionUE (MatEtd, CodUE, EtatUE) values (22026, 20,'C');
--Drop Table ResultatMod;
Create Table Resultatmod
(CodMod Number (3),
CodUE Number (2),
MatEtd Number (5) References Etudiant (MatEtd),
Moymod Number(4,2),
Constraint Pk_Res Primary Key (CodMod, CodUE, MatEtd),
Constraint Fk_Res Foreign Key (CodMod, CodUE) References Module) ;
Insert into ResultatMod values (1,10,12026,12);
Insert into ResultatMod values(1,10,22026,10);
Insert into ResultatMod values(2,10,12026,10);
Insert into ResultatMod values(2,10,22026,9);
update InscriptionUE UE
set NbreModS=(select count(*) from ResultatMod where CodUE=[Link] and
MatEtd=[Link]);
Sameh CHAÂBANE & Sonia LOULOU Page 2 sur 2