vendredi 3 octobre 2014

Exercice SGBD1 (Modélisation) + Corrigé

Exercice 1 :

Pour Organiser un Karaoké, une association veut créer une base de données qui lui permetrra d'enregistrer le contenu de tous les DVD dont elle dispose. Les organisateurs veulent ensuite éditer la liste de tous les chanteurs, de tous les titres et le sommaire de chaque DVD.

a) Dessinez le modèle entité-association correspondant.
b) A partir du diagramme entité-association que vous aurez construit, Ecrivez les requêtes SQL permettant de créer cette base de données.

Corrigè :

a) Modèle E-A de la base de données :


diagramme d'entité

b) Requêtes SQL permettant de créer la base de données :

                create table DVD (idDVD int auto_increment primary key,
                                              titre varchar(80));

                create table Chanteurs (idChanteur int auto_increment primary key,
                                                      nom varchar(80));

                create table Chansons (idChanson int auto_increment primary key,
                                                     titre varchar(80),
                idChanteur int foreign key references Chanteurs (idChanteur));
                

                create table Comporte (idDVD int foreign key references DVD(idDVD),
                idChanson int foreign key references Chansons (idChanson));

Pour Tester la base de données crées, voici en bonus quelques données :

insert into DVD values(null, "A la poursuite d'Octobre Rouge");
insert into DVD values(null, "Thriller");
insert into DVD values(null, "Casino_Royale");

insert into Chanteurs values(null,'Basil Poledouris');
insert into Chanteurs values(null,'Michael Jackson');
insert into Chanteurs values(null,'David Arnold');

insert into Chansons values(null,'Hymn To Red October',1);
insert into Chansons values(null,'Nuclear Scam',1);
insert into Chansons values(null,'Thriller',2);
insert into Chansons values(null,"The Name's Bond... James Bond",3);
insert into Chansons values(null,'African Rundown',3);
insert into Chansons values(null,'The End Of An Aston Martin',3);

insert into Comporte values(1,1);
insert into Comporte values(1,2);
insert into Comporte values(2,3);
insert into Comporte values(3,4);
insert into Comporte values(3,5);
insert into Comporte values(3,6);


Exercice 2 :

Une entreprise aimerait mettre en place un système informatique pour gérer efficacement l'un de ses secteurs d'activité : une chaîne d'hôtels situés dans diverses grandes villes. Elle compte sur vous, analyste-concepteur de bases de données pour traduire les règles de gestion suivantes dans un modèle entité-association que vous transforemerez ensuite en un schéma de base de données relationnelle.
- Chaque Hotel a plusieurs employés, dont un/e directeur/trice unique.
- Chaque Employe est affecté à un seul hôtel.
- Chaque Hotel possède plusieurs Chambres et une chambre appartient toujours à un hôtel.
- Les hôtes n'offrent que deux catègories de chambres mutuellement exclusives, à savoir :

  • SIMPLE : Attributs spécifique : le  type-de-salle-de-bain  (valeurs possibles : "douche" ou "bain") 
  • Double : Attributs spécifique : le type-de-lit (valeurs possibles : "double" ou "jumeau").
Les attributs communs aux deux catégories sont : le numéro et la description de la chambre.

- Chaque employé peut (ou non) être appelé à effectuer des services (nettoyage, inspection du mini bar, réparation ,....) dans les chambres et chaque chambre est " Servie " de nombreuses fois durant l'année. Les attributs spécifiques pour chaque service sont le type, la date et un commentaire.
- Sur une année, chaque chambre est réservée par au moins un CLIENT enregistré dans la base de données. Par contre, un client peut soit ne rien réserver, soit réserver une ou plusieurs chambres. De plus, chaque réservation doit offrir les informations supplémentaires suivantes : la date-de-réservation, la date-d-arrivée, la durée et le type-de-séjour (valeurs possibles : "basic", "demi-pension", "pension complète").

Le modèle entité-association est représenté de manière incomplète par un diagramme dans la figure de la page suivante.


  1. Complétez ce diagramme entité-association. N'oubliez pas d'y indiquer, conformément au formalisme étudié durant le cours :
  • Le type (1, c, m ou mc) de chaque association,
  • Les propriétés de chaque structure "EST UN"  ('IS A') ou "MEMBRE DE" ('PART OF') éventuellement présente dans le diagramme.          
     2.  A partir du diagramme entité-association que vous venez de construire, complétez le schéma de           base de données realationnelle de la page suivante en y ajoutant un nombre minimum de tables           selon les règles de passage du diagramme entité-association au schéma relationnel.

- Chaque attribut défini comme clé primaire doit être souligné et en gras
- Pour chaque clé étrangère, il faut déclarer la contrainte d'intégrité référentielle sous la forme :

FOREIGN KEY ( nom_clé_étrangère ) REFERENCES nom_table ( nom_clé_primaire )


Corrigè :
entité-association


Entité d'association









0 commentaires:

Enregistrer un commentaire