Partage
  • Partager sur Facebook
  • Partager sur Twitter

aide an requête SQL

    6 décembre 2011 à 19:36:52

    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;
    
    • Partager sur Facebook
    • Partager sur Twitter

    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.
    • Editeur
    • Markdown