Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Exemple de Normalisation de Bibliothèque
Exemple de Normalisation de Bibliothèque
L'exercice suivant tente d'évaluer les connaissances en matière de normalisation à l'aide d'un exemple simplifié
de base de données pour une petite bibliothèque.
Ce tableau ne répond pas à l'exigence de la première forme normale (1FN) de ne comporter que des champs
atomiques, car le nom du lecteur est un champ qui peut (et doit) être décomposé en nom de famille paternel,
nom de famille maternel et prénoms.
1NF
CodLibro Titre Auteur Éditorial Paterno Materne Noms DateDev
lle
Variable McGraw
1001 Murray Spiegel Pérez Gomez Jean 15/04/2005
complexe Hill
1004 Visual Basic 5 E. Petroustsos Anaya Rivières Terán Ana 17/04/2005
McGraw Le
1005 Statistiques Murray Spiegel René 16/04/2005
Hill rocher
Université Nancy Oracle
1006 Garcia Roque Luis 20/04/2005
Oracle Greenberg Corp.
Université Oracle
1006 Priya Nathan Garcia Roque Luis 20/04/2005
Oracle Corp.
McGraw
1007 Clipper 5.01 Ramalho Pérez Gomez Jean 18/04/2005
Hill
Actuellement, dans notre tableau, nous avons plusieurs dépendances partielles si nous considérons comme
attribut clé le code du livre.
Par exemple, le titre est entièrement identifié par le code du livre, mais le nom du lecteur ne dépend pas
vraiment de ce code, de sorte que cette donnée doit être déplacée dans une autre table.
2FN
Nous avons créé un tableau contenant les données relatives aux lecteurs et nous avons également dû créer la
colonne CodLector afin d'identifier chaque lecteur de manière unique.
Toutefois, cette nouvelle présentation de la base de données nécessite l'utilisation d'une autre table pour
conserver les informations sur les livres prêtés aux différents lecteurs.
Pour la troisième forme normale (3FN), la relation doit être en 2FN et, en outre, les attributs non clés doivent
être mutuellement indépendants et entièrement dépendants de la clé primaire.
Rappelons également que nous avons dit que cela signifie que les colonnes du tableau ne doivent contenir que
des informations sur l'entité définie par la clé primaire, et donc que les colonnes du tableau ne doivent contenir
que des données sur une seule chose.
Dans notre exemple 2FN, la première table contient des informations sur le livre, les auteurs et les éditeurs.
Nous devons donc créer de nouvelles tables pour répondre aux exigences 3FN.
3FN
CodLibro Titre
1001 Variable complexe
1004 Visual Basic 5
1005 Statistiques
1006 Université Oracle
1007 Clipper 5.01
CodAutor Auteur
801 Murray Spiegel
802 E. Petroustsos
Nancy
803 Greenberg
804 Priya Nathan
806 Ramalho
CodEditorial Éditorial
901 McGraw Hill
902 Anaya
903 Oracle Corp.
Bien que nous ayons créé de nouvelles tables de manière à ce que chaque table ne contienne que des
informations sur une seule entité, nous avons également perdu les informations relatives à l'auteur de chaque
livre et aux éditeurs correspondants, de sorte que nous devons créer d'autres tables qui relient chaque livre à
ses auteurs et éditeurs.
CodLibro auteur du
code
1001 801
1004 802
1005 801
1006 803
1006 804
1007 806
CodLibro codÉditorial
1001 901
1004 902
1005 901
1006 903
1007 901
Les autres tableaux ne nécessitent aucune modification.