• Aucun résultat trouvé

A B C D a1 b1 c1 d1 a2 b1 c2 d2 a2 b1 c2 d1 a3 b2 c3 d3 a1 b1 c3 d2 1/2

N/A
N/A
Protected

Academic year: 2022

Partager "A B C D a1 b1 c1 d1 a2 b1 c2 d2 a2 b1 c2 d1 a3 b2 c3 d3 a1 b1 c3 d2 1/2"

Copied!
10
0
0

Texte intégral

(1)

Ecole Nationale Polytechnique Année universitaire : 2019/2020

Classe Préparatoire Matière: Informatique 4

2ère année Responsable de matière: Dr. N. BENALIA

Série de travaux dirigés N° 02 Le modèle relationnel Exercice 01

On souhaite créer une base de données concernant une entreprise. Une première étude a mis en évidence trois relations. Pour chacune des relations, la clé est soulignée.

EMPLOYER (NumEmp, Nom, Prénom, Adresse, Téléphone, Qualification) SERVICE (NomService, Responsable, Téléphone)

PROJET (NomProjet, DateDeb, DateFin, NumEmp)

En considérant les possibilités offertes par ce schéma, répondre aux questions suivantes en justifiant vos réponses par rapport au modèle relationnel et par rapport à la sémantique intuitive des relations.

Question 1: Un employé peut-il avoir plusieurs qualifications?

Question 2: Un employé peut-il faire plusieurs projets en meme temps?

Question 3: Une personne peut-elle etre responsable de plusieurs services?

Question 4: Un service peut-il avoir plusieurs responsables?

Exercice 02

Soit l’extention suivante de la relation R(A,B,C, D) qui est donnée comme représentative de toutes les DFs qui sont valides sur R.

1. Donner le schéma de R. Quel est le degré de R? Quelle est la cardinalité de R?

2. Dites si les DFs suivantes sont vérifiées sur R ou non. Justifier.

a. A -> D

b. A,B -> C

c. A,D -> B,C d. D -> B

3. Parmi les DFs ci-dessus, quelles sont celles qui sont des DFEs et celles qui ne le sont pas. Justifier votre réponse.

4. Donner la couverture minimale de l’ensemble des DFs.

5. Donner une clé primaire pour cette relation. Justifier votre réponse.

6. Quelle est la plus grande forme normale de R?

Exercice 03

Etudier la relation suivante et proposer un schéma en 3ème forme normale en justifiant les décompositions proposées :

Présentation (N°Conférencier, Nom_Conférence, Date_Conférence, Nom_Conférencier, Laboratoire_affiliation, Lieu_Conférence, Sujet_Présenté)

Sachant que :

Une conférence est identifiée par son nom et la date à laquelle elle aura lieu.

Un conférencier ne présente qu’un seul sujet par conférence.

Un conférencier est affilié à un seul laboratoire de recherche.

Exercice 04 Soit la relation:

1/2

A B C D

a1 b1 c1 d1

a2 b1 c2 d2

a2 b1 c2 d1

a3 b2 c3 d3

a1 b1 c3 d2

(2)

R (Fournisseur, Adresse, Raison-Sociale, no-Produit, Libellé-Produit, Quantité, Prix, No- Commande, Délai, Date)

et les dépendances fonctionnelles suivantes:

No-Commande → Fournisseur, Délai, Date Fournisseur → Raison-Sociale, Adresse No-Commande, no-Produit → Quantité No-Produit, Fournisseur → Prix

No-Produit → Libellé-Produit

1. Donner quelques exemples de tuples correspondant à la relation R.

2. Indiquer les clés candidates de la relation R.

3. Citer les anomalies et les redondances qui se trouvent dans la relation R.

4. Décomposer la relation R afin de supprimer les anomalies.

Exercice 05

Soit le schéma relationnel suivant :

Hypothèses :

• Le loyer d'un appartement donné peut être renégocié entre deux locations, mais le mode de paiement du loyer (virement, chèque, ...) est imposé par le propriétaire indépendamment du locataire et indépendamment de l'appartement.

Le loyer est versé par le locataire à l'agence qui reverse ensuite à chaque propriétaire la partie qui lui est due (déduction faite des frais de gestion qui sont payés par l'agence).

Il n'est pas nécessaire de conserver le mode de paiement dans les historiques des locations.

Les frais de gestion de l'appartement sont à la charge du propriétaire et fonction de l'appartement (taille, situation, ...).

Un locataire peut bien sûr louer plusieurs appartements, mais on ne prendra pas en compte la collocation dans cet exercice (il n'y a qu'un seul locataire pour un appartement donné à un instant donné).

Il peut, par contre, y avoir plusieurs propriétaires. Chacun détient alors un pourcentage du tantième correspondant à l'appartement. Le tantième de l'appartement indique les caractéristiques de l'appartement dans l'immeuble (situation, superficie, ...) de façon chiffrée.

Il faut garder l'historique des locations enregistrées dans le système (et pas uniquement celles en cours) mais pas des propriétaires des appartements (on ne souhaite conserver que les propriétaires actuels). Enfin, on considère qu'il n'y a pas de changement de propriétaire pendant une location.

Questions:

1. Indiquer en quelle forme normale est la relation ci-dessus. Justifier votre réponse.

2. Donner les transformations successives à effectuer sur la relation pour qu'elle soit en BCNF.

Indiquer clairement les transformations nécessaires pour chaque forme normale (si la relation est par exemple en 2NF, il faut montrer comment transformer la relation pour qu'elle soit en 3NF et donner la/les relation(s) obtenue(s). Puis il faut donner les transformations nécessaires et la/les relation(s) obtenue(s) pour qu'elle soit en BCNF).

2/2

Agence (No-Locataire, Nom-Locataire, No-Appartement, Adresse-Appartement, Nombre-Pièce, DateDébut-Location, DateFin-location, Montant-Loyer, ModePaiement-Loyer, No-Propriétaire, Nom- Propriétaire, FraisGestion-Appartement, Nb-tantième)

(3)

Ecole Nationale Polytechnique Année universitaire : 2019/2020 Classe Préparatoire Matière : Informatique

2ère année Responsable de TD: Dr. N. BENALIA

Corrigé type de la Série de travaux dirigées N° 02 Le modéle relationnel

Corrigé de l’exercice 1:

Question1: Un employé peut-il avoir plusieurs qualifications?

Réponse 1: Non, car NumEmp->Qualification.

Question2: Un employé peut-il faire plusieurs projets en meme temps?

Réponse 2: Si en même temps veut dire même DateDeb et même DateFin alors la réponse est Non.

Si en même temps veut dire (mêmes DateDeb et DateFin différentes) ou ( mêmes DateFin et DateDeb différentes), alors la réponse est : Oui.

Question3: Une personne peut-elle etre responsable de plusieurs services?

Réponse 3: Oui, car on peut avoir par exemple les occurrences suivantes dans la relation.

SERVICE:

S1 R1 T1

S2 R1 T2 (ou même T1)

Question4: Un service peut-il avoir plusieurs responsables ? Réponse 4: Oui (même chose que pour la Question 3)

Corrigé de l’exercice 02

1) Donner le shéma de R. Quel est le degré de R? Quelle est la quardinalité de R?

Schéma de R : R(A, B, C, D) (on doit souligner la clé déterminée en 4) Degré de R= 4 (4 attributs)

Cardinalité de R=5 (5 tuples)

2) Dites si les DFs suivantes sont vérifiées sur R ou non . Justifier.

a. A -> D

Non car par exemple à a1 correspondent 2 valeurs : d1 et d2 b. A,B -> C

Non, car par exemple au couple (A1, b1) correspondent 2 valeurs : d1 et d2 c. A,D -> B,C

A,D->B: oui, car tous les couples (ai, di) sont différents.

A,D->C: oui car tous les couples (ai, di) sont différents.

d. D -> B

Oui, car même pour les di qui se répètent, on a le même bi

3) Parmi les DFs ci-dessus, quelles sont celles qui sont des DFEs et celles qui ne le sont pas. Justifier votre réponse.

Réponse :

a) n’est pas DFE car n’est pas DF b) n’est pas DFE car n’est pas DF c) A,D ->B non, car D détermine B

A,D ->C oui, car ni A ni D ne déterminent C

(4)

d) est DFE, car elle est DF et a un seul attribut à gauche

4) Donner une clé primaire pour cette relation. Justifier votre réponse.

Réponse : (A,D) et (C,D) sont 2 clés candidates car elles déterminent tous les autres attributs de R. Celle que je choisis sera une clé primaire

5) Quelle est la plus grande forme normale de R?

Réponse : si on suppose que tous les attributs sont atomiques, alors R est 1FN. Si je choisis (A,D) comme clé primaire, R n’est pas 2FN car D->B

Corrigé de l’exercice 03

La clé candidate est composée de (N°Conférencier, Nom_Conférence, Date_Conférence) 1 N°Conférencier, Nom_Conférence, Date_Conférence --> NomConférencier 2 N°Conférencier, Nom_Conférence, Date_Conférence --> Laboratoire_affiliation 3 N°Conférencier, Nom_Conférence, Date_Conférence --> Lieu_Conférence 4 N°Conférencier, Nom_Conférence, Date_Conférence --> Sujet_Présenté Présentation est en 1FN

Or on peut déduire :

5 N°Conférencier --> NomConférencier 6 N°Conférencier --> Laboratoire_affiliation

7 Nom_Conférence, Date_Conférence --> Lieu_Conférence 1 +5→ 1 est DFE

2 +6→ 2 est DFE 3 +7→ 3 est DFE

D’où Présentation n’est pas en 2FN -->

Conférencier (N°Conférencier ,NomConférencier, Laboratoire_affiliation) Conférence (Nom_Conférence, Date_Conférence, Lieu_Conférence) (

Présentation (N°Conférencier, Nom_Conférence, Date_Conférence, Sujet_Présenté) Ces 3 relations sont en 3FN

Corrigé de l’exercice 04

1. Quelques exemples de tuples correspondant à la relation R

Aucun attribut n’est à lui seul clé candidate

Bien sur l’ensemble des attributs identifie de façon unique chacun des tuples mais n’est

pas minimal

[No-Commande, No-Produit] est en DF élémentaire avec Quantité (1 ère DF de

(5)

l’hypothèse)

[No-Commande, No-Produit] est en DF (mais pas élémentaire) avec les autres attributs

De plus : No-Commande → Fournisseur, Délai, Date

De plus : Fournisseur → Raison Sociale, Adresse (par transitivité : No-Commande → Raison Sociale, Adresse

Et donc No-Commande → Fournisseur, Délai, Date, Raison Sociale, Adresse Et donc [No-Commande, No-Produit] → Fournisseur, Délai, Date, Raison-Sociale, Adresse, Quantité (mais pas élémentaire)

o De plus No-Produit → Libellé-Produit

Et donc [No-Commande, No-Produit] → Libellé-Produit (pas élémentaire)

Et donc [No-Commande, No-Produit] → Fournisseur, Délai, Date, Raison-Sociale, Adresse, Libellé-Produit, Quantité (mais pas élémentaire)

o Si on applique l’axiome d’Amstrong de pseudo-transitivité : Si X → Y et WY → Z alors WX → Z

X = No-Commande, Y = Fournisseur, W = No-Produit, Z = prix On sait que :

No-Commande → Fournisseur et No-Produit, Fournisseur → Prix, Donc : No-Commande, No-Produit → Prix

Et donc [No-Commande, No-Produit] → Fournisseur, Délai, Date, Raison-Sociale, Adresse, Libellé-Produit, Prix, Quantité (mais pas élémentaire)

[No-Commande, No-Produit] est une clé candidate 3. Les anomalies et les redondances qui se trouvent dans la relation R

On note de nombreuses anomalies dans le tableau qui résultent des dépendances fonctionnelles suivantes :

DF1 : No-Commande → Fournisseur, Délai, Date DF2 : Fournisseur → Raison-Sociale, Adresse DF3 : No-Produit, Fournisseur → Prix

DF4 : No-Produit → Libellé-Produit On constate donc que :

Le fournisseur, le délai et la date sont dupliquée chaque fois qu’une commande contient plusieurs produits.

La raison sociale et l’adresse sont dupliquées chaque fois qu’apparait le même fournisseur dans une commande.

Le prix est dupliqué si dans plusieurs commandes apparait le même produit et le même fournisseur.

Chaque fois qu’un produit apparait dans une commande sont libellé est dupliqué.

3. La décomposition de la relation R afin de supprimer les anomalies

(6)

R (Fournisseur, Adresse, Raison-Sociale, no-Produit, Libellé-Produit, Quantité, Prix, No- Commande, Délai, Date) se décompose en :

R1(Adresse, Raison-Sociale, no-Produit, Libellé-Produit, Quantité, Prix, No- Commande)

R2(No-Commande, Fournisseur, Délai, Date) – DF1

Le problème est que l’on a perdu une DF (DF2). Il faut donc essayer de faire autrement ! R (Fournisseur, Adresse, Raison-Sociale, no-Produit, Libellé-Produit, Quantité, Prix, No- Commande, Délai, Date) se décompose en :

R1 (Fournisseur, no-Produit, Libellé-Produit, Quantité, Prix, No-Commande, Délai, Date) R2 (Fournisseur,Raison-Sociale, Adresse) – DF2

R1 se décompose en :

R1’ (no-Produit, Libellé-Produit, Quantité, Prix, No-Commande) R1’’ (No-Commande, Fournisseur, Délai, Date) – DF1

Le problème est que l’on a perdu une DF (DF3).

Il semble que si on procède dans l’ordre DF4, DF3, DF2, DF1 on n’ait pas de perte de dépendance car les parties droites n’influencent pas les DF (partie gauche) suivantes (à vérifier)

Corrigé de l’exercice 05:

Hypothèses du système:

• Le loyer d'un appartement donné peut être renégocié entre deux locations, mais le mode de paiement du loyer (virement, chèque, ...) est imposé par le propriétaire indépendamment du locataire et indépendamment de l'appartement.

• Le loyer est versé par le locataire à l'agence qui reverse ensuite à chaque propriétaire la partie qui lui est due (déduction faite des frais de gestion qui sont payés par l'agence).

• Il n'est pas nécessaire de conserver le mode de paiement dans les historiques des locations.

(7)

• Les frais de gestion de l'appartement sont à la charge du propriétaire et fonction de l'appartement (taille, situation, ...).

• Un locataire peut bien sûr louer plusieurs appartements, mais on ne prendra pas en compte la collocation dans cet exercice (il n'y a qu'un seul locataire pour un appartement donné à un instant donné).

• Il peut, par contre, y avoir plusieurs propriétaires. Chacun détient alors un pourcentage du tantième correspondant à l'appartement. Le tantième de l'appartement indique les caractéristiques de l'appartement dans l'immeuble (situation, superficie, ...) de façon chiffrée.

• Il faut garder l'historique des locations enregistrées dans le système (et pas uniquement celles en cours) mais pas des propriétaires des appartements (on ne souhaite conserver que les propriétaires actuels). Enfin, on considère qu'il n'y a pas de changement de propriétaire pendant une location.

Si on résume le graphe de couverture minimale :

Questions et réponses :

1. Indiquer en quelle forme normale est la relation ci-dessus. Justifier votre réponse.

Il faut déterminer quelle est la clé candidate : D’après les DFs mentionnées ci-dessus il semble que la seule clé candidate soit :

(8)

Intuitivement c’est l’union des parties gauche du premier niveau du graphe

En pratique on montre qu’il y a une DF vers tous les autres attributs et que si on en enlève un on ne peut identifier tous les tuples de la relation.

La relation Agence est :

• 1NF (pas d’attributs multivalués)

• N’est pas 2NF car elle ne vérifie : « Une relation est en 2NF ssi elle est en 1NF et ssi tout attribut qui n'appartient pas à une clé candidate ne dépend pas d'un sousensemble strict des attributs d'une clé candidate »

Les 4 DFs suivantes empêchent la relation Agence d’être en 2NF

Pour transformer cette relation en 2NF il faut la décomposer en appliquant la règle énoncée dans le cours :

R’(No-Appartement, No-propriétaire, DateDébut-Location) reste de Agence R1 (No- Appartement, DateDébut-Location, No-Locataire, Montant-Loyer, DateFinLocation, Nom-Locataire)

R2(No-propriétaire, ModePaiement-Loyer, Nom-propriétaire)

R3(No-Appartement, FraisGestion-Appartement, Adresse-Appartement, NombrePièce) R4 (No-propriétaire, n°appartement, Nb-tantième)

(9)

2. Donner les transformations successives à effectuer sur la relation pour qu'elle soit en BCNF. Indiquer clairement les transformations nécessaires pour chaque forme normale (si la relation est par exemple en 2NF, il faut montrer comment transformer la relation pour qu'elle soit en 3NF et donner la/les relation(s) obtenue(s). Puis il faut donner les transformations nécessaires et la/les relation(s) obtenue(s) pour qu'elle soit en BCNF).

On montre facilement que R’, R1, R2, R3, R4 sont en 2NF (plusieurs ont une clé candidate mono-attribut.

« Une relation est en 3NF ssi elle est en 2NF et ssi chaque attribut qui n'appartient pas à une clé candidate ne dépend pas fonctionnellement d'un attribut qui n'appartient pas à une clé candidate »

• R’ est 3NF et en BCNF

• R1 : clé candidate : No-Appartement. R1 n’est pas en 3NF car elle contient la DF NoLocataire → Nom-locataire R1A(No-Appartement, DateDébut-Location, No- Locataire, Montant-Loyer, DateFinLocation)

R1B(No-Locataire, Nom-Locataire)

• R2 (clé candidate No-Propriétaire) est 3NF et BCNF

• R3 (clé candidate No-Appartement) est 3NF et BCNF

• R4 (clé candidate No-Propriétaire, No-Appartement) est 3NF et BCNF

Après décomposition en R1A et R1B, ces relations sont en 3NF et BCNF.

3. Démontrer qu'il n'y a pas de perte de données sur le schéma relationnel normalisé.

On montre que les DFs mises en évidence dans :

Sont toujours présentes (DF entre la clé candidate et chacun des attributs)

En ce qui concerne la perte de données, on peut avoir une approche expérimentale en faisant la jointure sur un ensemble de tuples mais il faut vérifier pour chaque décomposition de Agence vers R’, R1A, R1B, R2, R3 et R4 le théorème de HEATH : « Toute relation R(X, Y, Z) est décomposable dans perte d’information en

• R1 = projection (X, Y) de R et

• R2 = projection (X, Z) de R

(10)

S’il y a dans R une dépendance fonctionnelle de X vers Y (X → Y) » On montre facilement que c’est le cas.

Références

Documents relatifs

Construire les symétriques de chacune des figures suivantes par rapport à la

[r]

Remarque : Certaines unités (Einheit) n’ont pas de liste de vocabulaire

L'Australie est l'undespays les plusvastesau mondeavec 7] millionsdekilomètrescarrés, maispeupeuplé(unpeumoins de 23 millionsd'habitants).Ses ressources minières gigan-

Montrer qu’il existe une application injective de N dans

Alternatively: if we put the vertex A at the origin of a coordinate system, and direct the edges along the sides of the cube, we are asked to find the angles between the vectors (1,

Q1 – Quels que soient les signes affectés à chacun des polynômes , le produit ne peut être nul car il suffit d'un seul irrationnel présent dans chacun d'eux.. Et c'est le

On trace les trois cercles respec- tivement circonscrits aux triangles passant par le milieu du segment joignant un sommet à G et par les pieds des médianes issues des deux