Académique Documents
Professionnel Documents
Culture Documents
Cas
UNF
NUM_CLIENT NOM_CLIENT NUM_PROPRIETE ADRESSE_PRO DEB_BAIL FIN_BAIL MNT_LOC NUM_PROPRIETAIRE NOM_PROPRIETAIRE
CL76 Jean Martin LM4 430 des Peupliers #5, 2003-07-01 2004-08-31 350 CP40 Brigitte Gauthier
LM16 Montréal 2004-09-01 2005-09-01 450 CP93 Guy Lacasse
911 de l’Aéroport #1809, Montréal
CL56 Oscar Meier LM4 430 des Peupliers #5, 2002-09-01 2003-06-10 350 CP40 Brigitte Gauthier
Montréal 2003-10-10 2004-12-01 375 CP93 Guy Lacasse
LM36 1780 Boul. Central #210, Montréal 2005-11-01 2006-08-10 450 CP93 Guy Lacasse
LM16 430 des Peupliers #5,
Montréal
Mise à plat vers 1NF
NUM_CLIENT NUM_PROPRIETE NOM_CLIENT ADRESSE_PRO DEB_BAIL FIN_BAIL MNT_LOC NUM_PROPRIETAIRE NOM_PROPRIETAIRE
CL76 LM4 Jean Martin 430 des Peupliers #5, 2003-07-01 2004-08-31 350 CP40 Brigitte Gauthier
Montréal
CL76 LM16 Jean Martin 911 de l’Aéroport #1809, 2004-09-01 2005-09-01 450 CP93 Guy Lacasse
Montréal
CL56 LM4 Oscar Meier 430 des Peupliers #5, 2003-06-10 2003-06-10 350 CP40 Brigitte Gauthier
Montréal
CL56 LM36 Oscar Meier 1780 Boul. Central #210, 2004-12-01 2004-12-01 375 CP93 Guy Lacasse
Montréal
CL56 LM16 Oscar Meier 911 de l’Aéroport #1809, 2006-08-10 2006-08-10 450 CP93 Guy Lacasse
Montréal
On identifie les df
Df1
NUM_CLIENT, NUM_PROPRIETE NOM_CLI, ADRESSE_PROPRIETE,
DATE_DATE_BAIL, DATE_FIN_BAIL, MNT_LOCATION_PROPRIETE,
NOM_PROPRIETAIRE
Df2
NUM_CLIENT NOM_CLI
Df3
NUM_PROPRIETE ADRESSE_PROPRIETE, MNT_LOCATION_PROPRIETE,
NUM_PROPRIETAIRE, NOM_PROPRIETAIRE
Df4
NUM_PROPRIETAIRE NOM_PROPRIETAIRE
Df5
NUM_CLIENT, DATE_DEBUT_BAIL NUM_PROPRIETE, NOM_CLI,
ADRESSE_PROPRIETE, DATE_FIN_BAIL, MNT_LOCATION_PROPRIETE,
NUM_PROPRIETAIRE, NOM_PROPRIETAIRE
DF6
NUM_PROPRIETE, DATE_DEBUT_BAIL NUM_CLIENT, NOM_CLI,
ADRESSE_PROPRIETE, DATE_FIN_BAIL, MNT_LOCATION_PROPRIETE,
NUM_PROPRIETAIRE, NOM_PROPRIETAIRE
On identifie les clés candidates, pour le faire, on regarde les déterminants des 6 df :
Pour df1, NUM_CLIENT, NUM_PROPRIETE
Pour df2, NUM_CLIENT
Pour df3, NUM_PROPRIETE
Pour df4, NUM_PROPRIETAIRE
Pour df5, NUM_CLIENT, DATE_DEBUT_BAIL
Pour df6, NUM_PROPRIETE, DATE_DEBUT_BAIL
Les 3 clés candidates sont les déterminants de la df1, df5 et df6.
Pour la df2, on crée une nouvelle relation CLIENT en sortant le déterminé NOM_CLI de
la df2 et en copiant le déterminant NO_CLIENT qui devient la clé primaire de la
nouvelle table, et clé étrangère de la table principale. On peut ajuster le nom des tables en
cours de route. Ce qui donne :
Pour la df3, on crée une nouvelle relation PROPRIETE en sortant les déterminés
ADRESSE_PROPRIETE, MNT_LOCATION_PROPRIETE, NUM_PROPRIETAIRE,
NOM_PROPRIETAIRE de la df3 et en copiant le déterminant NUM_PROPRIETE qui
devient la clé primaire de la nouvelle table, et clé étrangère de la table principale. Ce qui
donne :
Pour enlever cette transitivité, on crée nouvelle relation PROPRIETAIRE avec copie du
déterminant de la df4 NUM_PROPRIETAIRE et en y déplaçant sont déterminé
NOM_PROPRIETAIRE. NUM_PROPRIETAIRE devient la PK de la nouvelle table
(PROPRIETAIRE) et clé étrangère dans la table d’origine (PROPRIETE)