Messages les plus consultés

vendredi 23 novembre 2012

SGBD 1 : Exercice sur les Vues


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

1 commentaire:

  1. Use MAster
    Create 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

    RépondreSupprimer