Database 如何呈现数据库设计?

Database 如何呈现数据库设计?,database,database-design,erd,Database,Database Design,Erd,我在大学里做一个项目,其中包括一个MySQL数据库。我有一个数据库的设计,它包括一个表列表和它们各自的字段 我应该以什么形式呈现这个设计?只是表格和内容的列表?在ERD中?你如何展示你的设计 为了澄清-无论你回答什么,我希望不仅说明你如何展示你的设计,而且说明你使用了哪些工具来创建图表/列表/表格等。让我们从你教授的角度来看这一点。如果我是他/她: 我需要一个ERD。没有它,我就看不到数据库设计中最基本的问题之一,即表是如何相关的 我还希望有一些基本的用例/需求。您试图通过这种数据库设计解决哪些

我在大学里做一个项目,其中包括一个MySQL数据库。我有一个数据库的设计,它包括一个表列表和它们各自的字段

我应该以什么形式呈现这个设计?只是表格和内容的列表?在ERD中?你如何展示你的设计


为了澄清-无论你回答什么,我希望不仅说明你如何展示你的设计,而且说明你使用了哪些工具来创建图表/列表/表格等。

让我们从你教授的角度来看这一点。如果我是他/她:

我需要一个ERD。没有它,我就看不到数据库设计中最基本的问题之一,即表是如何相关的

我还希望有一些基本的用例/需求。您试图通过这种数据库设计解决哪些问题

我想看看有什么索引,特别是外键列。我希望看到所有表中的预期行数,以确定是否需要索引

我希望查看列数据类型,以确定它们是否满足要求。我想看看哪些列接受空值,因为如果不小心,这通常会导致问题


如果我使用的是SQL Server,我可能会在SSMS中创建一个图表来显示一个基本的ERD。Visio也可以使用。我可以使用Visio创建我的用例,或者使用Microsoft Word。

ERD是唯一的方法。正如他们所说,一幅画抵得上千言万语

但不要试图将整个数据库放在一个图表上。在除最琐碎的情况外的所有情况下,试图一次性消化整个数据库设计对您的读者来说都是压倒性的。相反,将图表分为主题区域,仅描述每个图表中最相关的表。例如,销售点系统可能有单独的库存、销售、会计、客户管理、安全、审计和报告图表。一些表格将显示在多个主题区域中——这是意料之中的

就工具而言,没有什么能比得上ErWin,但它确实非常昂贵,而且只适用于Windows。Visio在企业环境中无处不在,但仅在Windows上可用,而且也不便宜。Mac提供了一些非常好的绘图工具;其中大多数都不是免费的

Dia是一款像样、自由、跨平台的绘图工具。不过,这有点古怪;我还没有成功地使图表看起来像我希望的那样漂亮

对于MySQL,我已经玩过了,它还不错,但我确实发现它对多主题领域的支持在当时有点缺乏——也许从那时起他们已经改进了它。但它是免费的,可以在Windows和Linux上运行


对于实际的演示,我从这些图表工具创建图像,并将它们拉入演示软件(PowerPoint、KeyNote或OpenOffice Impress)。这些演示文稿可以导出为PDF格式并分发给观众;他们以后只需要一个PDF查看器就可以查看信息。

不要忘记讨论不适合ERD的设计方面:

1) 如何在数据库中实现分析模型中的继承/聚合关系

2) 如何在rdb中支持对象的层次结构(如果有的话)

3) 列出分析模型中但rdb设计不支持的关系

4) ETL过程,跟踪更改,跟踪模式更改,基于资源的安全性

5) 存储分区和维护方面(优化备份时间的目标之一)


6) 产品内测试(测试岛数据)和用于测试环境的易克隆db将使您在许多复杂功能中获得漂亮的图形演示。

取决于观众。ERD当然不是唯一的答案,也可能不是最好的。你应该选择一种你的听众能够理解的媒介。

就我个人而言,我觉得ERDs最容易阅读和理解。Visio是一个很好的工具。ERD的内容通过DDL以文本形式表示。我刚刚开始学习ERD。当我研究ERD时,我发现了这个答案,并想知道您可以在visio中创建什么类型的用例?我真的很困惑。如果你能帮我理解,我会很高兴的