par
caroube » 11 déc. 2008, 13:23
Sans même créer une autre table, mais en incluant le département dans la table des communes.
Je travaille rarement avec les codes postaux (ça change souvent, c'est pas toujours très logique, ...) mais avec les codes insee des communes.
La modélisation des tables que j'utilise est
Code : Tout sélectionner
code_commune
nom_commune
code_canton
code_arrondissement
code_departement
code_region
Une commune appartenant à un canton qui appartient à un arrondissement qui appartient à un département qui appartient à une région, il est sûr que du point de vue "puriste", l'indication de ces codes dans la table des communes est superflu. On pourrait retrouver la région avec un certain nombre de jointures en remontant toute la chaîne.
Mais d'autre part, ce sont des données qui sont tellement "figées" qu'il ne faut pas hésiter à faire de la redondance d'informations. Et si un jour, une commune change de département, ça demandera peut-être un peu plus de travail pour faire les modifications. Mais on parle là de 5 mn de plus une fois tous les 50 ans. Et encore.
Et pour faire bondir encore plus les tenants de la non-redondance, j'ai même le nom du département dans la table des communes. Quand un département change de nom, ça m'oblige à faire un update du nom dans la table des communes. Mais ça m'évite des millions de jointures entre deux changements de nom.
Note avant de me faire traiter de tous les noms : je n'utiliserais pas ce genre de méthodes non orthodoxes pour les "départements" d'une entreprise, beaucoup susceptibles d'évolutions.
Sans même créer une autre table, mais en incluant le département dans la table des communes.
Je travaille rarement avec les codes postaux (ça change souvent, c'est pas toujours très logique, ...) mais avec les codes insee des communes.
La modélisation des tables que j'utilise est
[code]
code_commune
nom_commune
code_canton
code_arrondissement
code_departement
code_region
[/code]
Une commune appartenant à un canton qui appartient à un arrondissement qui appartient à un département qui appartient à une région, il est sûr que du point de vue "puriste", l'indication de ces codes dans la table des communes est superflu. On pourrait retrouver la région avec un certain nombre de jointures en remontant toute la chaîne.
Mais d'autre part, ce sont des données qui sont tellement "figées" qu'il ne faut pas hésiter à faire de la redondance d'informations. Et si un jour, une commune change de département, ça demandera peut-être un peu plus de travail pour faire les modifications. Mais on parle là de 5 mn de plus une fois tous les 50 ans. Et encore.
Et pour faire bondir encore plus les tenants de la non-redondance, j'ai même le nom du département dans la table des communes. Quand un département change de nom, ça m'oblige à faire un update du nom dans la table des communes. Mais ça m'évite des millions de jointures entre deux changements de nom.
Note avant de me faire traiter de tous les noms : je n'utiliserais pas ce genre de méthodes non orthodoxes pour les "départements" d'une entreprise, beaucoup susceptibles d'évolutions.