29 votes

Quel est le plus important? Conception ou codage DB?

Qui est le plus important: La conception de la base de données? Ou de la conception de l'application du code?

Il y a beaucoup d'informations là-bas sur le code réutilisable (à partir de Carl Franklin à dnrtv.com, CSLA.net, et. al.), mais je ne vois pas trop d'informations sur la Conception de Base de données et son impact sur la durée de vie d'une application (en particulier la façon dont les mauvaises décisions de conception en début d'incidence sur l'application plus tard, dans sa "vie".

84voto

Paul Sonier Points 25528

Généralement, la structure de Base de données est plus important, car il fournit le cadre structurel sur lequel votre code est développé. En général (et YMMV considérablement), la refactorisation de votre structure DB après l'achèvement d'une phase de développement est beaucoup plus difficile que de simplement refactorisation de code qui dépend de la stabilité de la base de données. La raison en est simple; la refactorisation de votre structure DB généralement les forces de changements de code; l'inverse est rarement vrai.

Tout simplement, votre code dépend de votre base de données de plus de votre base de données dépend de votre code. (Si ce n'est pas le cas, vous devrez peut-être repenser votre conception.)

Pour répondre à vos edit; je pense que beaucoup de gens de l'écriture / les blogs au sujet de ce type de problème ont tendance à venir très fortement de la "codification" du côté des choses, ces types de gens ont tendance à considérer conception de base de données pour être trivial, et moins intéressant que le codage des solutions intéressantes. Essentiellement, pour quelqu'un qui aime résoudre les épineux problèmes" (qui tend à être le peuple qui blog plus), le codage est plus intéressant que la conception fondamentale de questions. Et tandis que la conception fondamentale de questions ne sont pas "sexy", ils sont extrêmement importants (et Conception de Base de données est TRÈS fondamentale problème de conception).

26voto

Tommi Forsström Points 1134

Réponse courte: les deux. La chaîne est tout aussi solide que le maillon le plus faible.

18voto

Otávio Décio Points 44200

Si vous êtes imprudent avec l'un ou l'autre, vous êtes condamné.

15voto

John MacIntyre Points 9255

Vous DB design est le plus important.

Je suis un codeur, et je préfère de code, mais ... si tu vis à la base de données de conception, votre code sera un cauchemar. Votre code ne sera pas avoir une chance!

Même lorsque vous essayez de refactoriser le DB design, vous aurez beaucoup de travail autour de code, que la réparation de tout ça va être écrasante.

Ce n'est pas une préférence ou même un proche, il est très bien en se penchant vers la DB design étant le plus important.

EDIT: Même si vous avez des paires clé-valeur des tables où tout s'est déversé en elle, ce serait encore un DB de conception en fonction des besoins de l'entreprise.

10voto

sybreon Points 2328

En Paraphrasant Knuth -

Il est beaucoup plus important d'utiliser un structure de données efficace. Une mauvaise la structure va ralentir votre demande, quel que soit votre algorithme et une bonne structure peut même éliminer le besoin de certains les algorithmes.

Je pense que cela s'applique également à la DBs. Vous êtes en fin de compte la construction massive de données liée à la structure. Si vous n'utilisez pas les bonnes méthodes, votre demande sera lente, indépendamment de la façon dont beaucoup de ruse que vous y mettez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X