TP N°3+correction : LDD (langage de définition des données)
Exercice :
1. On désire créer une base de données nommée Vente dont le schéma relationnel
est le suivant :
CLIENTS (numC, nomC, prenomC, adresseC,Credit)
SALARIE (numS, nomS, prenomS, adresseS, dateNaissS)
VOITURE (numV, marqueV, modeleV, #numC)
REPARATION (numR, dateArriveeR, #numV)
REPARER (#numS, #numR, nbHeuresTravail)
2. Exécuter les commandes pour la création des tables et des contraintes sur les
clés étrangères (Respecter la syntaxe de chaque commande)
3. Afficher la description de tables créées.
Desc clients ;
Desc salarie ;
Desc voiture ;
Desc reparation ;
Des reparer ;
4. Modifier la structure de la table voiture afin de rajouter la contrainte (ce_numc)
relative à la clé étrangère numC. S’assurer que cette clé étrangère possède la
propriété "NOT NULL".
Alter table voiture modify numC Not null ;
5. Modifier la structure de la table Reparation afin de rajouter la contrainte
(ce_numV) relative à la clé étrangère numV. S’assurer que cette clé étrangère
possède la propriété "NOTNULL".
Alter table reparation modify numV not null ;
6. Pour des besoins de suivi des clients d’autres informations s’avèrent utiles.
Modifier la structure de la table Client en rajoutant les attributs suivants:
Alter table clients add CA number(10,3) ;
Alter table clients add CredMax number(10,3) ;
7. Modifier l’attribut adresseC de la table Client afin d’avoir une longueur égale à
50.
Alter table client modify adresseC varchar(50) ;
8. Ajouter une contrainte (ck_Cred) à la table Client afin d’assurer un contrôle lors
1
de l’introduction des données de l’attribut Credit telque (Credit <= CredMax).
Alter table client add constraint ck_cred check (credit<=crediMax) ;
9. Ajouter les contraintes : ck_HT à l’attribut, nbHeuresTravail de la table
REPARER pour que la valeur introduite soit positives (>0).
Alter table reparer add constraint ck_ht check (nbHeuresTravail >0) ;