Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/07/2011, 14h36   #1
Membre à l'essai
 
Arnaud
Développeur .NET
Inscription : juillet 2008
Messages : 47
Détails du profil
Informations personnelles :
Nom : Arnaud

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : juillet 2008
Messages : 47
Points : 22
Points : 22
Par défaut Merise et/ou performance ?

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.
Arno_94 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 15h39   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 954
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 954
Points : 17 774
Points : 17 774
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 * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 16h07   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 007
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 007
Points : 18 278
Points : 18 278
Envoyer un message via MSN à CinePhil
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 !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 09h54   #4
Candidat au titre de Membre du Club
 
Inscription : janvier 2009
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 14
Points : 14
Points : 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.
michaud_fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h51.


 
 
 
 
Partenaires

Hébergement Web