Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:licence:2i009:tme8_h2

Ceci est une ancienne révision du document !


TME 8: création de schémas – contraintes d'intégrité

version pour H2

Exercice 1

Créez le schéma Entreprise du TD sous H2 et associez aux tables les contraintes d'intégrité correspondantes.

  • EMPLOYE(NumSS, NomE, PrenomE, VilleE, DateNaiss)
  • PROJET (NumProj, NomProj, RespProj*, VilleP, Budget)
  • EMBAUCHE (NumSS*, NumProj*, DateEmb, Profil*)
  • GRILLE_SAL (Profil, salaire)

Exercice 2

On considère le schéma relationnel suivant d’une application d’écoute de musique sur Internet de type Deezer :

  • ALBUM(albumId, albumTitre, parution, genre, label)
  • PISTE(pisteId, albumId, pisteTitre, interId, compId, durée)
  • ARTISTE(artistId, nom, typeArtiste)
  • COMPTE(email, tempsEcoute)
  • ABONNÉ(email)
  • PLAYLIST(email, pisteId, albumId, durée)
  • AVIS(email, pisteId, albumId, score)

Chaque album (table ALBUM) est identifié par un identifiant (albumId) et on stocke le titre (albumTitre), l’année de parution, le genre et le label. Il y a exactement trois genres (“jazz”, “classique”, “rock”) et deux labels (“Sony”, “Universal”) possibles.

Les pistes de chaque album (table PISTE) sont identifiées par le numéro de piste (pisteId) et l’identifiant de l’album. On stocke le titre de la piste (pisteTitre), l’identifiant de l’interprète (interId), l’identifiant du compositeur (compId) et la durée en secondes.

Les artistes sont stockés dans la table ARTISTE qui contient l’identifiant (artistId) et le nom de l’artiste (“Bob Dylan”, “Coldplay”, …). On distingue entre trois types d'artistes ('compositeurs', 'interprêtes', 'interprêtes-compositeurs')

Tous les comptes utilisateurs (table COMPTE) sont identifiés par leur email et on stocke leur temps d'écoute global. Les comptes avec un abonnement sont identifiés dans la table ABONNE. 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).

Définissez le schéma H2 avec contrainte de clé (PRIMARY KEY et UNIQUE), contrainte référentielle (FOREIGN KEY), contrainte de domaine (valeurs possibles des attributs, NOT NULL) et contrainte de tuple (condition liant les valeurs des différents attributs pour tous les n-uplets de la table).

site/enseignement/licence/2i009/tme8_h2.1586963932.txt.gz · Dernière modification: 15/04/2020 17:18 par amann