9
Normalisation – Exercice « Agence immobilière » 1. Base de données initiale Num_Client Nom_Client Num_App Adr_App DateD_Loc DateF_Loc Montant Num_Prop Nom_Prop CR76 Jean DUPONT PG4 12, rue de la Gare 01.07.93 31.08.95 3500 CX40 Jeanne MOULIN PG16 7, av. de la République 01.09.95 01.09.96 4500 CX93 Alain MULLER CR56 Claire SERRON PG4 12, rue de la Gare 01.09.92 10.06.93 3500 CX40 Jeanne MOULIN PG36 3, Grande Rue 10.10.93 01.12.94 3800 CX93 Alain MULLER PG16 7, av. République 01.01.95 10.08.95 4500 CX93 Alain MULLER

BD TD Normalisation TD AgImmo

Embed Size (px)

Citation preview

Page 1: BD TD Normalisation TD AgImmo

Normalisation – Exercice « Agence immobilière » 1. Base de données initiale

Num_Client Nom_Client Num_App Adr_App DateD_Loc DateF_Loc Montant Num_Prop Nom_Prop

CR76 Jean DUPONT PG4 12, rue de la Gare 01.07.93 31.08.95 3500 CX40 Jeanne MOULIN

PG16 7, av. de la République 01.09.95 01.09.96 4500 CX93 Alain MULLER

CR56 Claire SERRON PG4 12, rue de la Gare 01.09.92 10.06.93 3500 CX40 Jeanne MOULIN

PG36 3, Grande Rue 10.10.93 01.12.94 3800 CX93 Alain MULLER

PG16 7, av. République 01.01.95 10.08.95 4500 CX93 Alain MULLER

Page 2: BD TD Normalisation TD AgImmo

2. Base de données en 1ère forme normale (FN1)

Num_Client Nom_Client Num_App Adr_App DateD_Loc DateF_Loc Montant Num_Prop Nom_Prop

CR76 Jean DUPONT PG4 12, rue de la Gare 01.07.93 31.08.95 3500 CX40 Jeanne MOULIN

CR76 Jean DUPONT PG16 7, av. de la République 01.09.95 01.09.96 4500 CX93 Alain MULLER

CR56 Claire SERRON PG4 12, rue de la Gare 01.09.92 10.06.93 3500 CX40 Jeanne MOULIN

CR56 Claire SERRON PG36 3, Grande Rue 10.10.93 01.12.94 3800 CX93 Alain MULLER

CR56 Claire SERRON PG16 7, av. République 01.01.95 10.08.95 4500 CX93 Alain MULLER

Page 3: BD TD Normalisation TD AgImmo

3. Dépendances fonctionnelles et clé Dépendances fonctionnelles

Num_Client -> Nom_Client ; Num_Client Num_App -> DateD_Loc DateF_Loc

Num_App -> Adr_App Montant Num_Prop Nom_Prop ; Num_Prop -> Nom_Prop

Clé :

(Num_Client Num_App) détermine tous les attributs de la relation

CLE

Num_Loc

Adr_App Montant

DateD_Loc

DateF_Loc

Nom_Prop

Page 4: BD TD Normalisation TD AgImmo

4. Mise en 2ème forme normale (FN2)

Supposons qu’on veuille modifier ou corriger l’adresse d’un appartement apparaissant plusieurs fois dans la table (différents locataires à différentes périodes) => il faut modifier plusieurs n-uplets !

Ceci est du au fait que certains attributs ne dépendent pas pleinement de la clé, et qu’il existe donc des dépendances partielles (cf. schéma ci-dessous).

Il faut donc décomposer R pour obtenir un schéma en 2ème forme normale :

Page 5: BD TD Normalisation TD AgImmo

R1 (Clients)

Num_Client Nom_Client

CR76 Jean DUPONT

CR56 Claire SERRON

R2 (Appartements)

Num_App Adr_App Montant Num_Prop Nom_Prop

PG4 12, rue de la Gare 3500 CX40 Jeanne MOULIN

PG16 7, av. République 4500 CX93 Alain MULLER

PG36 3, Grande Rue 3800 CX93 Alain MULLER

R3 (Locations)

Num_Client Num_App DateD_Loc DateF_Loc

CR76 PG4 01.07.93 31.08.95

CR76 PG16 01.09.95 01.09.96

CR56 PG4 01.09.92 10.06.93

CR56 PG36 10.10.93 01.12.94

CR56 PG16 01.01.95 10.08.95

Page 6: BD TD Normalisation TD AgImmo

5. Mise en 3ème forme normale (FN3)

Supposons qu’on veuille modifier ou corriger le nom d’un propriétaire apparaissant plusieurs fois dans la table (propriétaire de plusieurs appartements) => il faut modifier plusieurs n-uplets !

Ceci est du au fait qu’il existe une dépendance transitive entre Num_App, Num_Prop et Nom_Prop (cf. schéma précédent).

Il faut donc décomposer R2 pour obtenir un schéma en 3ème forme normale : R'2 (Appartements)

Num_App Adr_App Montant Num_Prop

PG4 12, rue de la Gare 3500 CX40

PG16 7, av. de la République 4500 CX93

PG36 3, Grande Rue 3800 CX93

R4 (Propriétaires)

Num_Prop Nom_Prop

CX40 Jeanne MOULIN

CX93 Alain MULLER

Page 7: BD TD Normalisation TD AgImmo

6. Mise en forme normale de Boyce-Codd (FNBC)

Pour que le schéma de décomposition obtenu soit FNBC, il faut vérifier que, s'il existe des clés secondaires, le schéma de décomposition soit encore valable avec ces clés.

S'il n'existe pas de clé secondaire et que le schéma obtenu est FN3, alors il est aussi FNBC. 7. Exercice complémentaire RV Locations

Num_Client Date_RV Heure_RV Num_Emp Salle

CR76 13.05.95 10.30 SG5 101

CR56 13.05.95 12.00 SG5 101

CR74 13.05.95 12.00 SG37 102

CR56 01.07.95 10.30 SG5 102

Page 8: BD TD Normalisation TD AgImmo

Contraintes

Un client n'est reçu qu'une seule fois dans une journée par un employé.

Un employé occupe la même salle de RV toute la journée.

Dépendances fonctionnelles

Num_Client Date_RV -> Heure_RV Num_Emp

Num_Emp Date_RV -> Salle

Num_Emp Date_RV Heure_RV -> Num_Client

Date_RV Salle -> Num_Emp

Date_RV Salle Heure_RV -> Num_Client

Attention : il faut considérer les couvertures minimales !

Clés candidates :

Num_Client Date_RV

Num_Emp Date_RV Heure_RV

Date_RV Salle Heure_RV

Page 9: BD TD Normalisation TD AgImmo

R1

Num_Client Date_RV Heure_RV Num_Emp

CR76 13.05.95 10.30 SG5

CR56 13.05.95 12.00 SG5

CR74 13.05.95 12.00 SG37

CR56 01.07.95 10.30 SG5

R2

Num_Emp Date_RV Salle

SG5 13.05.95 101

SG37 13.05.95 102

SG5 01.07.95 102