De mon point de vue sur ce qui est quelque peu contradictoire.
Je vous conseille, de ne pas le stress de la conception de la base de données trop.
Parfois, cela peut être difficile. Avec interne d'applications MÉTIER, le point de vue dominant de l'entreprise est souvent une fois que les DONNÉES sont le principal actif, où le logiciel est un peu insignifiant.
Mon conseil serait: ne l'achetez pas.
En réalité, l'actif est la capacité de la société à INTERAGIR avec les données. Pour l'afficher, de le manipuler, et à prendre des décisions fondées sur elle.
Cela signifie que, même s'ils accordent une grande valeur sur les données, ce qu'ils sont réellement valoriser est le logiciel que vous avez écrit.
Cela me permettrait de concentrer la plupart de vos efforts sur la construction d'une expérience de l'utilisateur, plutôt que sur la "conception de la base de données idéale". La base de données est vraiment un outil qui vous permet d'offrir à l'utilisateur une expérience.
La caractéristique clé de données relationnelles, modèles de données et le chemin d'accès de l'indépendance. Vous pouvez ajouter des colonnes, changement de clés, d'introduire ou de supprimer des index, etc, tout en ayant un impact nul (ou proche de zéro) sur les applications qui l'utilisent.
Cela rend la structure de base de données extrêmement souple.
En essayant de concevoir la base de données "d'être flexible pour l'avenir", ou à "optimiser la performance" est essentiellement un gaspillage d'efforts.
L'évolution de la structure de la base de données ont un impact relativement faible sur votre système.
Aussi, vous avez vraiment ne pouvez pas prédire comment la base de données à l'échelle jusqu'à ce que vous exécutez dans les scénarios où vous en avez besoin à l'échelle. Votre meilleur pari est d'attendre jusqu'à ce que vous frappez les problèmes de performances. et puis les traiter spécifiquement.
Apporter des modifications à l'expérience de l'utilisateur de votre application, cependant, est généralement plus cher.
UI travail exige beaucoup de temps, et prend généralement un certain temps pour obtenir le droit.
Donc, je vous recommande:
- Seulement de produire une merde DB design
- Réagir à la performance réelle des scénarios de vous rencontrer
- Concentrer vos efforts sur l'expérience utilisateur, et non pas sur la base de données