• Aucun résultat trouvé

TD 5- ORACLE Avancé

N/A
N/A
Protected

Academic year: 2022

Partager "TD 5- ORACLE Avancé"

Copied!
3
0
0

Texte intégral

(1)

07/01/2007 1 Richard CHBEIR, Florent BARTH

TD 5- ORACLE Avancé

Ce TD vous permet d’utiliser le dictionnaire de Données (Metabase), de manipuler les transactions, et d’utiliser le langage SQL3 sous Oracle.

1. Consultation du dictionnaire de données et gestion des vues

1. Créer la vue MES_TABLES permettant d’afficher le nom des tables dont vous êtes propriétaire.

2. Vérifier le contenu de la vue.

3. Lister toutes les contraintes d’intégrité (nom, la table à laquelle elle s’applique, et type) définies sur vos tables à l’aide de la vue système USER_CONSTRAINTS.

4. Donner la liste des clés étrangères et primaires déjà définies dans votre schéma.

5. Ajouter maintenant à votre schéma les contraintes suivantes : a. Les clés primaires et étrangères qui ne sont pas encore créées b. La ville du personnel ne doit pas dépasser les 28 caractères

c. La capacité dans la table AVION doit être positive et ne doit pas dépasser 900 d. Le salaire est toujours positif

e. L'heure de départ doit être avant l'heure d'arrivée

6. Vérifier vos contraintes en insérant de nouveaux tuples dans chaque table (puis en listant à nouveau toutes les contraintes d’intégrité des tables concernées comme à la question 3).

7. Supprimer la clé primaire de la table PERSONNEL. Que constatez-vous? Quelle est la modification à effectuer afin de résoudre le problème.

8. Insérer dans la table PERSONNEL tous les employés de la table EMP. Faites les modifications nécessaires afin de pouvoir les insérer convenablement.

9. Créer la vue VOLS (VOLNUM, PLNOM, AVNOM), associant à chaque numéro de vol le nom du personnel pilote et le nom de l’avion, à partir des tables PERSONNEL, AVION et VOL. Vérifier son contenu.

10. À travers la vue VOLS, modifier le nom du pilote du vol n° 4 en « Sinbad ». Que se passe-t-il ?

11. Insérer un tuple dans la vue VOLS. Que se passe-t-il ? 12. Supprimer la vue VOLS

Montrez le résultat à votre enseignant.

(2)

IUT Dijon – Département Informatique BDD-IQ

07/01/2007 2 Richard CHBEIR, Florent BARTH

2. Gestion des transactions

13. Sans quitter la première session (que nous appelons par la suite fenêtre A), ouvrir une nouvelle session SQL*Plus (que nous allons appeler B) en utilisant le même compte.

14. Depuis la fenêtre B, vider la table PERSONNEL. Vérifier depuis les deux fenêtres que la table est bien vidée.

15. Dans la première fenêtre A,

a. Insérer le personnel (1, CHBEIR, Richard, Dijon, 300000).

b. Créer un point de sauvegarde en utilisant : SAVEPOINT insertion_1 c. Insérer le personnel (2, BARTH, Florent, Paris, NULL).

d. Créer un point de sauvegarde en utilisant : SAVEPOINT insertion_2 e. Supprimer le personnel n° 1

f. Créer un point de sauvegarde en utilisant : SAVEPOINT suppression_1 16. Consulter la table depuis chaque fenêtre. Que constatez-vous ?

17. Annuler :

a. L’insertion du personnel n° 2 à l’aide de la commande : Rollback to savepoint nom_marqueur Consulter la table. Que se passe-t-il ?

b. L’insertion du personnel n°1. Vérifier la table

c. Le vidage de la table PERSONNEL. Que constatez-vous ? 18. Supprimer la table VOL à partir de la fenêtre A.

a. Vérifier le résultat dans B

b. Annuler la suppression dans B. Que constatez-vous ? c. Annuler la suppression dans A. Que constatez-vous ?

19. Créer un type COORDONNEE (Ville, CP, Tel, Fax, Email) à partir de la fenêtre A.

a. Vérifier le résultat dans B

b. Annuler la création dans A. Que constatez-vous ?

20. Recommencer les insertions des personnels depuis la fenêtre B, puis valider l’une des insertions à l’aide de la commande COMMIT. Consulter la table depuis chaque fenêtre. Valider dans l’autre fenêtre. Consulter la table depuis chaque fenêtre.

Conclusion ?

21. Dans chacune des deux fenêtres, insérer le personnel (3, NICOLLE, Christophe, Null, Null). Que se passe-t-il ?

22. Annuler l’insertion dans la fenêtre B. Que se produit-il dans la deuxième ? 23. Essayer de réinsérer le même personnel depuis la fenêtre B. Que se passe-t-il ?

24. Valider l’insertion dans la fenêtre A. Que se produit-il dans la fenêtre B? Valider votre insertion dans cette-ci.

25. Insérer le personnel (4, GUIDET, Alexandre, Lyon, 120000) depuis la fenêtre B et quitter SQL*Plus. Consulter la table depuis l’autre fenêtre. La dernière transaction a-t-elle été validée ? Conclusion ?

26. Dans la fenêtre B, modifier le salaire du personnel n°2 en 1958487

27. Dans la fenêtre A, modifier le salaire du personnel n°2 en 1958486. Que constatez- vous ? Faites une validation. Vérifier le contenu.

28. Faites la validation dans la fenêtre B. Vérifier le contenu

Appelez votre enseignant afin de lui faire une conclusion sur les différents points que vous avez compris.

(3)

IUT Dijon – Département Informatique BDD-IQ

07/01/2007 3 Richard CHBEIR, Florent BARTH

3. Utilisation du SQL3

29. Maintenant, vous allez modifier la structure de la table PERSONNEL afin d’intégrer le type COORDONNEE que vous avez créé dans la 2ème partie de ce TD à la place de la colonne VILLE.

30. Insérer les données suivantes dans la table PERSONNEL

Coordonnée

Num NOM PRENOM Salaire Ville CP Tel Fax

4 DUPUIS Yvonne 10000 Lyon 69000 0472546585

5 DUPOND Jean 2000 Paris 75000

6 CRINIERE Belle 300 Grenoble 38001

7 ZAPATTA Luc Paris 75120

8 BAL Lea Grenoble 38021

9 FINAL Henri 10000 Paris 75645

10 AUBERT Louis 200 Lyon 69100 0478556585

11 MAURI John 3000 Lyon 69321

31. Mettre à jour les données suivantes dans la table PERSONNEL

Coordonnée Num NOM PRENOM Salaire

Ville CP Tel Fax

1 CHBEIR Richard 300000 Dijon 21000

3 NICOLLE Christophe Dijon 21000 0398098989

2 BARTH Florent Cloison 21954

32. A l’aide des requêtes paramétrées…créer une requête qui vous permette de spécifier un age à une personne. A chaque exécution, la requête vous demande l’age et le nom du personnel.

RAPPEL : Requête paramétrée sous Oracle

SQL> SELECT * from Nom_Table WHERE nom_col = &Valeur

Où « &Valeur » est le paramètre qui sera saisie au moment de l’exécution de la requête.

33. Donner la liste de villes d’où provient le personnel

34. Donner le nombre de provenances différentes du personnel.

35. Liste des personnes venant de dijon.

36. Liste des personnes qui ont un numéro de tel.

37. Ajouter 10 à tous les salaires.

38. Ajouter un numéro de téléphone et un numéro de fax à CHBEIR et BARTH.

Montrez le résultat à votre enseignant.

Références

Documents relatifs

Le probl`eme de satisfaction de contraintes pond´er´e (WCSP) consiste, pour un r´eseau constitu´e de va- riables et de contraintes souples, `a trouver une affecta- tion de valeur

Pour identifier les motifs pertinents, nous allons dans un premier temps cr´ eer une forˆ et d’arbres de pr´ efixes ` a partir des diff´ erents tuples d’une contrainte table

Nous montrons cependant dans ce papier que deux ré- seaux P 1 et P 2 , obtenus à partir de deux séquences dif- férentes de décisions effectuées pendant la résolution d’un réseau

Q - 7 : Quelles sont les conséquences cinématiques de cet hyper- statisme pour la nature du contact entre rouleaux et bobine. Q - 8 : Proposer une modification simple du mécanisme

Dans la base de données, cette contrainte se transformerait par l’ajout d’un « CHECK » dans la table des matchs pour vérifier qu’une des 2 clés étrangères possède la valeur

Exemple: Dans une table ETUDIANT, la clé primaire peut être le champ.. «

Configuration en ligne (voir Table 4) La coh´ erence globale des domaines doit ˆ etre assur´ ee en amont de la configuration utilisateur, pour ne lui laisser comme choix

Dire avec Pierre Cadiot que les mots sont des accès, c’est pour moi avant tout dire qu’ils ne déterminent pas la nature de ce à quoi ils accèdent et que c’est pour