2010-11-21 4 views
7

Je fais un projet à l'université et il comprend une base de données MySQL. J'ai un design pour la base de données en termes d'une liste de tables et de leurs champs respectifs.Comment présenter une conception de base de données?

Sous quelle forme dois-je présenter cette conception? Juste la liste des tables et du contenu? Dans une ERD? Comment présentez-vous vos créations?

Pour clarifier - tout ce que vous répondez, je pense non seulement les spécifications de la façon dont vous présentez votre conception, mais aussi quels outils utilisez-vous créer des diagrammes/liste/tables, etc.

+1

Personnellement, je trouve les ERD les plus faciles à lire et à comprendre. Visio est un excellent outil pour cela. – Oded

Répondre

4

ERD est la seule solution. Comme on dit, une image vaut mille mots.

Mais n'essayez pas de mettre toute la base de données sur un seul diagramme. Dans tous les cas, sauf dans les cas les plus banals, vous serez accablé par votre auditoire pour essayer de digérer l'ensemble de la conception de la base de données en une seule fois. Au lieu de cela, divisez les diagrammes en domaines qui ne représentent que les tableaux les plus pertinents de chaque diagramme. Par exemple, un système de point de vente peut avoir des diagrammes distincts pour l'inventaire, les ventes, la comptabilité, la gestion des clients, la sécurité, l'audit et la création de rapports. Certaines tables apparaîtront dans plus d'un domaine - c'est à prévoir.

En ce qui concerne l'outillage, rien ne vaut ErWin, mais il est très cher et uniquement disponible pour Windows. Visio est omniprésent dans un environnement d'entreprise, mais n'est disponible que sous Windows et n'est pas vraiment bon marché non plus. Les Mac offrent de très bons outils de création de diagrammes; la plupart d'entre eux ne sont pas gratuits. Dia est un outil de création de diagrammes décent, gratuit et multiplateforme. C'est un peu bizarre, cependant; et je n'ai pas eu beaucoup de succès à rendre les diagrammes aussi beaux que je veux qu'ils regardent.

Pour MySQL, j'ai joué avec fabFORCE dbDesigner et ce n'est pas mal, mais j'ai trouvé que son support pour plusieurs domaines manquait un peu à l'époque - peut-être qu'ils l'ont amélioré depuis. Mais c'est gratuit et fonctionne sur Windows et Linux.

Pour la présentation réelle, je crée des images à partir de ces outils de création de diagrammes et les place dans un logiciel de présentation (PowerPoint, KeyNote ou OpenOffice Impress). Ces présentations peuvent être exportées en PDF et distribuées à l'audience; ils n'auront besoin de rien de plus qu'une visionneuse PDF pour revoir les informations plus tard.

+0

fabFORCE dbDesigner a fait l'affaire. Merci! –

3

Regardons cela de votre point de vue du professeur. Si j'étais lui/elle:

Je voudrais une ERD. Sans cela, je ne peux pas voir l'un des problèmes les plus fondamentaux d'une conception de base de données, comment les tables sont liées.

Je m'attendrais également à quelques cas d'utilisation de base/conditions. Quels problèmes essayez-vous de résoudre avec cette conception de base de données?

Je voudrais voir quels index sont en place, en particulier sur les colonnes de clé étrangère. Je voudrais voir le nombre de lignes attendues dans tous les tableaux pour déterminer si les index sont même requis.

Je voudrais voir les types de données de colonne pour déterminer si elles répondent aux exigences. Je voudrais voir quelles colonnes acceptent les valeurs NULL, car cela peut souvent causer des problèmes si vous ne faites pas attention.

Si j'utilisais SQL Server, je créerais probablement un diagramme dans SSMS pour afficher une ERD quelque peu basique. Visio peut également être utilisé. Je pourrais utiliser Visio pour créer mes cas d'utilisation, ou peut-être Microsoft Word.

1

Ne pas oublier de discuter des aspects de conception qui ne peuvent pas être bien ajustée dans la DRE:

1) comment l'héritage/relations d'agrégation de votre modèle analytique réalisé dans la conception de votre relation db (présentés sur ERD) .

2) comment vous soutenir les hiérarchies de vos objets dans la conception de RDB (si vous en avez)

3) des relations qui sont dans votre modèle d'analyse, mais ne sont pas pris en charge dans la conception de RDB.

4) Processus ETL, suivi des modifications, sécurité et archivage/support de l'historique (s'ils sont supportés au niveau db).

0

mysql workbench vous fera de jolis graphiques pour la présentation parmi d'autres fonctionnalités sophistiquées.

0

Dépend de l'audience. La DRE n'est certainement pas la seule réponse et peut ne pas être la meilleure. Vous devriez choisir un média que votre public comprendra.

Questions connexes