Tutoriel de Bases de Données Relationnelles

Tutoriel de Bases de Données Relationnelles

Accueil  > Supports pédagogiques > Exercices > Recueil d'exercice

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 ?

    ¨ Où 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 ?

 

[fil RSS du site]
Dernière mise à jour : 13/09/2011