Bonjour,
À la fin de mes études d'informatiques, l'entrée dans la vie professionnelle m'a vite faite comprendre que la théorie des formes normalles étaient souvent sabotées par les obligations de gain de temps de développement. J'ai donc fini par oublier le vocabulaire des formes normalles et créer mes tables plus par expérience qu'avec l'aide de la théorie.
Maintenant, j'aimerai bien m'y remettre donc j'ai déjà lu Dénormalisation de table. Quand ? et entre la theorie et la pratique! mais j'ai encore des zones obscures dans la conception des tables.
J'ai par exemple cette table Client ("id_client" est une clé primaire et "type_contrat" une clé étrangère)
Les clients qui ont un payé un contrat "B" peuvent ajouter un texte personalisé. La proportion est d'environ 1 contrat "B" pour 10 contrats "A" donc je me retrouve avec des tonnes de valeurs "NULL".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 id_client | nom_client | type_contrat | offre_du_moment -----------+--------------+----------------+------------------------- 1 | Bouchard | A | NULL 2 | Jean | A | NULL 3 | Rodriguez | A | NULL 4 | La Fleur | B | Un bouquet acheté pour deux gratuits 5 | Nestor | A | NULL
À partir de là, je me demande si en suivant la théorie des Formes Normales, j'aurais pu découper ma table dès le début ?
Ou alors il s'agit uniquement d'optimisation et donc ça se rapporte à la question "Quand dénormaliser ?" qui a pour réponse "Après avoir analysé le système en production" ?
Partager