|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Arnaud Développeur .NET Inscription : juillet 2008 Messages : 47 ![]() |
Bonjour à tous et à toutes,
Voici une question toute bête mais à laquelle moi, pauvre simple utilisateur de BDD, je ne sais répondre. Ma problèmatique est simple, je souhaite faire de l'autocompletion sur la liste des communes françaises. Je dispose d'une table avec de nombreuses infos. Seulement, en y regardant de plus près, je me rends compte qu'il existe beaucoup de redondance. Ainsi, chaque ligne, qui représente une commune, dispose d'un champ region et departement. J'étais en train d'envisager de "Meriser" un peu tout ça lorsque je me suis posé la question suivante : Sachant que cette table ne servira qu'en lecture, est-ce que le fait de créer des tables de liaisons (pour les départements, régions et autres arrondissements afin d'éviter la redondance) va améliorer mes temps de réponse ? La requête aura donc plusieurs Join tandis qu'en conservant mon unique table (avec toutes ses données redondantes), je n'effectue qu'un bête Select, d'où mon interrogation. D'avance, merci pour vos éclaircissements. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 954 ![]() |
Toujours les mêmes questions stupide qui en gros se résument à :
dans une base de données relationnelle, faut-il faire des tables relationnelles ou bien des fichiers Cobol.... Et bien entendu toujours le même réponse ! http://blog.developpez.com/sqlpro/p1...ances-petites/ A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
![]() ![]() |
Tu as tout intérêt à normaliser ta BDD au maximum donc à séparer les communes, les départements et les régions, puisqu'on parle de la France (cette structure hiérarchique n'existe pas dans les autres pays).
Comme il s'agit de faire de l'autocomplétion, tu n'as besoin que des noms des communes donc inutile a fortiori de charger la table avec des infos parasites. Si tu développes avec Zend-Framework, voir mon billet de blog à ce sujet.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
10
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2009 Messages : 14 ![]() |
Il faut normaliser.
Après classique Une table Communes, Une table région, une table Département Tables petites (région et département) Donc Jointure en cache le plus souvent si ton serveur de BDD a du cache Après on peut optimiser encore coté code de l'application (chargement en cache département, region) Le gros avantage de normaliser c'est la mise à jour. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com