nsoit le schémas relationnel
suivant
•Stagiaire (idStg, nom, prenom, Groupe)
•Matiere (idMat, Libelle, Coeff)
•Note (IdStg, IdMat, Note)
1)Créer la base
de donnée avec un jeu de test
2)Créer une vue
V2 qui affiche la moyenne des notes par idstg et idmat
3)Afficher la
moyenne général par stagiaire (en utilisant la vue V2)
4)Créer la vue
V4 qui affiche la liste stagiaire du Groupe A, avec test.
5)Modifier les
noms en majuscule dans la vue V4
6)Ajouter un
stagiaire du groupe B dans la vue V4
7)Modifier la
vue V4 avec l’option with chek option (et refaire Q6)
Correction :
https://sites.google.com/site/tdi2ofppt/module-sgbd-1/sgbd-1-exercice-sur-les-vues
Correction :
https://sites.google.com/site/tdi2ofppt/module-sgbd-1/sgbd-1-exercice-sur-les-vues
Use MAster
RépondreSupprimerCreate database Geststg
use Geststg
-----------------------------Création des tables-------------------------
create table stg(idstg int primary key,nom varchar(50),prenom varchar(50),groupe varchar(50))
create table matiere(idmat int primary key,libelle varchar(50),coeff float)
create table _note(idstg int foreign key references stg(idstg), idmat int foreign key references matiere(idmat ),note float)
-----------------------------Jeux de test------------
insert into stg values(1,'morchid','youssef','A')
insert into stg values(2,'hamza','saif','B')
insert into stg values(4,'Ali','Ali','B')
insert into stg values(3,'rachad','Abdelhadi','C')
select*from stg
---
insert into matiere values(1,'francais',4)
insert into matiere values(2,'réseau',3)
insert into matiere values(3,'arabe',2)
select*from matiere
-----------
insert into note values(1,1,15)
insert into note values(1,2,18)
insert into note values(3,1,15)
select * from note
--------------------------------
--(Q2)--
alter view V2 as
select idstg,idmat,AVG(note) as 'Moy' from note
group by idstg,idmat
select * from V2
--(Q3)--
select stg.idstg,matiere.idmat,Sum(note*coeff)/Sum(Coeff) as 'moyenne G'
from stg ,matiere, V2
where stg.idstg=V2.idstg and matiere.idmat=V2.idmat
group by stg.idstg
--(Q4)--
alter view V4 as
select * from stg where groupe like 'A'
select*from V4
--(Q5)--
update V4 set nom=upper(nom),prenom=upper(prenom)
select * from V4
--(Q6)--
Insert Into V4 values (6,'rachad','Abdelhadi','B')
--(Q7)--
alter view V4 as
select * from stg where groupe='A'
with check option
Insert Into V4 values (7,'rachad','Abdelhadi','B')
select * from V4