Ce TME se base sur le TD8 et vise à illustrer la modification des tables et l'interaction avec les contraintes d'intégrité. On utilise un schéma Entreprise similaire à celui vu en TD et rappelé ici.
Créez le schéma du Entreprise sous Oracle et associez aux tables les contraintes d'intégrité correspondantes.
Dans ce qui suit, il vous est demandé d'effectuer des insertions de n-uplets dans des tables.
INSERT INTO TABLE VALUES ('val1', 'val2', ....) ;
Par exemple, pour insérer une employée 'LARS Anna', qui habite 'Paris' et qui est née le 25- 08-1975, il suffit d'exécuter l'instruction ci-dessous
INSERT INTO employe VALUES('21456','LARS', 'Anna','paris', to_date('25-08- 1975'), sysdate);
et de constater que la système retourne bien le message
1 ligne(s) insérée(s)
DELETE FROM TABLE ;
Insérez dans chaque table au moins un n-uplet qui vérifie les contraintes d'intégrité. Vous avez la liberté de choisir les valeurs que vous voulez.
Proposez des insertions qui violent les contraintes d'intégrité définies pour chaque table. Par exemple, l'instruction ci-dessous:
INSERT INTO employe VALUES(NULL,'LARS', 'Anna','paris', to_date('25-08- 1975'), sysdate);
viole la contrainte de clé primaire de Employe car elle tente d'insérer un employé sans valeur pour l'attribut clé primaire Si vous tentez d'exécuter cette instruction, vous constaterez l'erreur
ERREUR à la ligne 1 : ORA-01400: impossible d'insérer NULL dans "EMPLOYE"."NUMSS"
On peut utiliser une syntaxe alternative pour les insertions en spécifiant les attributs dont on renseigne les valeurs comme indiqué ci-dessous
INSERT INTO employe (NumSS, NomE, PrenomE, villE, dateNaiss) VALUES ('LARS', 'Anna','paris', to_date('25-08-1975')) ;
Répondre aux questions suivantes :