Salut !
J'ai des relations et je dois effectuer des requêtes en SQL, autant que débutante je sais pas si je les réussi donc je vous poste ma solution pour me la corrigé, voila les relations:soit le schéma relationnel suivant :
film(titre,nomréalisateur,durée,nationalité,nbacteur)
séance(nomsalle,titre,heurdeb,version)
joue(nomacteur,titre)
produit(nomproducteur,titre)
vu(nomspéctateur,titre)
1- définir une vue qui donne, pour chaque acteur, le nombre de ses films
=> ma solution :
create view AF(nomacteur,nbf)
as select nomacteur, count(titre)
from joue
group by nomacteur;
2-on veut connaitre les salles dont la durée moyenne diffusée est la plus petite. Créer une vue et l'utiliser pour répondre à cette requête.
=> ma solution
create view SDM(nomsalle,dm)
as select nomsalle, AVG(durée)
from séance
where titre IN
select titre
from film
where durée= select AVG(durée)
from film
group by nomsalle;
utilisation:
select nomsalle
from SDM
where dm= select MIN(dm)
from SDM;
3- on veut connaitre les producteurs qui ont produit le plus grand nombre de films. Créer une vue et l'utiliser pour répondre a cette requête.
=> ma solution
create view PGF(nomproducteur,nbf)
as select nomproducteur,count(titre)
from produit
group by nomproducteur;
utilisation:
select nomproducteur
from PGF
where nbf= select MAX(nbf)
from PGF;
4- on veut connaitre les films vus par le plus grand nombre de spectateur. Créer une vue et l'utiliser pour répondre à cette requête.
=> ma solution :
create view FVS(titre,nbs)
as select titre,count(nomspectateur)
from vu
group by titre;
utilisation:
select titre from FVS
where nbs= select MAX(nbs)
from FVS;
5- définir une contrainte d'intégrité associé à l'insertion d'un nouvel acteur dans la base de données.
=>
create trigger nv_act
after insert on
update film
set nbacteur=nbacteur+1
where titre=new.titre;
aide an requête SQL
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.