Tables
Formulaires
Automation
Administration
Envoyer un mail
Outlook
Dates - Heures
Fichiers
Références
La normalisation
VBA
1008403 visiteurs
10 visiteurs en ligne
A première vue, la table d'origine ressemble assez bien à la table suivante qui a pourtant l'air bien innocente (remarquez que cette table est déjà modifiée selon la première forme normale, disons donc une version deux !! )
NoTable |
Endroit |
NumPerso |
Menu |
Prix |
1 |
A l'entrée |
12 |
Viande |
10 € |
1 |
A l'entrée |
56 |
Viande |
10 € |
2 |
Fenêtre |
36 |
Viande |
10 € |
2 |
Fenêtre |
73 |
Poisson |
15 € |
A la fin de la normalisation apparaît une construction qui semble être inutilement compliquée !
Endroit |
NoTable |
NoTable |
NumPerso |
Menu |
Menu |
Prix |
||
A l'entrée |
1 |
1 |
12 |
Viande |
Viande |
10 € |
||
Fenêtre |
2 |
1 |
56 |
Viande |
Poisson |
15 € |
||
2 |
36 |
Viande |
||||||
2 |
73 |
Poisson |
Les relations se font d'un coté par NoTable et de l'autre coté par Menu
En réalité, nous devons encore ajouter à la table de droite un champ NoMenu et utiliser dans la table centrale ce NoMenu au lieu du champ Menu.
Endroit |
NoTable |
NoTable |
NumPerso |
NoMenu |
NoMenu |
Menu |
Prix |
||
A l'entrée |
1 |
1 |
12 |
1 |
1 |
Viande |
10 € |
||
Fenêtre |
2 |
1 |
56 |
1 |
2 |
Poisson |
15 € |
||
2 |
36 |
1 |
|||||||
2 |
73 |
2 |
Le jeux en vaut-il la chandelle ?
En y regardant de plus près, on remarque rapidement l'utilité de cette méthode (il suffit d'imaginer que la table d'origine version 2, ce ne sont pas 4 mais 2000 enregistrements):
De fait, une extension est déjà existante depuis le début : la table "Personnel" qui doit au moins posséder les champs "NoPerso" et "NomPerso".
Chaque extension future de la base de données profitera de cette modularité
Le sujet est très loin d'être complet et totalement traité, mais aidera le débutant à appréhender le sujet. Chose qu'il se doit de faire, s'il veut tirer de sa base de données un quelconque plaisir ou avantage à l'utiliser.
Un conseil pour finir :
Ne vous lancez pas dès le début dans une usine à gaz avec des dizaines de tables et de relations. Une petite base avec quelques tables et peu de champs est idéal pour se faire la main, pour comprendre les mécanismes qui doivent gérer cela. Une fois les automatismes acquits, vous éviterez les pièges grossiers qui vous feront abandonner en cours de réalisation.
Et retenez encore ceci :
Dans une base de données, les données se rangent verticalement et non horizontalement, comme vous pourriez en avoir pris l'habitude en utilisant un tableur.