Université Louis Pasteur
Mardi 24 avril 2007

 

Travaux Pratiques de
Systèmes d'Information et Bases de Données
(sujet n°3)


Création de tables et contraintes d'intégrité


    Les TP utilisent le SGBD Oracle installé sur les machines turing et master-info. Afin d'utiliser Oracle, vous devez au préalable positionner les variables d’environnement ORACLE_SID et TWO_TASK à la valeur « ROSA » : pour cela, tapez les commandes export TWO_TASK=ROSA et export ORACLE_SID=ROSA dans une fenêtre terminal. Connectez-vous à Oracle via la commande « sqlplus » et identifiez-vous (login et mot de passe identique à votre login).


Table ETUDIANT

1. Créer une table ETUDIANT avec les champs net, nom et age.
2. Insérer des lignes qui peuvent être :

  • complètes dans l'ordre de définition des champs.
  • complètes, mais où les champs sont dans un ordre différent que dans celui de la définition de la table.
  • incomplètes i.e. certains champs sont inconnus.

  • 3. Modifier et supprimer des lignes.

    4. Modifier la table ETUDIANT en ajoutant la contrainte d'intégrité age>=18 et insérer des lignes pour vérifier que cette contrainte est bien prise en compte.

    5. Modifier la table ETUDIANT en ajoutant le champ adresse et insérer des lignes.


    Table COUT


    1. Créer une table COUT avec les champs age et tarif et les deux contraintes :

  • le champ age est la clé de la relation
  • le champ tarif a pour seules valeurs autorisées 1, 2 ou 3.

  • 2. Insérer des lignes et vérifier la prise en compte des contraintes.

    3. Modifier la table ETUDIANT en ajoutant la contrainte référentielle :

    4. Insérer des lignes dans la table ETUDIANT pour tester la contrainte référentielle.

    5. Modifier ou supprimer dans la table COUT une ligne référencée dans la table ETUDIANT
    .



    Table INSCRIPTION

    1. Créer une table INSCRIPTION avec les champs net et diplome.

  • le champ net (n° d'étudiant) est la clé de la relation et fait référence à la clé dans la relation ETUDIANT

  • 2. Insérer des lignes et tester la contrainte référentielle.

    3. Supprimer une ligne de la relation ETUDIANT qui est référencée dans la table INSCRIPTION. La suppression a-t-elle lieu ?

    4. Ajouter l'option ON DELETE CASCADE dans la contrainte référentielle et tester à nouveau la suppression de lignes.