TD 10: Normalisation
Normalisation, Perte de DF, Perte d’Information, FNBC, FN3
L3 MIASHS/Ingémath |
Année 2024 |
Exercice
Soit
Rappelons que
, , donc on ajoute \ donc on ajoute \ , donc on ajoute \ Donc est équivalent à lui-même équivalent à . , , rien à ajouter\ , donc on ajoute \ \ Donc est équivalent à . , , rien à ajouter\ , donc on ajoute \ donc on ajoute \ Donc est équivalent à .Tout attribut est une clef, donc c’est aussi le cas pour
. est donc équivalent à .
Exercice
Soit
La DF
- Initialisation
- Tant que
grandit : pour ,
L’ensemble
L’intérêt de cet algorithme est qu’on ne calcule pas toutes les DF locales. Si au cours du calcul on obtient que
est préservée puisqu’elle est locale à . n’est pas préservée puisque
est préservé puisqu’il ne contient que des DF locales.
est préservée
Aucune DF n’est préservée
Exercice
On considère le schéma de relation suivant concernant la gestion de rendez-vous d’un service d’intervention hospitaliers.
Chaque rendez-vous implique un médecin et un patient. Chaque médecin est identifié par un numéro, IdM
, un nom NomM
et un prénom PrenomM
. Le rendez-vous est à une date, DateRV
, et à une heure, HeureRV
données. Chaque patient est identifié par un numéro, IdP
, un nom NomP
et un prénom PrenomP
. Chaque rv est programmé pour un type d’intervention médical, IdInterV
. On suppose que chaque jour, un médecin ne peut pratiquer qu’un seul type d’intervention médicale (consultation, type de chirurgie donnée).
On a les dépendances fonctionnelles
IdM, DateRV,HeureRV, IdInterV → IdP
IdM, DateRV → IdInterV
IdM → NomM, PrenomM
IdP → NomP, PrenomP
IdP,DateRV,HeureRV → IdInterV
IdP,DateRV,HeureRV → IdM,NomM
- Quels sont les inconvénients d’une telle modélisation par une seule table en terme d’anomalies d’insertion ou de suppression ?
A chaque nouveau rv inséré dans
- Calculer
- Proposez un ensemble d’attributs formant une clé de la relation.
Il y a plusieurs clés possibles. Par exemple, {IdM, DateRV, HeureRV}
mais aussi {IdP, DateRV, HeureRV}
.
- Donner un ensemble de dépendances fonctionnelles
équivalent à qui soit minimal (i.e. sans règles redondantes, notamment). Justifiez
IdM, DateRV, HeureRV → IdP
IdP, DateRV, HeureRV → IdM
IdM, DateRV → IdInterV
IdM → NomM
IdM → PrenomM
IdP → NomP
IdP → PrenomP
On se donne la décomposition de
Toutes les dépendances fonctionnelles sont-elles préservées par cette décomposition ?
Est-elle sans perte d’information ?
Pour
, déterminer si est en forme normale de Boyce-Codd.
Préservation des DF
Les dépendances de Σ’ sont locales aux
Décomposition SPI ?
Oui, en utilisant seulement (b) et (c) dans l’algorithme de poursuite\
Rappelons que, par définition,
Donc
De plus, on n’a pas besoin d’examiner les cas
IdP → NomP, PrenomP
est locale à IdP
n’est pas une super-clef de
IdM^+ ∩ \mathcal{A}_2 = {idM, NomM, PrenomM} ∩ \mathcal{A}_2 =IdM
\
\ \
- Mêmes questions pour la décomposition :
La décomposition est SPI.
Exercice
Soit une relation concernant des personnes résidant en France avec les attributs suivants:
Nom, Numéro de sécurité sociale, Commune, Département, Code postal, Numéro de téléphone
avec l’ensemble
Numéro de sécurité sociale → Nom, Commune, Département, Code postal, Numéro de téléphone
Commune → Département
Code postal → Commune, Département
- Ce schéma est-il en forme normale de Boyce-Codd ?
Soit la décomposition
Chaque
est-elle en forme normale de Boyce-Codd ?Cette décomposition préserve-t-elle les dépendances fonctionnelles ?
Cette décomposition est-elle sans perte d’information ?
Mêmes questions pour la décomposition
- Non, car on a
et n’est pas une clef. n’est pas en FNBC car est locale à et n’est pas une clef de .\ est en FNBC puisque est équivalent à\ \ Les DF sont préservées car est équivalent à\ qui ne contient que des DF locales.\ La décomposition est SPI. est en FNBC car est de cardinal 2.\ n’est pas en FNBC car est locale et n’est pas une clé de \ La décomposition est SPI et préserve les DF.
Exercice
Soit un schéma d’attributs
- La seule clef est
. - Les seules clefs sont
et . - Les seules clefs sont
et . - Les seules clefs sont
et .
Exercice
Soit le schéma
- Quelle est la fermeture
de ?
Initialisation :
Etape 1 : Il existe une DF dont la partie gauche est incluse dans $ X$ :
D’où
Etape 2: Il existe une DF dont la partie gauche est incluse dans $ X$ :
D’où
C’est fini, plus de DF à utiliser. Conclusion
- Quelles sont les super-clés ? Les clés ?
Une clef doit contenir
Exercice
Soit le schéma
- Calculer la fermeture
de . - Est-ce que
implique la dépendance fonctionnelle ~? - Est-ce que
implique la dépendance fonctionnelle ~?
- On obtient
. - Oui car
- Non car
ne contient pas .
Exercice
On considère une schéma
Propriétaire, Occupant, Adresse, Noapt, Nbpièces, Nbpersonnes
Un nuplet/tuple (p, o, a, n, nb1, nb2)
ayant la signification suivante : La personne o
habite avec nb2
personnes l’appartement de numéro n
ayant nb1
pièces dont le propriétaire est p
.
Une analyse de cette relation nous fournit un ensemble initial
Occupant → Adresse
Occupant → Noapt
Occupant → Nbpersonnes
Adresse, Noapt → Proprietaire
Adresse, Noapt → Occupant
Adresse, Noapt → Nbpieces
- Déterminer les clés du schémas
- Les schéma est-il en FN3 ?
- Si la réponse est Non, décomposer sans perte d’information et sans perte de dépendances fonctionnelles.
Exercice
Soit le schéma
IdLivre → Titre
Langue → Pays
IdTraducteur → Nom
IdLivre, IdTraducteur, Langue → Date
IdLivre, IdTraducteur → Langue
Appliquer l’algorithme de décomposition vu en cours pour obtenir une décomposition de
Exercice
Soit le schéma
BE → AC
B → H
F → CD
D → G
- Appliquer l’algorithme de décomposition vu en cours pour obtenir une décomposition de
qui respecte la FNBC et est sans perte d’information. Déterminer quelles DF sont préservées. - Peut-on, en ajoutant un sous-schéma à la décomposition, obtenir une décomposition FNBC sans perte d’information et sans perte de DF ?
Rappelons l’algorithme pour décomposer un schéma
- On considère la décomposition initiale
. - Tant qu’il existe un sous-schéma
et tels que et (ce qui signifie que la DF locale est une violation de FNBC pour ), on remplace par les deux sous-schémas De plus il n’y a pas besoin de considérer les parties telles que puisque dans ce cas on ou .
Il est garanti que la décomposition finale est en FNBC et SPI. Par contre toutes les DF ne sont pas préservées en général. De plus on obtient, en général, des décompositions différentes si on change les DF (violant FNBC) utilisées. } -
Décomposition obtenue~:
BH BEAC DG FD BEF
La seule DF qui n’est pas préservée est
BH BEAC DG FD BEF FC
qui est en FNBC et préserve les DF. De plus elle est SPI puisque la décomposition initiale est SPI. (
Exercice
Reprendre les questions de l’exercice précédent pour le schéma
BE → AC
B → H
F → CD
D → G
A→ E
- De manière similaire à l’exercice précédent on arrive à
BH BEAC DG FD BEF
mais, ici, BEAC
n’est pas en FNBC (les autres le sont). A^+=AE
donc on remplace BEAC
par AE
et ABC
. Une décomposition FNBC est donc BH AE ABC DG FD BEF
Les DF BE → AC
et F → C
ne sont pas préservées. Les autres sont préservées.
- Il n’existe de décomposition FNBC qui préserve
BE → A
. En effet, siBE → A
est préservée, il existe une DF locale à un sous-schéma de la formeX → A
. Cela implique queBE ⊂ X
et doncBEA ⊂ B
. Par suite n’est pas en FNBC à cause de .