Bases de Données

Année 2002-2003

11 Février 2003

 

- durée 1 heure et 30 minutes -

 

Les documents ne sont pas autorisés.

Les exercices sont indépendants.

L’ordre des questions ne détermine pas la difficulté.

 

Exercice 1 : Questions de cours (4 points)

1.      Donnez la définition d’une clé primaire.

2.      Donnez la définition d’une clé étrangère.

3.      Pourquoi normalise-t-on les relations avant de créer la Bases de Données ?

 

Exercice 2 : Requêtes (11 points)

Le schéma relationnel suivant représente la gestion simplifiée de magasins de vente de CD. Les clés primaires sont soulignées, les clés étrangères sont suivies d’un dièse (#).

 

CD( NumCD, NomAlbum, Durée, Distributeur, NumAuteurParole#, NumAuteurMusic# )

Auteur( NumAuteur, Prénom, Nom, Nationalité )

Magasin( NumMag, NomMag, Adresse, Téléphone, NomResponsable )

CDDansMagasin( NumCD#, NumMagasin#, NbCDDispo, PrixVente )

 

A – Ecrivez les requêtes suivantes en algèbre relationnelle puis en SQL (2 réponses par question)

1.      Donnez la liste des auteurs Français.

2.      Donnez la liste des personnes (description totale) étant auteurs de paroles et de musiques.

3.      Donnez la liste des magasins vendant des CD dont l’un des auteurs est étranger.

 

B – Ecrivez les requêtes suivantes en SQL uniquement

4.      Donnez le nom des auteurs qui sont aussi responsables de magasin.

5.      Donnez le nom des magasins dont le responsable est aussi un des auteurs des CD vendus dans ce même magasin.

6.      Donnez la liste des CD vendus dans les magasins regroupés par magasin.

7.      Donnez la liste des magasins ayant le plus grand stock de CD.

 

Exercice 3 : Modification du schéma de la base de données (5 points)

La totalité d’un CD n’est pas obligatoirement réalisé par un seul auteur, chaque morceau peut avoir des auteurs différents. Comment modifieriez-vous le schéma de la base pour tenir compte de cet état de fait ?

Vous vérifierez que le schéma obtenu est bien en BCNF.

 

Rappel de cours :

·        Une relation est en 1 NF, si tous ses attributs sont atomiques (mono-valués).

·        Une relation est en 2 NF si et seulement si elle est en 1 NF et que tout attribut n’appartenant pas à la clef primaire est en DF totale avec la clef primaire.

·        Une relation est en 3 NF si et seulement si elle est en 2 NF et qu’elle ne contient pas de DF Transitive entre attributs non-clef.

·        Une relation est en BCNF si et seulement si elle est en 2 NF et que toute source de DF est une clef primaire minimale.