Aller au contenu

Bases de données

Base de données

On étudie une base de données permettant la gestion de l’organisation d’un festival de musique de jazz, qui comporte trois relations : la relation Groupe, la relation Musicien et la relation Concert.

On admet que chaque Groupe (respectivement Muscien, Concert) se voit attribuer un identifiant unique lors de son inscription dans la base de donnée, celui-ci correspond à l'attribut idgrp (respectivement idmus, idconc).

img

    1. Quels sont les attributs de la relation Groupe ?

      Les attributs de la relation groupe sont idgrp, nom, style et nb​_pers.

    2. Donner sans justifier le schéma relationnel de la relation Groupe.

      Groupe(​idgrp Int, nom String, style String, nb​_pers Int)

    1. Justifier que l'attribut nom de la relation Musicien ne peut pas être utilisé comme clé primaire.

      Plusieurs musiciens différents peuvent avoir le même nom, ce qui viole la contrainte d'unicité d'un attribut choisit comme clé primaire.

    2. L'attribut idgrp de la relation Musicien peut-il être utilisé comme clé primaire pour cette relation ?

      Expliquer en français votre réponse, en l'appuyant sur les données présentes dans les tables de l'énoncé.

      L'attribut idgrp ne peut pas être choisi comme clé primaire, car des musiciens différents peuvent appartenir au même groupe. C'est le cas par exemple de Charlie Parker et de Candy Dufler.

    3. L'attribut idgrp de la relation Musicien est une clé étrangère qui fait référence à l'attribut idgrp de la relation Groupe.

      Expliquer pourquoi cela est possible et donner le schéma relationnel de la relation Musicien.

      C'est possible car idgrp est une clé primaire de la relation Groupe. Cet attribut peut donc être utilisé comme clé étrangère dans la relation Musicien. Le schéma relationnel est Musicien(​idmus Int, nom String, prenom String, instru String, #idgrp Int)

  1. On admet que le schéma relationnel de la relation Concert est

    Concert(​idconc Int, scene Int, heure​_debut String, heure​_fin String, #idgrp Int)

    où idgrp est clé étrangère faisant référence à l'attribut idgrp de la relation Groupe.

    1. Quels sont les musiciens qui font partie d'un groupe de quatre personnes ou plus ?

      Les groupes concernés sont les groupes d'identifant 12, 25, 87. Charlie Parker et Davis Miles appartiennent à ces groupes.

    2. Quels sont les groupes qui jouent sur la scène 1 ?

      Il s'agit des groupes qui ont pour identifiant 12 et 96, soit Weather Report et The Jazz Messenger.

    1. Expliquer l'effet de l'ordre SQL suivant.

      1
      2
      DELETE FROM Musicien
      WHERE instru = 'trompette' ;
      

      Il supprime tous les trompettistes de la relation Musicien

    2. Le code suivant produit-il une erreur ? Justifier.

      1
      2
      DELETE FROM Groupe
      WHERE nom = 'The Jazz Messenger' ;
      

      Ce code produit une erreur car il y a des musiciens qui ont comme attribut idgrp 96. Une suppression de cet enregistrement dans la table Groupe violerait la contrainte de référence de l'attribut idgrp de la table Musicien (choisi comme clé étrangère) : on obtiendrait des données incohérentes (Candy Dufler ne serait plus associée à aucun groupe).