Exos2011 New01
Exos2011 New01
Exos2011 New01
DE BASES DE DONNEES
1. Modèle Entité/Association
Exercice 2.1 :
Soit deux relations r(A B C) et s(B C D) avec a ∈ dom(A) et b ∈ dom(B). Les
Exercice 2.2 :
Soit les deux relations suivantes :
r s
Exercice 2.4 :
Soit S une suite d'opérations de mise à jour sur une relation r . Dans le cadre particulier d'un langage
relationnel, le résultat peut-il dépendre de l'ordre dans lequel ces opérations sont effectuées s'il s'agit
d'une suite :
♦ d'ajouts,
♦ de suppressions,
♦ d'ajouts et de suppressions,
♦ d'ajouts et de modifications,
♦ de modifications uniquement ?
Illustrez vos réponses par des exemples.
Exercice 2.5 :
Une base de données de schéma R(A,B,D) et Q(A,B) contient les n-uplet suivants :
r q
A B D A B
a1 b1 d1 a1 b1
a1 b1 d2 a2 b2
a1 b2 d1
a2 b2 d1
a3 b1 d2
a2 b2 d2
a2 b2 d3
a1 b1 d4
1 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 même nom dans les deux relations ? Caractérisez en français les n-uplets de j
par rapport à ceux de r et de q.
2 Quels sont les n-uplets de u = r ÷ q ? Caractérisez en français les n-uplets de u par rapport à ceux
de r et de q.
3 Quels sont les n-uplets de r − ( u ∗ q) ? Donnez leurs caractérisation en français.
Exercice 2.6 :
Soit E1, E2, E3... des expressions relationnelles
A1, A2, A3..., B1, B2, B3 ... des attributs
1 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 prédicat sur les attributs de E1 et E2
Exercice 2.7 :
Soit la base de données relationnelle de schéma :
R1(Parent, Enfant), R2(Personne, Age, Sexe), R3(Enfant, Ecole)
où Parent, Enfant et Personne sont des attributs de même domaine.
Exprimer, quand c'est possible, en algèbre relationnelle les requêtes suivantes. En cas de besoin on
renommera des attributs et/ou les relations:
1 Quels sont les enfants de Pierre ?
2 Quels âges ont les enfants de Marie ?
3 Combien Paul a-t-il de filles ?
4 Quel est l'âge moyen des personnes répertoriées dans la base ?
5 Qui sont les grands parents de Jacques ?
6 Quels parents n'ont que des garçons ?
1 Deux expressions relationnelles sont dites équivalentes lorsqu'elles produisent le même résultat, indépendamment
de l'ordre des attributs.
7 Quels couples de parents ont au moins deux enfants ?
8 Liste des parents et des écoles de leurs enfants.
9 Liste des parents qui ont au moins un enfant dans chacune des écoles présentes dans la base.
10 Quels sont les oncles de Tristan ? On prendra le terme oncle dans son acception la plus
stricte:
frère du père ou de la mère.
11 Qui n'a pas d'enfant scolarisé ?
12 Quels parents ont au moins un fils plus agé qu'une fille ?
13 Quels sont les arrière-grands-parents de Bérénice ?
Exercice 2.8 :
Une association dispose d'un certain nombre de centres sportifs où ses adhérents peuvent s'inscrire en
vue de la pratique de sports. Pour la gestion de ses installations elle dispose d'une base de données de
schéma S1 :
Pratique(Personne, Sport), qu'on abrégera en R1(P, S),
Est_Membre(Personne,Centre_Sportif) abrégé en R2(P, T),
Propose(Centre_Sportif, Sport) abrégé en R3(T, S).
Exprimez les requêtes suivantes en algèbre relationnelle :
1 Quels centres sportifs proposent au moins un sport pratiqué par Pierre ?
2 Quels centres sportifs proposent tous les sports pratiqués par Henri ?
3 Quels centres sportifs proposent tous les sports pratiqués par chacun de leurs membres?
4 Quels sports offerts par l'association ne sont pas proposés par le centre Les Joyeux Musclés ?
5 Quels centres sportifs proposent au moins deux sports pratiqués par Louis ?
6 Quels centres sportifs proposent les sports pratiqués par Jacques et Jean ?
7 Donnez les couples de personnes tels que chaque personne du couple pratique au moins un
sport que l'autre pratique et au moins un sport que l'autre ne pratique pas.
Exercice 2.9 :
L'association sportive présentée à l'exercice précédent hésite sur le choix du schéma de sa base de
données. Vaut-il mieux choisir S1 proposé dans l'exercice précédent ou bien préférer une base dont le
schéma S2 est réduit à 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 différences voyez-vous entre les deux schémas du point de vue de la sémantique des
informations qu'on peut mémoriser dans la base ?
2 Quelles informations peut-on mémoriser dans une base et qu'on ne pourrait pas mémoriser dans
l'autre? Donnez des exemples pour chacun des deux cas.
Exercice 2.10 :
Soit le schéma de la base de données 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 requêtes suivantes en algèbre relationnelle :
1 Où et à quelle heure peut-on voir le film "Out of Africa" ?
2 Quels sont les films réalisés par Marcel Carné ?
3 Quels sont les acteurs de "Mission" ?
4 Où peut-on voir un film où joue Arletty ?
5 Quels sont les acteurs qui ont produit un film ?
6 Quels sont les acteurs qui produisent un film dans lequel ils jouent ?
7 Quels sont les acteurs qui jouent dans les films de Resnais ?
8 Quels acteurs jouent dans tous les films ?
9 Quels acteurs jouent dans tous les films de Tati ?
10 Qui produit tous les films de Tarkowski ?
11 Quels spectateurs ont vu tous les films ?
12 Quels sont les spectateurs qui aiment tous les films qu'ils ont vu ?
13 Où peut-on voir Christophe Lambert après16h ?
14 Quels films ne passent dans aucune salle ?
15 Qui produit un film qui ne passe dans aucune salle ?
16 Quels sont les producteurs qui ont vu tous les films qu'ils produisent ?
17 Quels producteurs ont vu tous les films de Coline Serreau ?
18 Quels spectateurs aiment un film qu'ils n'ont pas vu ?
19 Qui n'aime aucun film ?
20 Qui ne produit aucun film de Alain Cavalier ?
21 Quels sont les acteurs qui produisent un film qu'ils ont réalisé ?
22 Quels sont les producteurs qui n'ont vu que les films qu'ils produisent ?
Exercice 2.11 :
Soit la base de données relationnelle dont le schéma 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 algèbre relationnelle les requêtes suivantes :
1 Quelles personnes ont publié tous les livres qu’elles ont
écrits ? 2 Quels auteurs ont écrit des livres lus par plus de
deux lecteurs ?
3 Quelles personnes ont lus tous les livres de Jules Vernes ?
Exercice 2.12 :
Le CRIF, Club de Randonnée d'Ile de France, a constitué une base de données relationnelle
récapitulant ses activités et servant à leur gestion. On y trouve entre autres les relations suivantes :
AFait (Randonneur, Randonnée, Type) où Type désigne le moyen de randonnée utilisé : marche, vélo,
VTT, moto, canoé...
Descriptif (Randonnée, Type, Durée, Difficulté) où Durée est donnée en heures et Difficulté est une
cote numérique adaptée à chaque type de randonnée. Les attributs Randonneur et Randonnée sont des
identifiants.
Exprimez, quand c'est possible, en algèbre relationnelle les requêtes suivantes, en justifiant
soigneusement chacune de vos réponses (et éventuellement les différents éléments qui la composent) :
1 Quelles sont les randonnées en vélo de plus de 6 heures faites par Louison ?
2 Qui a fait les randonnées "Vaux de Cernay" et "Vaux le Vicomte" ?
3 Combien Jules a t'il fait de randonnées de Difficulté 3 en canoé ?
4 Qui a fait toutes les randonnées qu'a faites Jim ?
5 Qui a fait au moins une randonnée faite par Paul et au moins une randonnée que n'a pas faite
Virginie ?
Exercice 2.13 :
La Maison des Jeunes d'une région gère une base de données de groupes de musique et de musiciens
en vue de l'organisation de la Fête de la Musique. Parmi les relations de la base on trouve Pratique
(Musicien, Instrument), FaitPartie (Musicien, Groupe), Comprend (Groupe, Instrument) dont la
sémantique est claire. Les attributs Musicien et Groupe sont des identifiants. Exprimez quand c'est
possible les requêtes suivantes en algèbre relationnelle en justifiant soigneusement votre proposition:
1 Quels musiciens pratiquent la batterie et le saxo ?
2 Quels musiciens font partie de plus d'un groupe ?
3 Quels musiciens pratiquent tous les instruments du Groupe Kan'Nida ?
4 Quels musiciens pratiquent au moins un des instruments pratiqués par Boubacar Traore ?
5 Quels musiciens jouent uniquement de la clarinette ?
6 Quel est l'ensemble des instruments que peuvent jouer les musiciens du groupe Go Between ?
Exercice 2.14 :
Le CRIF, Club de Randonnée d'Ile de France, a constitué une base de données relationnelle
récapitulant ses activités et servant à sa gestion. On y trouve en autres les relations suivantes :
Afait (randonneur, Randonnée, Type) où Type désigne le moyen de randonnée utilisé :
marche, vélo, VTT, moto, canoé.
Descriptif(Randonnée,Type, Durée, Difficulté où Durée est donnée en heures et Difficulté est une cote
numérique .adapté à chaque type de randonnée.
Les attributs Randonneur et Randonnée sont des identifiants.
Exprimer, quand cela est possible, en algèbre relationnelle (arbres algébriques et expressions
algébriques) les requêtes suivantes, en justifiant soigneusement chacune de vos réponses :
1 Quelles sont les randonnées en vélo de plus de 6 heures faites par Louison ?
2 Qui a fait les randonnées "Vaux de Cernay" et "Vaux le Vicomte" ?
3 Combien Jules a-t-il fait de randonnées de difficulté 3 en canoé ?
4 Qui a fait toutes les randonnées qu'a faites Jim ?
5 Qui a fait au moins une randonnée faite par Paul et au moins une randonnée que n'a pas faite
Virginie ?
Exercice 2.15 :
Soit le schéma de base de données TENNIS :
Joueur (NuJoueur, Nom, Prénom, DateNaissance, Nationalité)
Rencontre (NuGagnatnt, NuPerdant, LieuTournoi, Année, Score)
Gain (NuJoueur, LieuTournoi, Année, Prime, NomSponsor)
Sponsor(Nom, Adresse, ChiffreAffaire)
Remarque : NuGagnant et NuPerdant sont sur le même domaine que NuJoueur.
Hypothèse : Dés qu'il particpie à un tournoi, un joueur touche une prime.
Donner, sur cette base de données, quand c'est possible, les requêtes suivantes à l'aide de l'algèbre
relationnelle :
1 Quels sont les noms et dates de naissance des joueurs ayant participé à Roland Garros en 1994 ?
2 Quels sont les noms et nationalités des joueurs sponsorisés par Peugeot et ayant gagné à Roland
Garros au moins un match ?
3 Quels sont les noms des joueurs ayant participé en 1996 à la fois au tournoi de Roland Garros et à
celui de Wimbledon ?
4 Quels sont les noms des différents vainqueurs de Roland Garros ?
5 Quels sont les noms des joueurs ayant participé à tous les tournois en 1994 ? 6 Quelle est la
moyenne des primes gagnées par année ?
Exprimer en français la signification des questions algébriques suivantes sur la base de données
TENNIS :
1 π σ
Nom,Prénom
(
Nationalité = "France" (Joueur) ∞ NuJoueur = NuGagnant
(
σ
Année > 1990
(Rencontre) ∞
NuGagnant = NuJoueur (Gain ∞ NomSponsor = Nom σ ChiffreAffaire > 1000MF (Sponsor) ))
((π NuPerdant σ
(
LieuTournoi = "W" (Rencontre))) -(π NuGagnant
(
σLieuTournoi = "W"
(Rencontre)) ))
∩
( (( π NuGagnant
(
σ LieuTournoi = "RG" (Rencontre)) )-(π NuPerdant
(
σ LieuTournoi = RG"
(Rencontre)) ))
(Joueur) )
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 données on trouve Vend(Boucher, Viande, Prix),
Utilise(Cuisinier, Viande, Recette), Fournit(Boucher,Cuisinier) dont la sémantique 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 préparer 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 requêtes suivantes en algèbre relationnelle et en SQL, en justifiant
soigneusement votre proposition:
1 Quels cuisiniers utilisent à la fois du porc et de l’agneau pour la recette du Bäckehoffe?
2 Quel est l'ensemble des viandes utilisées par les cuisiniers clients du boucher Sanzos ?
3 Quels bouchers fournissent au moins deux cuisiniers ?
4 Quels bouchers ne vendent que de la viande de cheval ?
5 Quelle est le nom et le prix moyen de chaque type de viande vendu par les fournisseurs du
cuisinier Gatsosse ?
3. Calcul Relationnel
Exercice 3.1 :
Exprimer, en calcul à variable n-uplet, les expressions de l'algèbre relationnelle suivantes :
{t.E I R(t) ∧ ∃s R(s) ∧ (t.E =.s.E) ∧ (s.C = Math) ∧ (t.C = Anglais) ∧ (t.N < s.N)}
3 Donnez en français et en calcul à variables-nuplet l'expression de la requête en algèbre
relationnelle suivante:
σ
πE (σ(F = Miage1)I ∞ {πE ( R
(C = Algorithmique) ∧ (Ν = 10) )
σ
∩ πE ( (C = Logique) ∧ (Ν =13)
R )}
) Exercice
3.9 :
Montrer que toute expression du calcul à variable n-uplet a un équivalent dans le calcul à variable
domaine.
Exercice 3.10 :
Soit une base de données relationnelle de schéma:
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-i ème gouvernement du Premier Ministre M 1, le
Président de la République étant P.
R2(C1,A,P2,G2,T,P3), qui signifie que le candidat C 1, soutenu par le parti P2, est présenté dans la
circonscription G2 au tour T de l’élection législative de l’année A et y a obtenu un pourcentage P 3 des
voix. Pour simplifier on supposera qu’un candidat est élu à un tour si P 3 > 50.
1 Exprimer les requêtes suivantes en algèbre relationnelle et en calcul à variables-nuplet en
justifiant chaque réponse par une caractérisation des différents ensembles de nuplets qui y
apparaissent. a) Quels ont été les premiers ministres de Mitterrand?
b) Quels députés de 86 ont étés réélus en 88 ?
c) Dans quelles circonscriptions les ministres des gouvernements Mauroy se sont-ils présentés
en 88 ?
d) Quelles circonscriptions ont changé de député entre les élections de 86 et celles de 88 ?
e) Quels ministres ont appartenu à au moins deux gouvernements ?
f) Qui a été ministre dans tous les gouvernements Chirac sous la Présidence de Mitterand ?
g) Quels candidats n’ont jamais changé de circonscription ?
h) Quels ministres de Rocard n’ont jamais été députés ?
i) Quels candidats ont changé de parti entre deux élections ?
2 Exprimez en français les requêtes suivantes:
{t.M1 ⎮ R1(t) ∧ ( ∃s R2(s) ∧ (s.T = 1) ∧ (s.A = 81) ∧ (s.P3 > 50) ∧ (t.M1= s.C1)}
{t.M2 ⎮ R1(t) ∧ (∀s R1(s) ∧ ((s.D < 81) ∨ (( ∃u R1(u) ∧ (t.M2 = u.M2 )∧ (s.M1 = u.M1)))) }
4. S.Q.L.
Exercice 4.1 :
La base de données relationnelle d’une banque a le schéma suivant :
Succursale (NomSucc, Actif, VilleSucc)
Client (Nom_Client, Rue, Ville_Client)
Dépôt (Nom_Succ, Numéro_Compte, Nom_Client, Solde)
Emprunt (Nom_Succ, Numéro_Emprunt, Nom_Client, Montant)
Ecrire, en SQL, les requêtes suivantes :
1 Trouver les noms des succursales ayant des comptes client, avec et sans élimination des doubles.
2 Noms des clients ayant un compte à la succursale Rivoli.
3 Noms des clients ayant un compte à la succursale Rivoli ou un emprunt à la succursale Opéra.
4 Noms des clients ayant un compte à la succursale Rivoli et un emprunt à la succursale Opéra.
Trois solutions .
5 Noms des clients ayant un compte à la succursale Rivoli mais pas d'emprunt. Trois solutions.
6 Noms des clients ayant un compte avec la ville où ils habitent. Mettre le résultat dans la relation
R.
7 Noms des clients ayant un compte à Etoile avec la ville où ils habitent. Mettre le résultat dans la
relation R.
8 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.
9 Trouvez les succursales qui ont un solde plus élevé qu'une succursale d'Aurillac.
10 Trouvez les succursales qui ont un solde plus élevé que toutes les succursales d'Aurillac.
11 Noms des clients ayant un compte dans toutes les succursales de Conflans-Sainte-Honorine.
12 Donnez la liste par ordre alphabétique des emprunteurs de la succursale d'Orsay.
13 Donner pour chaque succursale le solde moyen des comptes client.
14 Donner le solde moyen des comptes client pour les succursales ayant un solde moyen supérieur à
5000.
15 Combien de clients habitent Paris ?
16 Combien de clients ayant un compte à la succursale Bastille n'ont pas leur adresse dans la relation
Client ?
17 Insérer le nuplet (Paul, Victor Hugo, Paris) dans la relation Client.
18 Diminuer l'emprunt de tous les clients habitant à Ajaccio de 5%.
19 Fermer le compte de Thomas.
20 Supprimer de Succursale toutes les succursales sans client.
21 Créer la relation VIP (Nom_Client, Numéro_Compte).
Exercice 4.7 :
Soit la base de données relationnelle composée des relations suivantes:
Livre(Titre, Auteur, Editeur), Lecture (Titre, Genre, Lecteur) où l'attribut Titre désigne le titre
d'un livre et n'est pas un identifiant (le même titre peut être utilisé pour plusieurs ouvrages d'auteurs
différents), 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, poésie,
nouvelle, mémoires, documentaire...)
1 Exprimez, quand c'est possible, en algèbre relationnelle, calcul relationnel et SQL les requêtes
suivantes, en justifiant soigneusement chacune de vos réponses (et éventuellement les différents
éléments qui la composent) :
a) Quels éditeurs ont lu tous les livres qu'ils ont édités ?
b) Quels auteurs ont été édités chez Dunod et chez Flammarion ?
c) Quels éditeurs lisent des romans de JMG le Clézio ?
d) Quels éditeurs lisent de la poésie 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 ?
2 De manière à maintenir l'intégrité 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'intégrité 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 schéma de la base de données CINEMA :
FILM (Num-F, Titre, année, Durée, Budget, Réalisateur, Salaire-R)
GENERIQUE (Film, Acteur, Rôle, Salaire)
PERSONNE (Num-P, Nom Prénom, Date-Nais, Sexe, Adresse, Tél.)
ACTEUR (Num-A, Agent, Spécialité, Taille, Poids)
CINEMA (Num-C, Nom, Adresse, Téléphone, Compagnie)
PROJECTION (Film, Cinéma, Salle, Date-Deb, Date-Fin, Horaire, Prix)
SALLE (Cinéma, Num-S, Taille-Ecran, Places)
RECOMPENSE (Num-R, Nom, Catégorie, Festival) RECOMP-
FILM (Film, Récompense, Année)
RECOMP-ACTEUR (Acteur, Récompense, Année)
Dans le schéma, NumF, Num-P, Num-A, Num-C et Num-R sont des identifiants uniques (clés
primaires) pour respectivement : FILM, PERSONNE, ACTEUR, CINEMA, SALLE et RECOMPENSE.
Tout nom de relation utilisé comme attribut est une clé étrangère qui renvoie à l'identifiant (clé
primaire) de la relation correspondante. Par exemple, dans GENERIQUE, Film correspond à Num-F
de FILM et est défini sur le même domaine. Réalisateur dans FILM et Num-A dans ACTEUR sont
définis sur le mêmes domaine que les Num-P.
Remarque : Lorsqu'un acteur reçoit une récompense, le film en reçoit une indirectement. Le même
numéro de récompense est inséré à la fois dans la relation RECOMP-ACTEUR et dans la relation
RECOMP-FILM. On a ainsi u lien entre la récompense de l'acteur et le film pour lequel il l'a obtenue.
Exprimer les requêtes suivantes en SQL :
1. Trouver le titre des films réalisés par Roman Polanski.
2. Donner le nom des réalisateurs qui ont joué dans un de leurs films.
3. Donner le nom et le prénom des acteurs qui ont joué gavroche dans une des différentes versions
de Misérables avec la date correspondante.
4. Trouver le nom et le prénom des acteurs comiques qui ont joué dans un film de Gérard 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 numéro du film.
7. Lister les cinémas dont la taille moyenne d'écran est supérieure à 40 mètres carrés.
8. Donner le titre des films qui ont reçu au moins trois récompenses;
9. Trouver les films qui ne passent dans aucun cinéma de la compagnie FOX.
10. Lister les cinémas qui ont exclusivement passé des films primés.
11. Trouver le nom, le prénom, et le numéro 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 prénom de l'acteur qui a eu le plus gros salaire.
Exercice 4.9 :
Soit le schéma de la base de données ARBRE GENEALOGIQUE :
PERSONNE ( NumPersonne, Nom, Prénom, NuPère, NuMère, Sexe)
UNION (NuMari,NuEpouse)
Exprimer les requêtes suivantes en SQL :
1. Quels sont les enfants de Jean Graton ?
2. Quels est le prénom de la femme de Michel Vaillant ?
3. Combien le docteur March a-t-il de filles ,
4. Quels sont les noms et prénoms des grands-parents maternels de Raymonde Bidochon ?
5. Quels sont les oncles et tantes coté paternel de Gaston Lagaffe ?
6. Quels sont les ancêtres du capitaine Haddock ?
Exercice 4.10 :
Soit une base de données touristique telle que :
STATION (NumSta, NomSta, Altitude, Région)
HOTEL ( NumHot, NomHot, NumStat, Catégorie)
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 réservations de
l'hôtel Bellevue de Courchevel.
2. Pour chaque station de Haute-Savoie, donner le nombre de lits en catégorie trois étoiles.
3. Pour chaque station de Haute-Savoie, donner le nombre de chambres réservées pour le 11/02/95.
4. Quels sont les noms des hôtels de catégorie deux étoiles de Méribel qui sont complets la semaine
du 12/02/95 au 18/02/95 ?
5. Quelles sont les régions dont toutes les stations sont à plus de 1500m d'altitude ?
6. Quels sont les clients qui sont allés dans toutes les stations du Jura ?
Exercice 4.11 :
Reprendre l'exercice 2.16 et exprimer les requêtes en SQL.
5. Dépendances Fonctionnelles
Exercice 5.1 : -
Soit le schéma R (A,B,C,D,E) et la relation r. Quelles dépendances fonctionnelles satisfait r ?
r
A B C D E
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 Dépendances Fonctionnelles satisfaites sur des nuplets de r ne prouve pas
que ces dépendances 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. { X → Y ; Z → W } ⇒ XZ → YW
2. { X Y → Z ; Z → X } ⇒ Z→Y
3. { X → Y ; Y → Z } ⇒ X → YZ
4. { X → Y ; W → Z } et W ⊇ Y ⇒ X→Z
5. {W → Y, X → Z} ⇒ WX → Y
6. {X → Y} et Y ⊇ Z ⇒ X→Z
7. {X → Y, X → W, WY → Z} ⇒ X→Z
8. {XY → Z, Y → W} ⇒ XW → Z
9. {X → Y, XY → Z} ⇒ X→Z
Exercice 5.3 : Quelles dépendances peut-on trouver sur la base de données "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 clés, en signalant les surclés, des schémas de relation suivants:
RI (cours, étudiant, note)
R2 (étudiant, examen, horaire)
R3 (n° vol, date départ, porte d'accès, heure départ, destination)
R4 (cours, étudiant, note, heure, salle, professeur)
R5 (employé, directeur, salaire, service)
Exercice 5.6 :
L'union de deux clés est-elle une clé? L'intersection? Le montrer ou donner un contre-exemple.
Exercice 5.7 : Soit r et s des relations de schéma R ayant K comme clé. Parmi les relations
suivantes, lesquelles ont K comme clé ? Montrez-le ou trouvez des contre-exemples.
a) r ∪ s b) r ∩ s c) r \ s d) πK(r)
Exercice 5.8 :
Calculer F+ pour R (A,B,C) et F = {A →B; B → C). Clé ?
Exercice 5.9 :
1 Les deux ensembles de dépendances fonctionnelles F et G sont-ils équivalents ?
F = {A → B ; CE → H; C → E ; A → CH} G = {C → EH, A → BC} 2 F est-
elle minimale ?
3 Peut-on déduire de F les dépendances fonctionnelles CE → B et AB → C ? On utilisera pour chaque
cas deux démonstrations différentes. En cas de réponse négative on pourra utiliser un contre-
exemple.
Exercice 5.10 :
Soit R (A,B,C,D) et F = {A → B; B → C),
1 Quelle est la clé de R ?
2 Quelle est la fermeture A+ de A?
Exercice 5.11 :
Soit U = (A,B,C,D,E,G) et F= {AB→C, C → A, BC → D , ACD → B , D → EG , BE → C ,
CG → BD , CE → AG }
1 Etablir [C]+, [BD]+
2 En déduire des dépendances non triviales de F+ qui n'appartiennent pas à F.
3 Mettre les dépendances F sous forme canonique (i.e. un seul attribut en partie droite).
Que peut-on dire des dépendances:
CE → A
CG → B
ACD → B ?
4 En déduire deux couvertures Fl et F2 de F. Comparez leurs nombres de dépendances.
5 Proposez un algorithme permettant d'établir que Fl (resp. F2) est une couverture minimale de F.
6 Proposez un algorithme permettant d'établir que deux familles de dépendances sont équivalentes.
Dans chacun des cas e) et f), on prouvera l'algorithme et on le programmera.
Exercice 5.12 :
Soit la famille de dépendances fonctionnelles F suivante : A -> B, E -> G, ABD -> CG, CD -> EG.
Après avoir rappelé la définition d'une famille de dépendances équivalente à F et qui soit minimale
vous en proposerez une, soit G. Vous détaillerez soigneusement les différentes é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 dépendances 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 démontrerez comment vous passez de F à F' en conservant à chaque étape du
calcul l'équivalence. Puis vous montrerez que F' est minimale.
Exercice 6.13 :
Quel intérêt voyez-vous à la définition des formes normales de relation ?
Pourquoi la forme normale BCNF est-elle plus recherchée que la troisième forme normale ? Illustrez
votre réponse par des exemples.
Exercice 6.14 :
Comment est caractérisée une décomposition sans perte d’information (resp. de dépendance) ?
Illustrez par des exemples bien choisis l’intérêt de la décomposition sans perte d’information (resp. de
dépendance) et les inconvénients de la décomposition avec perte d’information (resp. de dépendance).
Exercice 6.15 :
Soit la relation R(A,B,C,D,E,G,H) et les dépendances fonctionnelles : AD -> G, B -> D, CDE -> A
1 Quelles sont les clés minimales de R ? Expliquez le raisonnement que vous faites.
2 R a t'elle des dépendances partielles ? transitives ? si oui dites lesquelles après avoir rappelé les
définitions correspondantes.
3 En quelle forme normale est R ?
4 La décomposition de R en R1(A,C,D,E) et R2(A,B,G,H) est elle "sans perte d'information". Vous
proposerez deux démonstrations, dont une basée sur un contre-exemple en cas de réponse
négative.
5 Proposez une décomposition BCNF et sans perte d'information de R. Est elle "sans perte de
dépendance"? Vous détaillerez les différentes étapes de l'algorithme que vous utilisez pour faire
cette décomposition.
6 Proposez une décomposition 3NF, SPI et SPD de R, après avoir présenté l'algorithme de
décomposition correspondant. Conclusion ?
Exercice 6.16 :
Soit la relation R(A,B,C,D,E) et la famille de dépendances fonctionnelles F = {AB -> C, C-> DE, E-
> AB }. On décompose R en R1(A,B,D) et R2(C,E).
1 Quelles sont les dépendances projetées sur R1 et sur R2 (dans chacun des 2 cas vous établirez une
famille minimale de dépendances projetées) ? Vous distinguerez soigneusement les dépendances
issues de F et celles issues de F+ et non de F. Pour ces dernières vous montrerez de deux
manières différentes (axiomes d'Amstrong et fermetures de famille d'attributs) comment vous les
avez établies.
2 La décomposition de R en R1 et R2 est elle sans perte de dépendance ? Démontrez.
Exercice 6.17 :
Soit la relation R(A,B,C,D,E,G,H) et la famille de dépendances fonctionnelles F = {AB->C, C->DE,
D-> AG, G->E}.
1 Rappelez comment on procède pour établir les clés minimales d'une relation.
2 Etablissez les clés de R.
3 Rappelez les définitions des dépendances partielles et transitives et illustrez vos définitions par
des dépendances de F ou de F+ dont vous préciserez comment vous les avez établies.
4 En quelle forme normale est R ? pourquoi ?
5 La décomposition de R en R1(A,B,C) et R2(C,E,G,H) est elle sans perte d'information ? Selon
votre réponse proposez deux démonstrations ou une démonstration et un contre-exemple.
6 Rappelez la définition de la forme BCNF et l'algorithme de décomposition sans perte
d'information d'un schéma de relation en relations BCNF. Appliquez cet algorithme à R.
Conclusion.
7 Rappelez la définition de la forme 3NF et l'algorithme de décomposition sans perte d'information
et sans perte de dépendance d'un schéma de relation en relations 3NF. Appliquez cet algorithme à
R. En quelle forme normale sont les relations de la décomposition ? Conclusion.
Exercice 6.18 :
Soit S le schéma de base de données relationnelle suivant, sur lequel on a défini un ensemble F de
dépendances fonctionnelles.
S = { R(A,B,C,D, E) } F = { AB→ C , EC → B , B → E}
F est-elle minimale ? Expliquez votre réponse.
1 Quelles sont les clés minimales de R ? Montrez comment vous les obtenez
2 Donnez 1 exemple de redondance susceptible d’apparaître dans une instance de R ?
3 S est-il en forme normale de Boyce-Codd ? S est-il en 3ème forme normale ?
4 Quelles sont les dépendances projetées sur R1 et sur dans la décomposition de S en un nouveau
schéma S’= { R1(C,D,E) , R2(A,B,C,E) } ? La décomposition de S en S’ est-elle sans perte de
dépendances ?
5 La décomposition de S en S’ est-elle sans perte d’information ? Si oui prouvez le, si non montrez
un contre-exemple.
Exercice 6.19 :
Soit S le schéma de base de données relationnelle suivant, sur lequel on a défini un ensemble F de
dépendances fonctionnelles.
S = { R(A,B,C,D, E) } F = { DE→ C , C → B , B → E} 1 F
est-elle minimale ? Expliquez votre réponse.
2 Quelles sont les clés minimales de R ? Montrez comment vous les obtenez.
3 Quelles redondances sont susceptibles d’apparaître dans une instance de R ?
4 En quelle forme normale est S ?
5 La décomposition de S en S’= { R1(C,D,E) , R2(A,B,D,E) } est-elle sans perte d’information ? Si
oui prouvez le, si non montrez un contre-exemple.
6 Quelles sont les dépendances projetées sur R1 et sur R2 ? La décomposition de S en S’ est-elle
sans perte de dépendances ?
7 Proposez une décomposition de S, sans perte d’information, sans perte de dépendances et en 3è
forme normale. Que pensez-vous du schéma ainsi obtenu ?