Exos2011 PDF
Exos2011 PDF
Exos2011 PDF
DE B ASES DE D ONNEES
1. MODELE ENTITE/ASSOCIATION
11
3. CALCUL RELATIONNEL
17
4. S.Q.L.
19
5. DEPENDANCES FONCTIONNELLES
22
24
Edit par :
TALEL ABDESSALEM
Septembre 2011
REMERCIEMENTS :
Nous tenons remercier F. Bancilhon, C.Delobel, M-O. Cordier, A. Doucet, S. Ganarski, MC. Heydemann, G. Jomier, M. Manouvrier, E. Quesne, M.Picard, D. Teulat, et J. Ullman qui
retrouveront certaines de leurs propositions dans ces exercices.
1. Modle Entit/Association
Exercice 1.1 : "Speedo Finn"
Les organisateurs de la clbre course au large Speedo Finn voudraient crer une base de donnes
permettant de retrouver toutes les informations relatives l'organisation de la course et sa scurit et
aussi rpondre l'insatiable curiosit des badauds.
La course se droule en plusieurs preuves sanctionnes chacune par un classement. Chaque preuve
dbute et se termine dans un port, le port d'arrive pouvant tre diffrent du port de dpart, cependant
il n'y a jamais plus d'une preuve par jour. Chaque bateau est financ par un ou plusieurs sponsors et
arm d'un quipage compos d'un skipper et d'quipiers. Le skipper d'un bateau ne peut changer d'une
preuve l'autre de la course, mais cette contrainte ne touche pas les quipiers, qui en revanche ne
changent pas de bateau au cours d'une preuve.
La base de donnes doit permettre de rpondre, parmi d'autres, aux questions suivantes:
Quel est l'auteur (ou quels sont les auteurs) d'une uvre musicale ?
Quel est le rle d'un musicien dans une uvre donne lors d'un concert ?
-5-
Quels sont les horaires des avions Paris-Caracas (horaire hebdomadaire), etc.
Le personnel de la compagnie AIRIX est identifi par un numro (NUMEMP) et dcrit par son nom
(NOM), son prnom (PRENOM), son adresse (ADRESSE), son numro de tlphone
(NTELEPHONE) et son salaire mensuel (SALAIRE).
Parmi les membres du personnel, on distingue les pilotes afin d'indiquer les brevets qu'ils possdent,
diffrents renseignements professionnels et de prciser les avions qu'ils peuvent piloter avec ces
brevets.
Chaque appareil possd par AIRIX est dot d'un numro de srie (NUMSER) propre la compagnie
Pour chaque appareil on connat aussi l'avionneur et le numro de modle (ces deux informations
constituent ce que l'on appelle l'avion: ex BOEING 747).
Les passagers sont reprs par leur nom (PNOM), leur adresse (PADRESSE) et leur numro de
tlphone (PTELEPHONE). On connat aussi les dparts (DEPARTURE) sur lesquels on les a
enregistrs (BOOKED-ON).
Un dpart est un vol une certaine date (DATE).
Chaque vol fait l'objet d'au moins un dpart.
Les vols sont reprs par un numro (NUMVOL), une origine (SOURCE) et une destination (DEST)
et diffrentes villes intermdiaires (chaque couple de villes relies dfinit un tronon). Pour chaque
ville desservie on connat l'heure d'arrive (ARR-TIME) et l'heure de dpart (DEP-TIME) du vol
considr.
Les avions qui peuvent tre affects un vol sont connus.
Pour chaque tronon correspondant un dpart - un pilote doit obligatoirement avoir t dsign - un
appareil doit obligatoirement avoir t affect.
On dduira de la modlisation entit-association le schma relationnel de la base de donnes. Pour
simplifier, dans une premire tape de l'exercice, on supposera que chaque vol n'a qu'une tape. On
compltera ensuite en supposant qu'un vol peut avoir plusieurs tapes et que passagers et quipage
peuvent changer en cours de voyage.
-6-
la quantit totale d'un produit doit tre soit disponible en stock, soit attendue par le dpt en
provenance d'une usine une date antrieure la date limite fixe par le client (on doit
connatre l'origine exacte du produit au moment de la prise de commande) .
lorsqu'une commande peut tre livre, c'est--dire lorsque tous les produits sont
effectivement en stock, elle change de statut et devient livrable. Une date de livraison est
alors choisie (elle doit tre antrieure la date limite).
Etude : On veut construire une base de donnes relationnelle afin de grer la socit W et ses
commandes. Pour cela on demande:
1. d'tablir le modle Entit-Association correspondant.
2. d'en dduire un schma relationnel
leurs gots. Une personne peut tre passionne par un ou plusieurs domaines: peinture,
opra, jazz, littrature, plonge sous-marine, rafting ...
les liens entre personnes, du type: mariage, concubinage, parent-enfant etc. et les inimitis.
Ma base contient aussi des informations sur les menus servis aux invits. Pour cela j'ai dfini un
ensemble de plats pris comme rfrence dans un catalogue. Pour chaque plat, je connais son nom et sa
nature: entre, viande, poisson, gibier, fromage, dessert ... A un repas on sert des vins. Un vin est
caractris par un nom (de terroir ou de cpage), un millsime, une rgion et un type (blanc sec, blanc
liquoreux, gris, rouge, ros ...). Les noms de terroir ou de cpage sont extraits d'un catalogue pour
avoir une liste de rfrence.
Dpartement Informatique et Rseaux
-7-
Enfin je dispose dans ma base de donnes d'informations sur les affinits entre les vins et les plats. Par
exemple je veux enregistrer des faits comme avec du crottin de Chavignole le Sancerre blanc est
parfait, ou un Bourgogne aligot convient tout fait au saumon fum ou encore des phrases plus
gnrales comme un blanc sec d'Alsace accompagne trs bien un munster.
Proposez un modle Entit-Association de cette application. Dduisez-en le schma de la base de
donnes relationnelle correspondante.
Identifier un client, le joindre par tlphone ou par courier, savoir les rservations quil a
effectues.
Dcrire une excursion par un nom et un libell (attractif), son point de dpart, le lieu but de
lexcursion, une rfrence un descriptif dtaill, sa dure (une demi-journe ou une journe), son
prix, ses dates, ...
Connatre tous les lments de chaque voyage : date, excursion, vhicule affect, chauffeur,
htesse, clients ayant rserv,...
Note : de fait il existe le systme SUROIT de la RATP, mais il en fait beaucoup plus...
Dpartement Informatique et Rseaux
-8-
-9-
Dans cet hpital, des malades viennent pour une consultation ou pour une hospitalisation. Chaque
malade a un nom, un prnom, une adresse, un numro de tlphone et une mutuelle. Il est suivi par un
ou plusieurs mdecins. S'il est hospitalis, on doit connatre son numro de lit (relatif la salle) et le
diagnostic le concernant.
-10-
2.
B(r) - B(s)
3.
B=b (r)
4.
Exercice 2.2 :
Soit les deux relations suivantes :
r
Cours
Math
Math
Latin
Physique
avec
Etudiant
Toto
Lulu
Toto
Toto
s
Note
A
B
C
A
Cours
Math
Physique
Latin
Prof
Martin
Dupond
Durand
s ))
Exercice 2.3 :
Exprimez les oprateurs de jointure, de -jointure et de division l'aide des 5 oprateurs de l'algbre
relationnelle que vous rappellerez.
Exercice 2.4 :
Soit S une suite d'oprations de mise jour sur une relation r . Dans le cadre particulier d'un langage
relationnel, le rsultat peut-il dpendre de l'ordre dans lequel ces oprations sont effectues s'il s'agit
d'une suite :
d'ajouts,
de suppressions,
d'ajouts et de suppressions,
d'ajouts et de modifications,
de modifications uniquement ?
-11-
Exercice 2.5 :
Une base de donnes de schma R(A,B,D) et Q(A,B) contient les n-uplet suivants :
A
a1
r
B
b1
q
D
d1
A
a1
B
b1
a1
a1
a2
a3
a2
a2
a1
b1
b2
b2
b1
b2
b2
b1
d2
d1
d1
d2
d2
d3
d4
a2
b2
Quels sont les nuplets de j = D (r q) o la jointure est naturelle, c'est--dire qu'elle porte sur
tous les attributs de mme nom dans les deux relations ? Caractrisez en franais les n-uplets de j
par rapport ceux de r et de q.
Quels sont les n-uplets de u = r q ? Caractrisez en franais les n-uplets de u par rapport ceux
de r et de q.
Exercice 2.6 :
Soit
Les quivalences1 suivantes sont-elles vraies dans tous les cas ? Sinon dans quels cas sont-elles
vraies?
a) E1
E2
E2
E1
(Jointure naturelle)
b) E1
F E2
E2
F E1
(-jointure)
o F est un prdicat sur les attributs de E1 et E2
c) (E1 E2)
E3
E 1 (E 2
E3 )
e) F1 ( F2 (E))
F1 F2 (E)
F ( A1,...,An (E))
f) A1,...,An ( F (E))
g) F (E1 - E2)
F (E1) - F (E2)
Quel peut tre l'intrt de trouver ainsi des quivalences entre expressions relationnelles ?
1 Deux expressions relationnelles sont dites quivalentes lorsqu'elles produisent le mme rsultat, indpendamment de l'ordre
des attributs.
-12-
Exercice 2.7 :
Soit la base de donnes relationnelle de schma :
R1(Parent, Enfant), R2(Personne, Age, Sexe), R3(Enfant, Ecole)
o Parent, Enfant et Personne sont des attributs de mme domaine.
Exprimer, quand c'est possible, en algbre relationnelle les requtes suivantes. En cas de besoin on
renommera des attributs et/ou les relations:
1
2
3
4
5
6
7
8
9
10
Exercice 2.8 :
Une association dispose d'un certain nombre de centres sportifs o ses adhrents peuvent s'inscrire en
vue de la pratique de sports. Pour la gestion de ses installations elle dispose d'une base de donnes de
schma S1 :
Pratique(Personne, Sport), qu'on abrgera en R1(P, S),
Est_Membre(Personne,Centre_Sportif) abrg en R2(P, T),
Propose(Centre_Sportif, Sport) abrg en R3(T, S).
Exprimez les requtes suivantes en algbre relationnelle :
1
2
3
4
5
6
7
Exercice 2.9 :
L'association sportive prsente l'exercice prcdent hsite sur le choix du schma de sa base de
donnes. Vaut-il mieux choisir S1 propos dans l'exercice prcdent ou bien prfrer une base dont le
schma S2 est rduit une relation R (P, S, T). Un nuplet de R indique le nom d'une Personne qui
pratique un Sport dans un Centre Sportif.
1
Quelles diffrences voyez-vous entre les deux schmas du point de vue de la smantique des
informations qu'on peut mmoriser dans la base ?
2 Quelles informations peut-on mmoriser dans une base et qu'on ne pourrait pas mmoriser dans
l'autre? Donnez des exemples pour chacun des deux cas.
Dpartement Informatique et Rseaux
-13-
Exercice 2.10 :
Soit le schma de la base de donnes de l'"Officiel des spectacles" suivant :
SALLE (NOM, HORAIRE, TITRE)
FILM (TITRE, REALISATEUR, ACTEUR)
PRODUIT (PRODUCTEUR, TITRE)
VU (SPECTATEUR, TITRE)
AIME (AMATEUR, TITRE)
o les attributs prennent leurs valeurs dans les domaines suivants:
NOM noms de salles
HORAIRE heures
TITRE titres de films
REALISATEUR, ACTEUR, PRODUCTEUR, SPECTATEUR, AMATEUR noms de personnes
Ecrire les requtes suivantes en algbre relationnelle :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Exercice 2.11 :
Soit la base de donnes relationnelle dont le schma contient les relations A-Lu(Personne, Livre), AEcrit(Personne, Livre), A-Publi(Personne, Livre) o les attributs Personne et Livre sont des
identifiants. Exprimez en algbre relationnelle les requtes suivantes :
1
2
3
Quelles personnes ont publi tous les livres quelles ont crits ?
Quels auteurs ont crit des livres lus par plus de deux lecteurs ?
Quelles personnes ont lus tous les livres de Jules Vernes ?
Exercice 2.12 :
Le CRIF, Club de Randonne d'Ile de France, a constitu une base de donnes relationnelle
rcapitulant ses activits et servant leur gestion. On y trouve entre autres les relations suivantes :
AFait (Randonneur, Randonne, Type) o Type dsigne le moyen de randonne utilis : marche, vlo,
VTT, moto, cano...
Dpartement Informatique et Rseaux
-14-
Descriptif (Randonne, Type, Dure, Difficult) o Dure est donne en heures et Difficult est une
cote numrique adapte chaque type de randonne. Les attributs Randonneur et Randonne sont des
identifiants.
Exprimez, quand c'est possible, en algbre relationnelle les requtes suivantes, en justifiant
soigneusement chacune de vos rponses (et ventuellement les diffrents lments qui la composent) :
1
2
3
4
5
Quelles sont les randonnes en vlo de plus de 6 heures faites par Louison ?
Qui a fait les randonnes "Vaux de Cernay" et "Vaux le Vicomte" ?
Combien Jules a t'il fait de randonnes de Difficult 3 en cano ?
Qui a fait toutes les randonnes qu'a faites Jim ?
Qui a fait au moins une randonne faite par Paul et au moins une randonne que n'a pas faite
Virginie ?
Exercice 2.13 :
La Maison des Jeunes d'une rgion gre une base de donnes de groupes de musique et de musiciens
en vue de l'organisation de la Fte de la Musique. Parmi les relations de la base on trouve
Pratique (Musicien, Instrument), FaitPartie (Musicien, Groupe), Comprend (Groupe, Instrument)
dont la smantique est claire. Les attributs Musicien et Groupe sont des identifiants. Exprimez quand
c'est possible les requtes suivantes en algbre relationnelle en justifiant soigneusement votre
proposition:
1
2
3
4
5
6
Exercice 2.14 :
Le CRIF, Club de Randonne d'Ile de France, a constitu une base de donnes relationnelle
rcapitulant ses activits et servant sa gestion. On y trouve en autres les relations suivantes :
Afait (randonneur, Randonne, Type)
o Type dsigne le moyen de randonne utilis : marche, vlo, VTT, moto, cano.
Descriptif(Randonne,Type, Dure, Difficult
o Dure est donne en heures et Difficult est une cote numrique .adapt chaque type de
randonne.
Les attributs Randonneur et Randonne sont des identifiants.
Exprimer, quand cela est possible, en algbre relationnelle (arbres algbriques et expressions
algbriques) les requtes suivantes, en justifiant soigneusement chacune de vos rponses :
1
2
3
4
5
Quelles sont les randonnes en vlo de plus de 6 heures faites par Louison ?
Qui a fait les randonnes "Vaux de Cernay" et "Vaux le Vicomte" ?
Combien Jules a-t-il fait de randonnes de difficult 3 en cano ?
Qui a fait toutes les randonnes qu'a faites Jim ?
Qui a fait au moins une randonne faite par Paul et au moins une randonne que n'a pas faite
Virginie ?
Exercice 2.15 :
Soit le schma de base de donnes TENNIS :
Joueur (NuJoueur, Nom, Prnom, DateNaissance, Nationalit)
Rencontre (NuGagnatnt, NuPerdant, LieuTournoi, Anne, Score)
Dpartement Informatique et Rseaux
-15-
Quels sont les noms et dates de naissance des joueurs ayant particip Roland Garros en 1994 ?
Quels sont les noms et nationalits des joueurs sponsoriss par Peugeot et ayant gagn Roland
Garros au moins un match ?
Quels sont les noms des joueurs ayant particip en 1996 la fois au tournoi de Roland Garros et
celui de Wimbledon ?
Quels sont les noms des diffrents vainqueurs de Roland Garros ?
Quels sont les noms des joueurs ayant particip tous les tournois en 1994 ?
Quelle est la moyenne des primes gagnes par anne ?
Exprimer en franais la signification des questions algbriques suivantes sur la base de donnes
TENNIS :
Nom,Prnom
(Nationalit = "France"
(Joueur)
((
(
( ((
(
NuGagnant = NuJoueur
(Gain
Nom,Prnom
LieuTournoi = "W"
NuGagnant
(Rencontre)) )
NomSponsor = Nom
NuJoueur = NuGagnant
(Rencontre)
))
(Rencontre)))
LieuTournoi = "RG"
(Rencontre))
) - (
NuPerdant
( ( ( NuGagnant,NuPerdant,LieuTorunoi (Rencontre)
(Rencontre) )
NuJoueur = NuPerdant
NuPerdant
(Joueur)
LieuTournoi = RG"
LieuTorunoi
Exercice 2.16 :
Le guide culinaire Guy milie donne des informations sur les menus et fournisseurs des
restaurants. Parmi les relations de sa base de donnes on trouve Vend(Boucher, Viande, Prix),
Utilise(Cuisinier, Viande, Recette), Fournit(Boucher,Cuisinier) dont la smantique est claire :
Vend(Sanzos, Porc, 35) veut dire que le boucher Sanzos vend la viande de porc 35 francs le kilo,
Utilise(Gatsosse,Boeuf,Pot-au-Feu) veut dire que le cuisinier Gatsosse utilise de la viande de
boeuf pour prparer le pot-au-feu, et Fournit(Sanzos, Gatsosse) veut dire que le boucher Sanzos
fait partie des fournisseurs en viande du cuisinier Gatsosse.
Exprimez quand c'est possible les requtes suivantes en algbre relationnelle et en SQL, en justifiant
soigneusement votre proposition:
1
2
3
4
-16-
Quelle est le nom et le prix moyen de chaque type de viande vendu par les fournisseurs du
cuisinier Gatsosse ?
-17-
3. Calcul Relationnel
Exercice 3.1 :
Exprimer, en calcul variable n-uplet, les expressions de l'algbre relationnelle suivantes :
a. R
b. R - S
c. A1,A2 (R)
d. F (R)
Exercice 3.8 :
Soit le schma de la base de donnes de la scolarit d'une UFR pour l'anne en cours:
Description(Cours, Formation)
Inscription(Etudiant, Formation)
Rsultat(Cours, Etudiant, Note)
La relation Inscription prcise quelle formation est inscrit chaque tudiant, Description donne pour
chaque formation les cours qui la composent, et Rsultat indique pour chaque tudiant la note qu'il a
obtenue un cours. Il n'y a pas de valeur nulle. Un tudiant n'ayant pas de note un cours de sa
formation est rput ne pas avoir suivi ce cours et donc son nom ne figurera pas associ au nom de ce
cours dans la relation Rsultat. On pourra abrger les notations en remplaant le nom d'une relation ou
d'un attribut par son initiale.
1
Pour chacune des requtes suivantes, indiquez, quand c'est possible, son expression en algbre
relationnelle et en calcul relationnel variable n-uplet. Si l'expression d'une de ces requtes n'est
pas possible, dites pourquoi.
a)
b)
c)
d)
e)
f)
g)
Donnez en franais et en algbre relationnelle l'expression de la requte en calcul variables nuplet suivante:
{t.E I R(t) s R(s) (t.E =.s.E) (s.C = Math) (t.C = Anglais) (t.N < s.N)}
3
-18-
Exercice 3.10 :
Soit une base de donnes relationnelle de schma:
Rl(P, M1, M2, D, P1, G, P2) qui signifie que le Ministre M2 , membre du parti politique P2 est devenu,
la date D, titulaire du portefeuille P1 dans le G-ime gouvernement du Premier Ministre M1, le
Prsident de la Rpublique tant P.
R2(C1,A,P2,G2,T,P3), qui signifie que le candidat C1, soutenu par le parti P2, est prsent dans la
circonscription G2 au tour T de llection lgislative de lanne A et y a obtenu un pourcentage P3 des
voix. Pour simplifier on supposera quun candidat est lu un tour si P3 > 50.
1
-19-
4. S.Q.L.
Exercice 4.1 :
La base de donnes relationnelle dune banque a le schma suivant :
Succursale (NomSucc, Actif, VilleSucc)
Client (Nom_Client, Rue, Ville_Client)
Dpt (Nom_Succ, Numro_Compte, Nom_Client, Solde)
Emprunt (Nom_Succ, Numro_Emprunt, Nom_Client, Montant)
Ecrire, en SQL, les requtes suivantes :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Trouver les noms des succursales ayant des comptes client, avec et sans limination des doubles.
Noms des clients ayant un compte la succursale Rivoli.
Noms des clients ayant un compte la succursale Rivoli ou un emprunt la succursale Opra.
Noms des clients ayant un compte la succursale Rivoli et un emprunt la succursale Opra.
Trois solutions .
Noms des clients ayant un compte la succursale Rivoli mais pas d'emprunt. Trois solutions.
Noms des clients ayant un compte avec la ville o ils habitent. Mettre le rsultat dans la relation R.
Noms des clients ayant un compte Etoile avec la ville o ils habitent. Mettre le rsultat dans la
relation R.
Noms des clients ayant un compte dans la succursale o Pierre a un compte. Donnez au moins
deux solutions dont une avec des variables nuplet.
Trouvez les succursales qui ont un solde plus lev qu'une succursale d'Aurillac.
Trouvez les succursales qui ont un solde plus lev que toutes les succursales d'Aurillac.
Noms des clients ayant un compte dans toutes les succursales de Conflans-Sainte-Honorine.
Donnez la liste par ordre alphabtique des emprunteurs de la succursale d'Orsay.
Donner pour chaque succursale le solde moyen des comptes client.
Donner le solde moyen des comptes client pour les succursales ayant un solde moyen suprieur
5000.
Combien de clients habitent Paris ?
Combien de clients ayant un compte la succursale Bastille n'ont pas leur adresse dans la relation
Client ?
Insrer le nuplet (Paul, Victor Hugo, Paris) dans la relation Client.
Diminuer l'emprunt de tous les clients habitant Ajaccio de 5%.
Fermer le compte de Thomas.
Supprimer de Succursale toutes les succursales sans client.
Crer la relation VIP (Nom_Client, Numro_Compte).
Exercice 4.7 :
Soit la base de donnes relationnelle compose des relations suivantes:
Livre(Titre, Auteur, Editeur), Lecture (Titre, Genre, Lecteur)
o l'attribut Titre dsigne le titre d'un livre et n'est pas un identifiant (le mme titre peut tre utilis
pour plusieurs ouvrages d'auteurs diffrents), les attributs Auteur, Lecteur et Editeur ont pour domaine
l'ensemble des noms de personne et sont des identifiants. l'attribut Genre a pour domaine un ensemble
de genre de livre (roman, posie, nouvelle, mmoires, documentaire...)
Dpartement Informatique et Rseaux
-20-
Exprimez, quand c'est possible, en algbre relationnelle, calcul relationnel et SQL les requtes
suivantes, en justifiant soigneusement chacune de vos rponses (et ventuellement les diffrents
lments qui la composent) :
a)
Quels diteurs ont lu tous les livres qu'ils ont dits ?
b)
Quels auteurs ont t dits chez Dunod et chez Flammarion ?
c)
Quels diteurs lisent des romans de JMG le Clzio ?
d)
Quels diteurs lisent de la posie mais pas de roman ?
e)
Quels lecteurs ont lu tous les livres de Kundera ?
f) Quels auteurs sont leurs propres diteurs mais ont aussi dit des livres crits par d'autres ?
De manire maintenir l'intgrit de la base tout Titre figurant dans un nuplet de la relation
Lecture doit aussi figurer dans au moins un nuplet de la relation Livre L'intgrit peut donc tre
mise en cause par une modification de Titre dans un nuplet de Livre ou de Lecture, par une
suppression d'un nuplet de Livre ou par une insertion de nuplet dans Lecture. Ecrivez un
programme C/SQL capable de traiter les deux derniers cas (suppression et insertion) c'est--dire
qui interdit ces mises jour si elle ne respectent pas la contrainte.
Exercice 4.8 :
Soit le schma de la base de donnes CINEMA :
FILM (Num-F, Titre, anne, Dure, Budget, Ralisateur, Salaire-R)
GENERIQUE (Film, Acteur, Rle, Salaire)
PERSONNE (Num-P, Nom Prnom, Date-Nais, Sexe, Adresse, Tl.)
ACTEUR (Num-A, Agent, Spcialit, Taille, Poids)
CINEMA (Num-C, Nom, Adresse, Tlphone, Compagnie)
PROJECTION (Film, Cinma, Salle, Date-Deb, Date-Fin, Horaire, Prix)
SALLE (Cinma, Num-S, Taille-Ecran, Places)
RECOMPENSE (Num-R, Nom, Catgorie, Festival)
RECOMP-FILM (Film, Rcompense, Anne)
RECOMP-ACTEUR (Acteur, Rcompense, Anne)
Dans le schma, NumF, Num-P, Num-A, Num-C et Num-R sont des identifiants uniques (cls
primaires) pour respectivement : FILM, PERSONNE, ACTEUR, CINEMA, SALLE et RECOMPENSE.
Tout nom de relation utilis comme attribut est une cl trangre qui renvoie l'identifiant (cl
primaire) de la relation correspondante. Par exemple, dans GENERIQUE, Film correspond Num-F
de FILM et est dfini sur le mme domaine. Ralisateur dans FILM et Num-A dans ACTEUR sont
dfinis sur le mmes domaine que les Num-P.
Remarque : Lorsqu'un acteur reoit une rcompense, le film en reoit une indirectement. Le mme
numro de rcompense est insr la fois dans la relation RECOMP-ACTEUR et dans la relation
RECOMP-FILM. On a ainsi u lien entre la rcompense de l'acteur et le film pour lequel il l'a obtenue.
Exprimer les requtes suivantes en SQL :
1. Trouver le titre des films raliss par Roman Polanski.
2. Donner le nom des ralisateurs qui ont jou dans un de leurs films.
3. Donner le nom et le prnom des acteurs qui ont jou gavroche dans une des diffrentes versions de
Misrables avec la date correspondante.
4. Trouver le nom et le prnom des acteurs comiques qui ont jou dans un film de Grard Oury entre
1975 et 1985.
5. Donner le total des salaires des acteurs du film le Grand Bleu.
6. Donner la moyenne des salaires des acteurs par film, ainsi que le numro du film.
7. Lister les cinmas dont la taille moyenne d'cran est suprieure 40 mtres carrs.
8. Donner le titre des films qui ont reu au moins trois rcompenses;
9. Trouver les films qui ne passent dans aucun cinma de la compagnie FOX.
10. Lister les cinmas qui ont exclusivement pass des films prims.
Dpartement Informatique et Rseaux
-21-
11. Trouver le nom, le prnom, et le numro des acteurs qui ont jou dans tous les films de Lelouch,
s'il y en a.
12. Pour chaque film de Bergman, trouver le nom et le prnom de l'acteur qui a eu le plus gros salaire.
Exercice 4.9 :
Soit le schma de la base de donnes ARBRE GENEALOGIQUE :
PERSONNE ( NumPersonne, Nom, Prnom, NuPre, NuMre, Sexe)
UNION (NuMari,NuEpouse)
Exprimer les requtes suivantes en SQL :
1.
2.
3.
4.
5.
6.
Exercice 4.10 :
Soit une base de donnes touristique telle que :
STATION (NumSta, NomSta, Altitude, Rgion)
HOTEL ( NumHot, NomHot, NumStat, Catgorie)
CHAMBRE ( NumHot, NumCh, NbLits)
RESERVATION (NumCli,NumHot,NumCh,DateDeb,DateFin,NbPers)
CLIENT (NumCli, NomCli,AdrCli,TelCli)
1. Donner les noms des clients et le nombre de personnes correspondante pour les rservations de
l'htel Bellevue de Courchevel.
2. Pour chaque station de Haute-Savoie, donner le nombre de lits en catgorie trois toiles.
3. Pour chaque station de Haute-Savoie, donner le nombre de chambres rserves pour le 11/02/95.
4. Quels sont les noms des htels de catgorie deux toiles de Mribel qui sont complets la semaine
du 12/02/95 au 18/02/95 ?
5. Quelles sont les rgions dont toutes les stations sont plus de 1500m d'altitude ?
6. Quels sont les clients qui sont alls dans toutes les stations du Jura ?
Exercice 4.11 :
Reprendre l'exercice 2.16 et exprimer les requtes en SQL.
-22-
5. Dpendances Fonctionnelles
Exercice 5.1 : Soit le schma R (A,B,C,D,E) et la relation r. Quelles dpendances fonctionnelles satisfait r ?
r
A
a1
b1
c1
d1
e1
a1
b2
c2
d2
e1
a2
b1
c3
d3
e1
a2
b1
c4
d3
e1
a3
b2
c5
d1
e1
Attention: Constater des Dpendances Fonctionnelles satisfaites sur des nuplets de r ne prouve pas que
ces dpendances existent sur R.
Exercice 5.2 : Soit un univers U et X, Y, Z et W des sous-ensembles d'attributs de U. A t'on les implications logiques
suivantes ? Si oui, le montrer, si non donner un contre-exemple.
1.
2.
3.
4.
5.
6.
7.
8.
9.
{X Y; Z W }
{XY Z; Z X }
{X Y; Y Z }
{ X Y ; W Z } et W Y
{W Y, X Z}
{X Y} et Y Z
{X Y, X W, WY Z}
{XY Z, Y W}
{X Y, XY Z}
XZ YW
ZY
X YZ
XZ
WX Y
XZ
XZ
XW Z
XZ
Exercice 5.3 : Quelles dpendances peut-on trouver sur la base de donnes "Speedo Finn" ?
Exercice 5.4 :
Soit F = {AB C, B D, CD E, CE GH, G A).
?
A-t'on AB E ? BG C ? AB G
Exercice 5.5 : Donner les cls, en signalant les surcls, des schmas de relation suivants:
RI (cours, tudiant, note)
R2 (tudiant, examen, horaire)
R3 (n vol, date dpart, porte d'accs, heure dpart, destination)
R4 (cours, tudiant, note, heure, salle, professeur)
R5 (employ, directeur, salaire, service)
Exercice 5.6 :
L'union de deux cls est-elle une cl? L'intersection? Le montrer ou donner un contre-exemple.
Exercice 5.7 : Soit r et s des relations de schma R ayant K comme cl. Parmi les relations suivantes,
lesquelles ont K comme cl ? Montrez-le ou trouvez des contre-exemples.
a) r s
Dpartement Informatique et Rseaux
b) r s
c) r \ s d) K(r)
-23-
Exercice 5.8 :
Calculer F+ pour R (A,B,C) et F = {A B; B C). Cl ?
Exercice 5.9 :
1
G = {C EH, A BC}
F est-elle minimale ?
Exercice 5.10 :
Soit R (A,B,C,D) et F = {A B; B C),
1
Quelle est la cl de R ?
Exercice 5.11 :
Soit
U = (A,B,C,D,E,G)
et F= {ABC, C A, BC D , ACD B , D EG , BE C , CG BD , CE AG }
Mettre les dpendances F sous forme canonique (i.e. un seul attribut en partie droite).
Que peut-on dire des dpendances:
CE A
CG B
ACD B ?
Proposez un algorithme permettant d'tablir que Fl (resp. F2) est une couverture minimale de F.
Proposez un algorithme permettant d'tablir que deux familles de dpendances sont quivalentes.
Exercice 5.12 :
Soit la famille de dpendances fonctionnelles F suivante : A -> B, E -> G, ABD -> CG, CD -> EG.
Aprs avoir rappel la dfinition d'une famille de dpendances quivalente F et qui soit minimale
vous en proposerez une, soit G. Vous dtaillerez soigneusement les diffrentes tapes de votre
raisonnement, ainsi que le ou les algorithmes que vous utilisez. Vous montrerez l'quivalence et la
minimalit.
Exercice 5.13 :
Soit la relation R(A,B,C,D,E) et la famille de dpendances fonctionnelles F = {A->B, BC-> DE, E> G, AB -> C, E->G, A->G }. F est elle minimale ? Si non tablissez une famille F' quivalente F
et minimale. Vous dmontrerez comment vous passez de F F' en conservant chaque tape du calcul
l'quivalence. Puis vous montrerez que F' est minimale.
-24-
Exercice 6.2 :
Soit F = { AB C ; A B }
1
Montrer l'aide d'un exemple que : G = {A B ; B C} n'est pas une couverture minimale de F.
Exercice 6.3 :
1
Si ces relations ne sont pas en 3NF, les dcomposer en un ensemble de relations 3NF.
Exercice 6.4 :
Mme question, mais au lieu de la forme 3NF, on considrera la forme BCNF pour
1
-25-
Exercice 6.5 :
Dcomposition BCNF et SPI, puis dcomposition 3NF, SPI et SPD de :
Banque (Agence, Actif, Ville-Agence, Emprunt, Client, Montant)
Agence Actif
Agence Ville-Agence
n Emprunt Montant
n Emprunt Agence
Exercice 6.6 :
Soit :
R (Professeur, Certificat, Dpartement, ResponsableDpartement)
et les dpendances fonctionnelles :
Dpartement ResponsableDpartement
Professeur Dpartement
1
Trouver une dcomposition de ce schma en 3me forme normale, qui prserve les dpendances et
soit sans perte d'information.
Exercice 6.7 :
Soit R (A,B,C,D,E) un schma de relation et les dpendances fonctionnelles :
DE A et B C
1
Exercice 6.8 :
On considre la base de donnes d'une socit d'investissement succursales multiples dont les
attributs sont : Courtier, Agence, Ville de l'agence, Investisseur, Titre, Quantit du titre dtenue par
l'investisseur, Dividende du titre. Par la suite on dsignera les attributs par leur initiale et on notera par
R la relation R(C,A,V,I,T,Q,D).
Les dpendances fonctionnelles sont: { T D; I C; IT Q ; C A }.
1
On dcompose maintenant R en S1(T,D), S2(C,I), S3(I,T,Q), S4(C,A,V). Quelles sont les proprits
de cette dcomposition ? (prservation de l'information, des dpendances, normalit)
Trouvez une dcomposition de R en 3me forme normale sans perte d'information et prservant
les dpendances. Cette dcomposition est-elle en forme normale de Boyce-Codd ?
-26-
Exercice 6.9 :
On considre la base de donnes d'une compagnie de fret arien. Elle comporte les attributs I
(identificateur de l'avion), T (type de l'avion), V (identificateur du vol), F (fret transport par un avion
lors d'un vol), A (aroport), J (jour) et H (heure de dpart). On suppose qu'un vol est une suite
d'escales dans des aroports au cours desquelles l'avion prend en charge une seule cargaison qu'il livre
dans des aroports successifs. En dpit des dcalages horaires on supposera que la vitesse des avions
et les temps de dchargement sont tels qu'au cours d'une journe un avion dcolle au plus une fois par
heure. Par suite la base de donnes comporte les dpendances fonctionnelles suivantes:
F={I T; V I F; I J H A V}
1
Proposez une dcomposition sans perte d'information et sans perte de dpendance en 3me forme
normale ?
Exercice 6.10 :
Soit la relation R(I,J,K,L) et la famille de dpendances fonctionnelles:
F={JK L; J I; IK L} sur R.
1
Trouvez une couverture minimale de F. On tablira le rsultat l'aide des fermetures d'attributs.
On le montrera ensuite nouveau par les axiomes d'Amstrong.
En quelle forme normale est R et de quel type est chacune des dpendances ?
Exercice 6.11 :
Soit le schma R(A,B,G,D,E) avec la famille F de dpendances fonctionnelles:
{ DE A; B D; AG E; AGE D; BD A; ABD G }
1
La dcomposition du schma R en schmas AGDE, DE, BD, AGE est-elle sans perte
d'information?
Exercice 6.12 :
Soit un schma de relation R et deux ensembles de dpendances fonctionnelles F et G sur R. On
dfinit Sat(F) comme l'ensemble des extensions r de R qui satisfont F. Comparez les ensembles
suivants:
1
Sat(F G)
et Sat(F) Sat(G)
Sat(F G)
et Sat(F) Sat(G)
-27-
Exercice 6.13 :
Quel intrt voyez-vous la dfinition des formes normales de relation ?
Pourquoi la forme normale BCNF est-elle plus recherche que la troisime forme normale ? Illustrez
votre rponse par des exemples.
Exercice 6.14 :
Comment est caractrise une dcomposition sans perte dinformation (resp. de dpendance) ?
Illustrez par des exemples bien choisis lintrt de la dcomposition sans perte dinformation (resp. de
dpendance) et les inconvnients de la dcomposition avec perte dinformation (resp. de dpendance).
Exercice 6.15 :
Soit la relation R(A,B,C,D,E,G,H) et les dpendances fonctionnelles : AD -> G, B -> D, CDE -> A
1
2
3
4
5
6
Quelles sont les cls minimales de R ? Expliquez le raisonnement que vous faites.
R a t'elle des dpendances partielles ? transitives ? si oui dites lesquelles aprs avoir rappel les
dfinitions correspondantes.
En quelle forme normale est R ?
La dcomposition de R en R1(A,C,D,E) et R2(A,B,G,H) est elle "sans perte d'information". Vous
proposerez deux dmonstrations, dont une base sur un contre-exemple en cas de rponse
ngative.
Proposez une dcomposition BCNF et sans perte d'information de R. Est elle "sans perte de
dpendance"? Vous dtaillerez les diffrentes tapes de l'algorithme que vous utilisez pour faire
cette dcomposition.
Proposez une dcomposition 3NF, SPI et SPD de R, aprs avoir prsent l'algorithme de
dcomposition correspondant. Conclusion ?
Exercice 6.16 :
Soit la relation R(A,B,C,D,E) et la famille de dpendances fonctionnelles F = {AB -> C,
E-> AB }. On dcompose R en R1(A,B,D) et R2(C,E).
C-> DE,
Quelles sont les dpendances projetes sur R1 et sur R2 (dans chacun des 2 cas vous tablirez une
famille minimale de dpendances projetes) ? Vous distinguerez soigneusement les dpendances
issues de F et celles issues de F+ et non de F. Pour ces dernires vous montrerez de deux
manires diffrentes (axiomes d'Amstrong et fermetures de famille d'attributs) comment vous les
avez tablies.
Exercice 6.17 :
Soit la relation R(A,B,C,D,E,G,H) et la famille de dpendances fonctionnelles F = {AB->C, C->DE,
D-> AG, G->E}.
1
2
3
4
5
6
7
Rappelez comment on procde pour tablir les cls minimales d'une relation.
Etablissez les cls de R.
Rappelez les dfinitions des dpendances partielles et transitives et illustrez vos dfinitions par des
dpendances de F ou de F+ dont vous prciserez comment vous les avez tablies.
En quelle forme normale est R ? pourquoi ?
La dcomposition de R en R1(A,B,C) et R2(C,E,G,H) est elle sans perte d'information ? Selon
votre rponse proposez deux dmonstrations ou une dmonstration et un contre-exemple.
Rappelez la dfinition de la forme BCNF et l'algorithme de dcomposition sans perte
d'information d'un schma de relation en relations BCNF. Appliquez cet algorithme R.
Conclusion.
Rappelez la dfinition de la forme 3NF et l'algorithme de dcomposition sans perte d'information
et sans perte de dpendance d'un schma de relation en relations 3NF. Appliquez cet algorithme
R. En quelle forme normale sont les relations de la dcomposition ? Conclusion.
-28-
Exercice 6.18 :
Soit S le schma de base de donnes relationnelle suivant, sur lequel on a dfini un ensemble F de
dpendances fonctionnelles.
S = { R(A,B,C,D, E) }
F = { AB C , EC B , B E}
Quelles sont les cls minimales de R ? Montrez comment vous les obtenez
Quelles sont les dpendances projetes sur R1 et sur dans la dcomposition de S en un nouveau
schma S= { R1(C,D,E) , R2(A,B,C,E) } ? La dcomposition de S en S est-elle sans perte de
dpendances ?
La dcomposition de S en S est-elle sans perte dinformation ? Si oui prouvez le, si non montrez
un contre-exemple.
Exercice 6.19 :
Soit S le schma de base de donnes relationnelle suivant, sur lequel on a dfini un ensemble F de
dpendances fonctionnelles.
S = { R(A,B,C,D, E) }
F = { DE C , C B , B E}
Quelles sont les cls minimales de R ? Montrez comment vous les obtenez.
-29-