site:enseignement:licence:2i009:tme8_oracle
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| site:enseignement:licence:2i009:tme8_oracle [15/04/2020 16:28] – créée amann | site:enseignement:licence:2i009:tme8_oracle [15/04/2020 17:47] (Version actuelle) – amann | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== TME 8: création de schémas – contraintes d' | + | ====== TME 8: création de schémas – contraintes d' |
| - | v<fc #ff0000>ersion | + | <fc #ff0000>version |
| + | |||
| + | ===== Exercice 1 ===== | ||
| + | |||
| + | Créez le schéma Entreprise du TD sous H2 et associez aux tables les contraintes d' | ||
| - | Ce TME se base sur le TD8 et vise à illustrer la modification des tables et l' | ||
| * **EMPLOYE**(__NumSS__, | * **EMPLOYE**(__NumSS__, | ||
| Ligne 10: | Ligne 13: | ||
| * **GRILLE_SAL** (__Profil__, | * **GRILLE_SAL** (__Profil__, | ||
| - | ===== Exercice 1 ===== | ||
| - | Créez le schéma du Entreprise sous Oracle et associez aux tables les contraintes d' | ||
| - | Dans ce qui suit, il vous est demandé d' | + | ===== Exercice 2 ===== |
| - | ==== Syntaxe pour l' | + | |
| - | <code sql> | + | |
| - | Par exemple, pour insérer une employée 'LARS Anna', qui habite ' | + | On considère |
| - | 08-1975, il suffit | + | |
| - | <code sql> | + | |
| - | et de constater que la système retourne bien le message | + | * ALBUM(albumId, |
| - | <code bash>1 ligne(s) insérée(s)</ | + | * PISTE(pisteId, |
| + | * ARTISTE(artistId, | ||
| + | * COMPTE(email, | ||
| + | * ABONNÉ(email) | ||
| + | * PLAYLIST(email, | ||
| + | * AVIS(email, pisteId, albumId, score) | ||
| + | |||
| + | |||
| + | Chaque album (table ALBUM) est identifié par un identifiant (albumId) | ||
| + | |||
| + | Les artistes sont stockés dans la table ARTISTE qui contient l’identifiant (artistId) et le nom de l’artiste (32 charactères max). On distingue entre trois types d' | ||
| + | |||
| + | Les pistes de chaque album (table PISTE) sont identifiées par le numéro de piste (pisteId) et l’identifiant de l’al bum. On stocke le titre de la piste (obligatoire), | ||
| + | |||
| + | |||
| + | Tous les comptes utilisateurs (table COMPTE) sont identifiés | ||
| + | par leur email (32 charactères max) et on stocke leur temps d' | ||
| + | Tous les utilisateurs peuvent écouter des chansons et donner un avis (score optionnel entre -5 et 5). Uniquement les abonnées peuvent maintenir une playlist (table PLAYLIST). | ||
| + | |||
| + | Question | ||
| + | de la table). | ||
| + | |||
| + | Question 2: Est-ce qu'il est possible qu'un compositeur d'une piste (table PISTE) soit un interprête dans la table ARTISTE ? Si oui, comment faudrait-il modifier le schéma pour éviter cette incohérence. | ||
| - | ==== Syntaxe pour la suppression ==== | ||
| - | <code sql> | ||
| - | ===== Exercice 2 ===== | ||
| - | Insérez dans chaque table au moins un n-uplet qui vérifie les contraintes d' | ||
| - | ===== Exercice 3 ===== | ||
| - | Proposez des insertions qui violent les contraintes d' | ||
| - | Par exemple, l' | ||
| - | <code sql> | ||
| - | viole la contrainte de clé primaire de Employe car elle tente d' | ||
| - | Si vous tentez d' | ||
| - | <code bash> | ||
| - | ORA-01400: impossible d' | ||
| - | On peut utiliser une syntaxe alternative pour les insertions en spécifiant les attributs dont on renseigne les valeurs comme indiqué ci-dessous | ||
| - | <code sql> | ||
| - | Répondre aux questions suivantes : | ||
| - | - Proposer une insertion dans la table Employé qui ne respecte pas la contrainte de clé primaire. | ||
| - | - Proposer une insertion dans la table Employé qui ne respecte pas la contrainte de limite d' | ||
| - | - Proposer une insertion dans la table Employé qui ne respecte pas la contrainte de longueur de l' | ||
| - | - Proposer une insertion dans la table Employé qui ne respecte pas la contrainte sur les villes possibles. | ||
| - | - Insérer dans la table Employé deux employés avec le même nom et le même prénom. | ||
| - | - Proposer une insertion dans la table Grille_SAL qui ne respecte pas la contrainte C8. | ||
| - | - Proposer une insertion dans la table Projet qui ne respecte pas la contrainte référentielle vers Employe : insérer un responsable de projet qui n'est pas dans la table Employé | ||
| - | - Proposer une insertion dans la table Embauche qui ne respecte pas une des contraintes référentielles : par exemple, associer un employé existant à un projet qui n' | ||
site/enseignement/licence/2i009/tme8_oracle.1586960902.txt.gz · Dernière modification : de amann
