Académique Documents
Professionnel Documents
Culture Documents
TD1 - Rappel Relationnel PDF
TD1 - Rappel Relationnel PDF
Département d’informatique
TD 1 : Requêtes SQL(Rappels)
Exercice 1 : CINEMA
L’attribut REALISATEUR de la relation FILM est l’identifiant d’une PERSONNE. Il en est de même pour les
attributs NUMA et AGENT de la relation ACTEUR.
1. Donner la définition du schéma relationnel (exprimer les contraintes nécessaires sur les clés primaires,
les références étrangères)
2. Définir les droits d’accès suivants sur la table FILM :
- droit de MAJ pour l’utilisateur « User1 » de l’attribut budget.
-droit de consultation pour tous les utilisateurs.
3. Retrouver la liste de tous les films
4. Retrouver la liste des films dont la longueur dépasse 180 min.
5. Donner la liste de tous les genres de film.
6. Donner le nombre de films par genre.
7. Trouver le/les titre(s) et l’/les année (s) du/des film(s) le(s) plus long(s).
8. Donner le nom et le prénom des réalisateurs qui ont joué dans au moins un de leurs propres films
9. Quel est le total des salaires des acteurs du film “JOKER”.
10. Pour chaque film de « Steven Spielberg » (titre, année), donner le total des salaires des acteurs
Soit la base de données intitulée «Gestion_Projet» permettant de gérer les projets relatifs au développement de
logiciels. Elle est décrite par la représentation textuelle simplifiée suivante :
1/4
7. Les numéros de projets dans lesquelles tous les développeurs y participent dans sa réalisation ;
Exercice 3 : Fabrication
Soit le schéma relationnel de la base
CLIENT (noc, nom, adresse)
SERVICE (nos, intitule, localisation)
PIECE (nop, designation, couleur, poids)
COMMANDE (#nop, #nos, #noc, quantite)
Formuler en SQL :
1. Donner pour chaque service le poids de la pièce commandée de couleur bleue la plus pesante.
2. Donner le poids moyen des pièces commandées pour chacun des services “Promotion”.
3. Donner les pièces de couleur bleue qui sont commandées par plus de trois services différents.
4. Donner le maximum parmi les totaux des quantités des pièces commandées par les différents services.
N.Lahiani 2/4
A la découverte des Triggers
La table ABONNE contient une liste des clients abonnes et, pour chacun, la remise à laquelle
il a droit. La table STOCK contient l'état du stock pour chaque produit (attribut, quantité) et
la limite inférieure à partir de laquelle le magasin doit commander ce produit. La table TICKET contient la
somme partielle que le client qui est en train de passer à la caisse devra payer. Cette ligne est mise à jour au fur
et à mesure que les achats du client passe en caisse.
1. Ecrire un trigger qui met à jour la table STOCK au fur et à mesure des achats d'un client.
2. Ecrire un trigger pour que des que la remise d'un client abonne atteint 1000 dinars, celle-ci soit débitée
automatiquement de la table ticket et sa valeur remise a 100.
3. Ecrire un trigger qui met à jour la table TICKET.
Questions :
1. Rédiger le trigger permettant de vérifier la contrainte suivante : le prix de la place de parking d’un appartement
peut et doit être NULL si l’appartement ne possède pas de place de parking. Tester le bon fonctionnement de
votre trigger.
N.Lahiani 3/4
2. On souhaite que la contrainte suivante soit vérifiée : la superficie totale d’un appartement doit être égale à la
somme de la superficie de chacune de ses pièces. Pour ce faire, créer le trigger qui permet de mettre à jour la
superficie d’un appartement à l’insertion d’une pièce.
4. En vous inspirant du trigger de la question 2, rédiger celui qui permet de mettre à jour la superficie d’un
appartement à la mise à jour d’une pièce. Rédiger également le trigger qui met à jour la superficie d’un
appartement à la suppression d’une pièce.
Rappel :
1-Permission
Trigger invalidé
RAISE_APPLICATION_ERROR (error_number, error_text) Error_number : -20001 à -20999
ROLLBACK annule la transaction en cours et toutes les modifications effectuées lors de cette transaction.
NB :NEW permet de manipuler en lecture/écriture la ligne nouvellement insérée ou modifiée, OLD permet de
manipuler la ligne avant modification ou suppression
N.Lahiani 4/4