Recueil d’exercice

Ecole Nationale
Supérieure des Télécommunications

Travaux Dirigés de Bases de Données

1. Modèle
Entité/Association

2. Modèle
Relationnel et Algèbre

3. Calcul
Relationnel

4. S.Q.L.

5. Dépendances
Fonctionnelles

6. Conception
de Schéma et Formes Normales

 
 

Edité par
TALEL ABDESSALEM
16 mars 2000
 

Remerciements
:

Nous tenons à remercier F.
Bancilhon, C.Delobel, M-O. Cordier, A. Doucet, S. Gançarski,
M-C. Heydemann, G. Jomier, M. Manouvrier, E. Quesne, M.Picard,
D. Teulat, et J. Ullman qui retrouveront certaines de leurs propositions
dans ces exercices.


1.Modèle Entité/Association

Exercice 1.1 : "Speedo Finn"

Les organisateurs de la célèbre
course au large Speedo Finn voudraient créer une base de
données permettant de retrouver toutes les informations
relatives à l'organisation de la course et à sa
sécurité et aussi répondre à l'insatiable
curiosité des badauds.

La course se déroule en plusieurs
épreuves sanctionnées chacune par un classement.
Chaque épreuve débute et se termine dans un port,
le port d'arrivée pouvant être différent du
port de départ, 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 données doit permettre
de répondre, parmi d'autres, aux questions suivantes:
 

    ¨ Quels
    sont les sponsors d'un bateau ?

    ¨ Quel
    est le montant de la subvention d'un sponsor particulier à
    un bateau particulier ?

    ¨ Quels
    bateaux sont engagés dans l'épreuve qui débute
    le 27 avril ?

    ¨ Quels
    sont les équipiers du bateau qui a gagné la première
    épreuve ?

    ¨ Sur
    quels bateaux de plus de 12 mètres y a-t'il un équipier
    médecin ?

Proposez un modèle entité/association
de cette application. Déduisez le schéma relationnel
de la base de données.
 

Exercice 1.2 : "Salles de concert"

On veut construire à l'aide
du modèle Entité-Association le schéma relationnel
de la base de données d'une société qui gère
des salles de concert. Les salles de concert sont situées
dans différents établissements, chacun pouvant disposer
de plusieurs salles de concert. On connaît pour chaque salle
la capacité en nombre de places, toutes les places étant
de la même catégorie. Plusieurs oeuvres musicales
peuvent être auditionnées lors de chaque concert.
La base de données doit permettre de répondre à
des questions comme:
 

    ¨ Quel
    est l'auteur (ou quels sont les auteurs) d'une oeuvre musicale
    ?

    ¨ Quels
    musiciens participent à un concert ?

    ¨ Quel
    est le rôle d'un musicien dans une oeuvre donnée
    lors d'un concert ?

    ¨
    et quand a lieu un concert ?

    ¨ Pour
    un concert combien de places sont réservées ?

On demande d'établir un schéma
Entité-Association de cette application.

On en déduira le schéma
relationnel de la base de données correspondante.
 

Exercice 1.3 : "Airix"

On veut établir le modèle
Entité-Association de la compagnie aérienne AIRIX
afin d'implanter une base de données où seront stockées
des informations relatives aux horaires des vols, aux passagers
et à leurs réservations, au personnel affecté
aux vols prévus. Parmi les membres des équipages
on s'intéressera particulièrement aux pilotes et
à leur habilitation à piloter certains types d'avion.
Très concrètement la base de données devra
permettre de savoir:
 

    ¨ Comment
    joindre tous les passagers d'un vol,

    ¨ Quels
    sont les membres d'un équipage,

    ¨ Quel
    avion est affecté à un voyage particulier,

    ¨ Pour
    quels type d'avions est breveté un pilote,

    ¨ Quels
    sont les horaires des avions Paris-Caracas (horaire hebdomadaire),
    etc.

Le personnel de la compagnie AIRIX
est identifié par un numéro (NUMEMP) et décrit
par son nom (NOM), son prénom (PRENOM), son adresse (ADRESSE),
son numéro de téléphone (NTELEPHONE) et son
salaire mensuel (SALAIRE).

Parmi les membres du personnel, on
distingue les pilotes afin d'indiquer les brevets qu'ils possèdent,
différents renseignements professionnels et de préciser
les avions qu'ils peuvent piloter avec ces brevets.

Chaque appareil possédé
par AIRIX est doté d'un numéro de série (NUMSER)
propre à la compagnie

Pour chaque appareil on connaît
aussi l'avionneur et le numéro de modèle (ces deux
informations constituent ce que l'on appelle l'avion: ex BOEING
747).

Les passagers sont repérés
par leur nom (PNOM), leur adresse (PADRESSE) et leur numéro
de téléphone (PTELEPHONE). On connaît aussi
les départs (DEPARTURE) sur lesquels on les a enregistrés
(BOOKED-ON).

Un départ est un vol à
une certaine date (DATE).

Chaque vol fait l'objet d'au moins
un départ.

Les vols sont repérés
par un numéro (NUMVOL), une origine (SOURCE) et une destination
(DEST) et différentes villes intermédiaires (chaque
couple de villes reliées définit un tronçon).
Pour chaque ville desservie on connaît l'heure d'arrivée
(ARR-TIME) et l'heure de départ (DEP-TIME) du vol considéré.

Les avions qui peuvent être
affectés à un vol sont connus.

Pour chaque tronçon correspondant
à un départ - un pilote doit obligatoirement avoir
été désigné - un appareil doit obligatoirement
avoir été affecté.

On déduira de la modélisation
entité-association le schéma relationnel de la base
de données. Pour simplifier, dans une première étape
de l'exercice, on supposera que chaque vol n'a qu'une étape.
On complétera ensuite en supposant qu'un vol peut avoir
plusieurs étapes et que passagers et équipage peuvent
changer en cours de voyage.
 
 

Exercice 1.4 : "La société W"

Organisation générale
de l'entreprise :
les usines
du groupe industriel W sont situées dans certaines villes
de certains départements géographiques. Il en est
de même des dépôts qui sont distincts des usines.
Les produits fabriqués et distribués par le groupe
W ont un numéro, une désignation et un prix unitaire.
Les clients ont chacun un numéro qui les identifie, chacun
est domicilié dans une ville. Chaque dépôt
a des produits en stock en quantité connue. Une partie
de ces stocks peut être réservée pour satisfaire
des commandes de clients en instance. Chaque usine a des produits
en cours de fabrication en quantités connues. La date de
disponibilité d'une fabrication est connue. Chaque département
est lié à d'autres départements (frontière
commune). Chaque fabrication est destinée à des
dépôts. La répartition des quantités
destinées à chaque dépôt est connue.
Les dépôts ne peuvent être alimentés
que par des usines géographiquement liées. Pour
chaque quantité d'une fabrication destinée à
un dépôt, on connaît la part déjà
réservée pour des commandes clients.

Traitement des commandes clients
:
une commande est passée
par un client à une certaine date. Elle indique la date
limite de livraison et est repérée par un numéro.
Un produit ne peut apparaître qu'une seule fois dans une
commande et on en connaît la quantité commandée.
Pour chaque commande arrivant dans le groupe, on recherche si
elle peut être totalement prise en portefeuille, sinon la
commande est refusée. Les règles de prise en compte
d'une commande sont les suivantes:
 

    ¨ chaque
    produit de la commande ne peut provenir que d'un dépôt
    géographiquement lié au département du client
    .

    ¨ la
    quantité totale d'un produit doit être soit disponible
    en stock, soit attendue par le dépôt en provenance
    d'une usine à une date antérieure à la date
    limite fixée par le client (on doit connaître l'origine
    exacte du produit au moment de la prise de commande) .

    ¨ lorsqu'une
    commande peut être livrée, 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 antérieure à la date limite).

Etude :
On veut construire une base de données relationnelle afin
de gérer la société W et ses commandes. Pour
cela on demande:

    1. d'établir le modèle
    Entité-Association correspondant.

    2. d'en déduire un schéma
    relationnel

 

Exercice 1.5 : "Invitations et réceptions"

Je veux concevoir une base de données
personnelle à propos d'invitations et de réceptions
que j'ai organisées. Lorsque j'ai organisé une réception,
j'enregistre dans ma base de données la liste des personnes
présentes et la date (jour, mois, année) de la réception.

Sur les personnes je connais les informations
suivantes: nom, prénom, sexe, opinion politique, adresse,
numéro de téléphone personnel et éventuellement
professionnel. J'enregistre aussi:
 

    ¨ leurs
    goûts. Une personne peut être passionnée par
    un ou plusieurs domaines: peinture, opéra, jazz, littérature,
    plongée sous-marine, rafting ...

    ¨ les
    vins qu'elles aiment boire,

    ¨ les
    liens entre personnes, du type: mariage, concubinage, parent-enfant
    etc. et les inimitiés.

Ma base contient aussi des informations
sur les menus servis aux invités. Pour cela j'ai défini
un ensemble de plats pris comme référence dans un
catalogue. Pour chaque plat, je connais son nom et sa nature:
entrée, viande, poisson, gibier, fromage, dessert ... A
un repas on sert des vins. Un vin est caractérisé
par un nom (de terroir ou de cépage), un millésime,
une région et un type (blanc sec, blanc liquoreux, gris,
rouge, rosé ...). Les noms de terroir ou de cépage
sont extraits d'un catalogue pour avoir une liste de référence.

Enfin je dispose dans ma base de données
d'informations sur les affinités 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 générales
comme un blanc sec d'Alsace accompagne très bien un
munster.

Proposez un modèle Entité-Association
de cette application. Déduisez-en le schéma de la
base de données relationnelle correspondante.
 

Exercice 1.6 : "Société de tourisme"

On veut établir la base de
données d'une société de tourisme spécialisée
dans les excursions en autobus. La base de données doit
permettre de gérer les clients, de donner des informations
sur les excursions du catalogue de la société, de
gérer le parc de véhicules et le personnel de la
société, et d'affecter les chauffeurs et hôtesses
d'accompagnement ainsi que les clients ayant réservé
une place et les autobus à chaque voyage, un voyage étant
la réalisation d'une excursions à une date précise.

Plus précisément, on
veut pouvoir :

¨ Identifier
un client, le joindre par téléphone ou par courier,
savoir les réservations qu'il a effectuées.

¨ Décrire
une excursion par un nom et un libellé (attractif), son
point de départ, le lieu but de l'excursion, une référence
à un descriptif détaillé, sa durée
(une demi-journée ou une journée), son prix, ses
dates, ...

¨ Connaître
pour chaque membre du personnel de la société, en
dehors de ses coordonnées personnelles, sa qualification
et sa fonction et le service auquel il est affecté. Pour
les chauffeurs, on voudra de plus pouvoir retrouver des informations
sur leur permis de conduire, les types d'autobus qu'ils ont conduits,
les références des accidents dans lesquels ils ont
été impliqués,...

¨ Avoir
les élément descriptifs principaux de chaque véhicule.

¨ Connaître
tous les éléments de chaque voyage : date, excursion,
véhicule affecté, chauffeur, hôtesse, clients
ayant réservé,...

Etablir le schéma entité
/ association de cette application et en déduire le schéma
relationnel.
 

Exercice 1.7 : "Informations métro"

Dans le souci d'informer ses voyageurs
sur son offre de transport la RATP veut construire une base de
données, limitée dans un premier temps au métro,
qui permettra à tout voyageur d'évaluer précisément
le temps nécessaire pour aller d'une station quelconque
du réseau à une autre (au cas où plusieurs
trajets seraient possibles le logiciel de gestion des requêtes
pourra présenter au voyageur une ou plusieurs réponses
bien choisies : ce problème relève de la programmation
d'application et non de la base de données proprement dite
et est donc hors du champ d'intérêt de ce sujet).
Les horaires sont cadencés en fonction des types de tranche
horaire, heure creuse, heure de moyenne charge ou heure de pointe
qui déterminent le temps d'écart entre deux trains
successifs. En revanche on considérera que la vitesse des
trains et la durée des arrêts en gare sont les mêmes
quelle que soit la tranche horaire. La durée pour chaque
changement de métro (tenir compte des sens des changements)
a été évaluée en moyenne pour un voyageur
moyennement rapide et est considérée comme indépendante
de l'heure. Elle est complétée par l'indication
pour chaque changement de la distance à parcourir, en mètres,
et du nombre de marches à monter et à descendre.

1 Proposez une modélisation
Entité-Association de cette application permettant à
des programmes d'extraire de la base les données nécessaires
à l'information des voyageurs précisée ci-dessus.

2 En déduire le schéma
relationnel de la base de données.

Note : de fait il existe le système
SUROIT de la RATP, mais il en fait beaucoup plus...
 

Exercice 1.8 : "Enseignants - Chercheurs"

On désire gérer les
emplois du temps des différents personnels (enseignants,
enseignants-chercheurs et chercheurs
) de l'UFR, pour savoir
à tout moment s'il est possible de les joindre, et où.
Pour cela, on considère que, en dehors des périodes
où ils peuvent être joints dans leur bureau, les
personnels peuvent être en réunion, quel que soit
leur statut. Une réunion est désignée
par une date précise, une tranche horaire et une salle
de réunion. On veut connaître les autres personnes
participant à la réunion.

Chaque personne est désignée
par son nom, son prénom, le bureau où on peut la
joindre.

Les enseignants peuvent, de
plus, être en cours. Un cours est identifié
par la matière enseignée à laquelle est affectée
toujours la même salle. Il est désigné par
une période de début et de fin (ex. de février
à mai), un jour de la semaine, une tranche horaire et une
salle de cours. Plusieurs enseignants peuvent enseigner la même
matière dans l'année, à des jours et créneaux
horaire différents. Un enseignant peut enseigner plusieurs
fois la même matière dans l'année, à
des périodes différentes.

Les chercheurs peuvent être
à certaines périodes de l'année en mission
en dehors de l'UFR. Une mission est désignée
par une date de début et de fin, un lieu de mission avec
le numéro de téléphone correspondant. Les
chercheurs appartiennent à un laboratoire dont on peut
joindre le secrétariat en cas d'urgence.

Les enseignants-chercheurs
sont à la fois enseignants et chercheurs, avec un pourcentage
plus ou moins grand d'enseignement (par rapport à la recherche)
à effectuer. Ils peuvent donc être soit en réunion,
soit en mission, soit en cours.

Etablir le schéma Entité-Association
de cette application.
 

Exercice 1.9 : "Société Française
d'Archéologie"

La Société Française
d'Archéologie est une société savante ayant
pour but la constitution d'une base d'informations et la gestion
d'une bibliothèque. Cette base doit gérer des objets
archéologiques et des publications de ces objets.

Les objets archéologiques sont
caractérisés par un numéro d'identification,
un type (ex: vase), une description sommaire, une datation qui
est une année, le site où ils ont été
découverts. Ils peuvent être exposés dans
un musée. Une ville peut avoir plusieurs noms : les anciens
et le nouveau (ex : Byzance, Constantinople et Istanbul). Pour
simplifier, on se limitera à un seul nom ancien. Pour chaque
site, on précisera la ville à laquelle il se rattache
et un numéro d'ordre pour cette ville. En effet, une ville
archéologique peut avoir plusieurs sites. La civilisation
du site est une grande catégorie comme "romaine"
ou "crétoise". Un musée est caractérisé
par la ville où il se trouve et par son nom.

La bibliothèque comprend les
publications caractérisées par un titre, une date
et un éditeur. Elles sont écrites par un ou plusieurs
auteurs. Chaque auteur est identifié par ses nom et prénom.
Pour faciliter l'accès à la base de données,
on veut pouvoir retrouver toutes les publications concernant un
objet, et inversement tous les objets cités dans une publication.

 

Exercice 1.10 : "Hôpital Jacques Monod"

L'hôpital Jacques Monod souhaite
créer une base de données pour gérer l'ensemble
des hospitalisations de l'établissement.

L'hôpital comprend des services
qui sont identifiés par un code et un nom. Chaque service
est localisé dans un bâtiment et est dirigé
par un directeur. Un bâtiment comprend plusieurs salles.
Chaque salle a un numéro (relatif au service), un nombre
de lits et un(e) surveillant(e) responsable qui est un(e) infirmier(e).
l'hôpital emploie du personnel : médecins et infirmiers.
Chaque employé a un nom, un prénom, une adresse
et un numéro de téléphone. Chaque médecin
a une spécialité. Les infirmiers sont rattachés
à un service (unique), travaillent de jour ou de nuit et
ont un salaire. Un directeur de service est un médecin;
les médecins ne sont autorisés à diriger
qu'un seul service et ne sont pas affectés à un
service particulier.

Dans cet hôpital, des malades
viennent pour une consultation ou pour une hospitalisation. Chaque
malade a un nom, un prénom, une adresse, un numéro
de téléphone et une mutuelle. Il est suivi par un
ou plusieurs médecins. S'il est hospitalisé, on
doit connaître son numéro de lit (relatif à
la salle) et le diagnostic le concernant.
 

Exercice 1.11 : "gestion d'un parc de véhicule"

Un organisme souhaite informatiser
la gestion d'un parc de véhicules et notamment le suivi
des réparations et des entretiens périodiques.

Les véhicules sont caractérisés
par le numéro d'immatriculation, l'année de fabrication,
la date d'achat, le numéro de série et le kilométrage.
Les modèles des véhicules sont caractérisés
par un code (205XL, Twingo), une marque, un nombre de places,
une puissance et le carburant utilisé.

Les véhicules sont soumis à
des entretiens périodiques, dont la fréquence varie
selon les modèles. Il arrive également qu'un véhicule
soit accidenté.

Les travaux d'entretien et de réparation
sont assurés par des garages caractérisés
par un nom, un nom de gérant et la marque qu'il représente.

Lorsqu'un véhicule doit être
révisé ou réparé, le gestionnaire
du parc établit une demande de travaux comprenant la nature
des travaux à effectuer et la date de fin de travaux souhaitée.
S'il s'agit d'un accident, il indiquera également la date
de l'accident et le nom d'expert chargé de cet accident.
Celui-ci précisera la nature des travaux à effectuer.
A la fin des travaux, une facture sur laquelle figurent la date
de fin des travaux et le montant des travaux est envoyée
au gestionnaire.

L'histoire d'un véhicule est
conservée dans un carnet de bord. A l'achat du véhicule,
ce carnet est partiellement rempli en précisant la date
d'achat ainsi que le kilométrage. A chaque intervention
sur la voiture, une nouvelle page de ce carnet est remplie avec
la date de fin des travaux., le kilométrage, la nature
des travaux ainsi que le motif de l'intervention (révision
ou réparation);


2.Modèle Relationnel
et Algèbre

Exercice 2.1 :

Soit deux relations r(A B C)
et s(B C D) avec a
Î
dom(A)

et
b Î
dom(B)
.

Les expressions suivantes sont-elles bien
formées ?

1. r È
s
2.
p B(r) - p
B(s) 3.
s B=b (r) 4. s A=a, B=b
(s)

 

Exercice 2.2 :

Soit les deux relations suivantes
:

r s
Cours Etudiant Note Cours Prof
Math Toto A Math Martin
Math Lulu B Physique Dupond
Latin Toto C Latin Durand
Physique Toto A

avec Dom (Cours)
=
{
Math, Physique,
Latin
}

Dom (Etudiant) = { Toto, Tulu }

Dom (Note) = { A,B,C }

Dom (Prof) = { Martin, Dupond, Durand }

Calculer et exprimer
en français les requêtes:

    s Cours
    = Math (r)

    p Cours
    (s) -
    p Cours (r)

    p Cours (r) - p Cours (s)

    p Etudiant
    ( r ÷ (

    p Cours (s)))

    p Prof
    (
    s Note = A Ù
    Etudiant = Toto ( r ¥ s ))

Exercice 2.3 :

Exprimez les opérateurs
de jointure, de
q -jointure et de division à
l'aide des 5 opérateurs de l'algèbre relationnelle
que vous rappellerez.

 

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 =
p 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?
 

  • où F est un
    prédicat sur les attributs de E1 et E2
  •  F1 et
    F2 prédicats sur les attributs de E
  • a) E1
    ¥
    E2
    º
    E2 ¥ E1
    (Jointure naturelle)

    b) E1
    ¥ F E2 º E2 ¥ F
    E1 (
    q
    -jointure)

    c) (E1
    ¥
    E2
    ) ¥
    E3
    º E1 ¥ (
    E2 ¥ E3
    )

    d) p A1,...,An ( p B1,
    ...,Bn
    (E))
    º
    p
    A1, ...,An
    (E)

    e) s F1 ( s F2 (E)) º s
    F1
    Ù F2 (E)
    º s
    F2
    (
    s
    F1(E))

    f) p A1,...,An ( s F (E)) º s
    F
    (
    p
    A1,...,An
    (E
    ))

    g) s F
    (E1 - E2)
    º s F
    (E1) -
    s
    F
    (E2)

2 Quel peut être l'intérêt
de trouver ainsi des équivalences entre expressions relationnelles
?

 
 

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 ?

    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 ?