November 23, 2024, at 09:17 AM | Hala Skaf-Molli / Main / TPTriggers |
|
TPTriggersUniversité Henri Poincaré Nancy 1 2004-2005 TD : Contraintes d’intégrité et triggersHala Skaf-MolliCréation de tables avec contraintes d’intégrité Nous allons uniquement nous intéresser aux prêts d’œuvres littéraires. Pour cela, nous allons créer les tables correspondant aux relations suivantes : oeuvre(code_œuvre, titre, date_par) exemplaire(code_œuvre, numero_ex, date_achat) adherent(adh_id, nom_adh, adr_adh, date_adh, date_cotis) prêt(code_œuvre, numero_ex, adh_id, date_prêt, date_rendu) Créez les tables en incluant les contraintes de clés et de dépendances référentielles. Les attributs apparaissant en gras dans le schéma relationnel doivent avoir une valeur non nulle. Vérifiez de plus que la date de rendu d’un exemplaire est supérieure à la date d’emprunt. La date de parution d’une œuvre sera de type entier (seule l’année sera indiquée), toutes les autres dates étant de type date. Enfin, la contrainte référentielle sur la clé étrangère (code_œuvre, numero_ex) de la table pret doit être nommée ("ctr_pret_oeuvrex"). Insertion de tuples Effectuez les insertions suivantes. Parmi ces insertions, certaines ne peuvent pas être satisfaites et un message d’erreur doit être généré. Expliquez pourquoi. insert into oeuvre values ('zol001', 'Au bonheur des dames', 1883) insert into oeuvre values ('zol001', 'Germinal', 1885) insert into oeuvre values ('zol002', 'Germinal', 1885) insert into oeuvre values ('pen001', 'La fee carabine', NULL) insert into exemplaire values ('zol003', 1, NULL) insert into exemplaire values ('pen001', 1, NULL) insert into exemplaire values ('pen001', 2, NULL) insert into adherent values (1, 'Antoinette', '1, rue du Chateau de Versailles', '16-oct-98', '16-oct-98') insert into adherent values (2, 'Seize', '1, rue du Chateau de Versailles', '21-jan-93', '21-jan-93') insert into pret values ('pen001', 1, 1, '26-feb-2001', NULL) insert into pret values ('pen001', 2, 1, '26-feb-2000', '26-mar-2000') insert into pret values ('zol001', 1, 2, '26-feb-2001', NULL) insert into pret values ('pen001', 1, 2, '26-mar-2000', '26-fev-2000') Suppression d'une contrainte Supprimez la contrainte ctr_pret_oeuvrex en utilisant la commande alter table. Essayez à nouveau l'insertion ("zol001", 1, 2, "2001-02-26", NULL ) dans la table pret. Cette insertion doit maintenant fonctionner si la contrainte d'intégrité a bien été supprimée. Triggers
|
Validate the XHTML and CSS of this page. | Page last modified on March 26, 2007, at 04:20 PM | Edit History Print Recent Changes |
Powered by PmWiki |