Exercice Langage SQL : Une Médiathèque

Enoncé de l'Exercice

On considère le schéma relationnel suivant qui modélise une application sur la gestion de livres et de disques dans une Médiathèque :

                 Disque (CodeOuv, Titre, Style, Pays, Année, Producteur)

                 E_Disque (CodeOuv, NumEx, DateAchat, Etat)

                 Livre (CodeOuv, Titre, Editeur, Collection)

                 E_Livre (CodeOuv, NumEx, DateAchat, Etat)

                 Auteurs (CodeOuv, Identité)

                 Abonne (NumAbo, Nom, Prénom, Rue, Ville, CodeP, Téléphone)

                 Prêt (CodeOuv, NumEx, DisqueOuLivre, NumAbo, DatePret)

                 Personnel (NumEmp, Nom, Prénom, Adresse, Fonction, Salaire)

Travail à Faire :

Traduisez en SQL les questions suivantes :

      1) Quel est le contenu de la relation Livre ?

      2) Quels sont les titres des romans édités par Gava-Editor ?

      3) Quelle est la liste des titres que l’on retrouve à la fois comme titre de disque et titre de livre ?

      4) Quelle est l’identité des auteurs qui ont fait des disques et écrit des livres ?

      5) Quels sont les différents style de disques proposés ?

      6) Quel est le salaire annuel des membres du personnel gagnant plus de 20000 euros en ordonnant le résultat par salaire descendant et nom croissant ?

123456789101112131415161718192021222324252627282930-- 1) Quel est le contenu de la relation Livre ? SELECT * FROM Livre -- 2) Quels sont les titres des romans édités par Gava-Editor ? SELECT Titre FROM Livre WHERE Editeur="Droit-Edition"AND Genre="Polar" -- 3) Quelle est la liste des titres que l’on retrouve à la fois comme titre de disque et titre de livre ? SELECT D.Titre FROM Disque D, Livre L WHERE D.Titre=L.Titre -- 4) Quelle est l’identité des auteurs qui ont fait des disques et écrit des livres ? SELECT A1.Identité FROM Disque D, Livre L, Auteur A1,Auteur A2WHERE D.CodeOuv = A1.CodeOuvAND L.CodeOuv=A2.CodeOuv AND A1.Identité=A2.Identité -- 5) Quels sont les différents style de disques proposés ? SELECT DISTINCT Style FROM Disque -- 6) Quel est le salaire annuel des membres du personnel gagnant plus de 20000 euros en ordonnant le résultat par salaire descendant et nom croissant ? SELECT Nom, Prénom, Salaire*12 AS Salaire_AnnuelFROM Personnel WHERE Salaire_Annuel>20000 ORDER BY Salaire DESC, Nom ASC
Article publié le 14 Décembre 2011