![]() |
1
5
ERD是唯一的出路。正如他们所说,一幅画胜过千言万语。 但不要试图把整个数据库放在一个图表上。在除了最琐碎的情况之外的所有情况下,试图一次性消化整个数据库设计对您的读者来说都是压倒性的。取而代之的是,将图表分解成主题区域,只描述每个图表中最相关的表。例如,销售点系统可能有单独的库存、销售、会计、客户管理、安全、审计和报告图表。有些表格会出现在不止一个主题领域——这是意料之中的。 就工具而言,没有什么比ErWin更好的了,但它确实很贵,而且只能用于Windows。Visio在企业环境中无处不在,但仅在Windows上可用,而且也不便宜。Macs提供了一些非常好的图表工具;大多数都不是免费的。 Dia是一个体面的、免费的、跨平台的绘图工具。不过,这有点古怪;而且我没有成功地使图表看起来像我希望的那样好看。 对于MySQL,我使用 fabFORCE dbDesigner 这还不错,但我发现它对多个主题领域的支持在当时有点缺乏——也许他们已经改进了它。但它是免费的,可以在Windows和Linux上运行。 对于实际的演示,我从这些图表工具创建图像,并将它们拉到演示软件(PowerPoint、KeyNote或OpenOffice Impress)中。这些演示文稿可以导出为PDF格式并分发给观众;他们只需要PDF格式的观众就可以稍后查看信息。 |
![]() |
2
4
让我们从你教授的角度来看这个问题。如果我是他/她: 我需要一个急诊室。如果没有它,我就看不到数据库设计中最基本的问题之一,即表之间的关系如何。 我也期望一些基本的用例/需求。你想用这个数据库设计解决什么问题? 我想看看有哪些索引,特别是外键列上的索引。我想查看所有表中的预期行数,以确定是否甚至需要索引。 我想查看列数据类型以确定它们是否满足要求。我想看看哪些列接受空值,因为如果不小心,这通常会导致问题。 如果我使用的是SQL Server,我可能会在SSMS中创建一个图表来显示一个基本的ERD。也可以使用Visio。我可以使用Visio创建我的用例,或者使用Microsoft Word。 |
![]() |
3
1
mysql workbench 将使您在其他许多复杂的功能中展示漂亮的图形。 |
![]() |
4
1
取决于观众。ERD当然不是唯一的答案,也可能不是最好的。你应该选择一种你的听众会理解的媒介。 |
![]() |
5
1
不要忘记讨论不适合ERD的设计方面: 1)如何在数据库中实现来自分析模型的继承/聚合关系。 2)如何在rdb中支持对象的层次结构(如果有) 3)列出分析模型中但rdb设计不支持的关系。 4)ETL过程,跟踪更改,跟踪架构更改,基于资源的安全性。 5)存储分区和维护方面(优化备份时间的目标之一) 6)产品内测试(测试岛数据)和测试环境的易克隆数据库 |
![]() |
Lewis Browne · 将多个mysql查询重构为1 7 年前 |
![]() |
pawel.panasewicz · 显示属性之间关系的er图[闭合] 12 年前 |
![]() |
Kevvv · erd中的多值密钥? 12 年前 |
![]() |
user1503699 · 如何在ERD图中组织大型数据库表?[已关闭] 12 年前 |