|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : novembre 2004 Messages : 160 ![]() |
Bonjour,
je me pose une question, on dit souvent que les tables doivent contenir le moins de champ possible. Donc j'aurais voulu savoir si c'etait une bonne idée de les divisés ainsi : Imaginons une table produits contenants 100 champs J'aurais voulu savoir s'il était judicieux de creer 6 tables dont l'une d'entre elle contiendrait les Fk sur les 5 autres qui se partagerait les champs ou alors creer une seule table contenant les 100 champs.(sachant que les 100 champs sont différent pour chaque produit). |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : mars 2002 Messages : 323 ![]() |
Si chaque champ est rempli pour chaque produit, alors à priori une table c'est le plus simple à gérer et ça prendra moins de place.
Maintenant j'imagine que les sgbd ont des limites dans leur implémentation, donc ta réponse dépend du sgbd.
__________________
creapage.net |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
A priori une table avec 100 colonnes (les champs n'existent pas en bases de données, lire : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L2) est une erreur !
Explique moi les colonnes composant cette table, je t'expliqurais pourquoi c'est une utopie... On peut se permettre de préoptimiser une table en la découpant, si ce découpage apporte un réel confort de lecture. Un exemple se trouve ici : http://sqlpro.developpez.com/cours/optimiser/#L5 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
|
|
|
#4 |
|
Membre régulier
![]() Inscription : novembre 2004 Messages : 160 ![]() |
Ben en fait je l'avais vu cette example mais le probleme c'est que dans cette example la table employee est découpée en plusieurs tables qui sont réutilisables or dans dans mon cas ce n'est pas le cas.
En fait je voudrais savoir si en terme de performance les jointures qui vont me permettre de recuperer toutes les colonnes ne vont pas etre plus couteuses que d'avoir une seule table (sans se soucier du confort de lecture). le sgbd est un sql server standard edition. |
|
|
00
|
|
|
#5 | |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 | |
|
Membre régulier
![]() Inscription : mai 2002 Messages : 81 ![]() |
Citation:
Pour résoudre ce problème de performances il est donc souhaitable de bien concevoir son système afin d'équilibrer sa balance optimisation et conception. Et pour faire pencher la balance du bon côté, rien de tel qu'un serveur parfaitement configuré et administré. Il existe par exemples des systèmes de cache pour améliorer drastiquement les performances d'une application, ceci afin d'éviter de recalculer des milliers de fois la même chose, un peu comme le cache d'un navigateur qui stocke temporairement les données d'une page un certain de laps afin de les restaurer rapidement sans avoir à les recharger, on retrouve les caches dans la majorité des systèmes logiciel et matériel : disque dur, lecteur CD-ROM, processeur... Et bien évidemment dans certains SGBD. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com