2
1 / 2 TD : THEORIE DES BASES DE DONNEES Exercice n° 1 Dans la base de données d'une société de transport, la relation suivante décrit pour les jours du mois en cours les affectations des conducteurs de bus aux lignes: Affectation ( N°ligne, N°conducteur, jour ) Plus précisément, cette relation signifie que tel jour, tel conducteur est affecté à telle ligne de bus. Considérons indépendamment les unes des autres les contraintes potentielles suivantes: (a) Un conducteur ne peut pas travailler sur deux lignes différentes le même jour; (b) Un conducteur fait les mêmes lignes tous les jours où il travaille; (c) Un conducteur ne fait qu'une seule ligne; (d) Une ligne est toujours parcourue par les mêmes conducteurs; (e) Une ligne n'est parcourue que par un seul conducteur; Pour chacune de ces contraintes, définir la (ou les) dépendance fonctionnelle ou multivaluée qui lui correspond(ent). Exercice n° 2 Soit R (A, B, C, D, E, F, G) une table avec l'ensemble des dépendances suivantes (on suppose que tous les champs de R sont élémentaires): {AB ; A,E G; A D; D F; A, E, FG ; AF ; A,E B; B C ; CD } 1. Donner le graphe minimum de dépendances. Quelle est la clé de R ? 2. Quelle est la forme normale de R ? Justifier votre réponse. 3. Proposer une décomposition en 3FN de R. Exercice n° 3 Il s’agit d’établir le schéma d’une base de données pour la gestion des formations. Un cours est caractérisé par un numéro de cours (NoC), un libellé (LibelleC), une durée en heures (DureeC) et un type (TypeC). Un cours est le plus souvent assuré par plusieurs animateurs qui peuvent intervenir dans plusieurs cours. Un animateur est caractérisé par un numéro (NoA), un nom (NomA) et une adresse (AdrA). Chaque cours est suivie par un certain nombre de participants. Un participant est caractérisé par un numéro (NoP), un nom (NomP) et une adresse (AdrP). 1. Tracer le graphe des dépendances fonctionnelles. 2. Donner la structure de la base de données de gestion des formations. Exercice n° 4 On souhaite élaborer une base de données cinématographique en ligne afin de connaître l'avis des internautes sur chaque film. Sur ce site, chaque internaute s'identifiera par un mot de passe et pourra ensuite donner une note aux films de la base. Pour cela, on désire conserver les informations suivantes : Pour un film : titre, genre, année de sortie, langue et résumé Nom et prénom du réalisateur et des acteurs, ainsi que le rôle joué par chacun de ces derniers dans chaque film ; on suppose qu’un film ne peut avoir qu'un seul réalisateur, mais impliquer plusieurs acteurs et que chaque acteur ne peut jouer qu'un seul rôle dans un film donné. Pour un internaute : login, mot de passe, nom et prénom, email, année de naissance et note donnée à chaque film. Année universitaire : 2010/2011 Licence CDA & ASA

TD TH BD CDA-ASA.pdf

Embed Size (px)

Citation preview

Page 1: TD TH BD  CDA-ASA.pdf

1 / 2

TD : THEORIE DES BASES DE DONNEES

Exercice n° 1 Dans la base de données d'une société de transport, la relation suivante décrit pour les jours du

mois en cours les affectations des conducteurs de bus aux lignes: Affectation ( N°ligne, N°conducteur, jour )

Plus précisément, cette relation signifie que tel jour, tel conducteur est affecté à telle ligne de bus. Considérons indépendamment les unes des autres les contraintes potentielles suivantes:

(a) Un conducteur ne peut pas travailler sur deux lignes différentes le même jour; (b) Un conducteur fait les mêmes lignes tous les jours où il travaille; (c) Un conducteur ne fait qu'une seule ligne; (d) Une ligne est toujours parcourue par les mêmes conducteurs; (e) Une ligne n'est parcourue que par un seul conducteur;

Pour chacune de ces contraintes, définir la (ou les) dépendance fonctionnelle ou multivaluée qui lui correspond(ent).

Exercice n° 2 Soit R (A, B, C, D, E, F, G) une table avec l'ensemble des dépendances suivantes (on suppose que

tous les champs de R sont élémentaires): {A→B ; A,E → G; A → D; D → F; A, E, F→ G ; A→F ; A,E → B; B → C ; C→ D }

1. Donner le graphe minimum de dépendances. Quelle est la clé de R ? 2. Quelle est la forme normale de R ? Justifier votre réponse. 3. Proposer une décomposition en 3FN de R.

Exercice n° 3 Il s’agit d’établir le schéma d’une base de données pour la gestion des formations. Un cours est

caractérisé par un numéro de cours (NoC), un libellé (LibelleC), une durée en heures (DureeC) et un type (TypeC). Un cours est le plus souvent assuré par plusieurs animateurs qui peuvent intervenir dans plusieurs cours. Un animateur est caractérisé par un numéro (NoA), un nom (NomA) et une adresse (AdrA). Chaque cours est suivie par un certain nombre de participants. Un participant est caractérisé par un numéro (NoP), un nom (NomP) et une adresse (AdrP).

1. Tracer le graphe des dépendances fonctionnelles. 2. Donner la structure de la base de données de gestion des formations.

Exercice n° 4 On souhaite élaborer une base de données cinématographique en ligne afin de connaître l'avis des

internautes sur chaque film. Sur ce site, chaque internaute s'identifiera par un mot de passe et pourra ensuite donner une note aux films de la base. Pour cela, on désire conserver les informations suivantes :

Pour un film : titre, genre, année de sortie, langue et résumé Nom et prénom du réalisateur et des acteurs, ainsi que le rôle joué par chacun de ces derniers

dans chaque film ; on suppose qu’un film ne peut avoir qu'un seul réalisateur, mais impliquer plusieurs acteurs et que chaque acteur ne peut jouer qu'un seul rôle dans un film donné.

Pour un internaute : login, mot de passe, nom et prénom, email, année de naissance et note donnée à chaque film.

Année universitaire : 2010/2011 Licence CDA & ASA

Page 2: TD TH BD  CDA-ASA.pdf

2 / 2

On considère le schéma de la base de données cinématographique suivant : • Internaute (login, NomInter, PrenomInter, MotPasse, email, AnneNais) • Films (Titre, Genre, Anneesortie, longue, resume, NomPrRealisateur, NomPracteur, role, login, note)

On suppose que la table « Internaute » respecte la 3 FN et que tous les champs de la table « Films » sont élémentaires.

1. Donner le graphe minimum de dépendances (aucun champ supplémentaire ne peut être ajouté) 2. Définir en justifiant la forme normale de la table « Films » et si nécessaire, proposer une

décomposition en 3 FN.

Exercice n°5 Considérons la base de données « immeubles » dont le schéma relationnel est le suivant :

Immeuble(nomImm, adresse, nbEtages, annéeConstruction) Appartement (nomImm, noApp, superficie, étage) Personne (nom, âge, profession) Occupant (nomImm, noApp, nomOcc, anneeoccupation)

Exprimez en algèbre relationnelle les requêtes suivantes :

1. Nom des immeubles ayant strictement plus de 10 étages. 2. Nom et âge des personnes qui habitent un appartement de moins de 70 m de superficie 3. Nom des personnes qui habitent au dernier étage de leur immeuble. 4. Nom des immeubles dans lesquelles aucun informaticien n’habite

Exercice n°6

Soit une base de données « Cinéma », dont le schéma relationnel est le suivant : Acteur(NActeur, NomAct, PrénomAct , DatenaissanceAct, NationalitéAct) Réalisateur(NRéalisateur, NomRea, PrénomRea , DatenaissanceRea, NationalitéRea) Film(NFilm, Titre, catégorie) Jouer(#NActeur, #NFilm) Réaliser(#NFilm, #NRéalisateur) Cinéma(NCinema, NomCinéma, Adresse, Ville) Projection(NProject, #NFilm, #NCinema, DateProjection)

Formuler en algèbre relationnelle les requêtes suivantes:

1. Donner les acteurs (nom et prénom) qui ont participé au film « Le patient anglais ». 2. Afficher les noms, les villes des cinémas dans lesquelles le film «La leçon de piano » a été

projeté pendant le mois « Janvier » de l’année 2008. 3. Donner le nom et le prénom des acteurs et des réalisateurs de nationalité marocaine.

Exercice n° 7

Considérant la base de données « Location » dont le schéma est le suivant : CLIENT(NumClt, NomClt, Profession) HABITATION (CodeHab, TypeHab, Adresse, Ville, LoyerM, #NumProp) // LoyerM est le

loyer mensuel de location de l’habitation. LOCATION(NumLoc, #NumClt, #CodeHab, DateDebutLoc, DateFinLoc) PROPRIETAIRE(NumProp, NomProp, ProfessionProp, AdresseProp, VilleProp)

Exprimer en algèbre relationnelle les requêtes suivantes :

1. Trouver les noms des propriétaires des habitations de type « Villas » située à « Settat ». 2. Afficher le type et la ville des habitations qui n’ont jamais été louée. 3. Trouver les clients qui ont loué à la fois des habitations de type « appartement » et de type

« villas ». 4. Trouver les noms des clients et des propriétaires dont la profession est « informaticien ».