在启动数据库模型图之前您做了什么?我的意思是你如何形成要求,规格等。用例是一回事而不是其他什么?一些最佳做法还是经验法则?作为一个自学者,我想看看它是如何掌握在专业人士手中的?
答案 0 :(得分:2)
确保您拥有客户的完整要求列表。尽力完全理解这些要求,如果你这样做,它将真正有助于你的设计。如果您正在定义要求,那么您可能会更容易,因为您已经知道需要做什么。彻底掌握目标是最重要的部分。
如果您的数据库中有一个显而易见的部分是最重要的(例如在线应用程序系统中的应用程序),我通常会从那里开始并一次完成一件。
就我个人而言,我喜欢绘制粗略的图片(对你来说有意义,不一定是官方的ERD),我认为数据库看起来像是什么,并将其修改为更精细的细节。
答案 1 :(得分:1)
不要仅仅依赖书面要求。没有完整的要求列表。与利益相关者交谈,提出问题并使用这些访谈的结果来确定需要建模的属性,使用方式以及识别业务密钥。然后通常需要进行一些数据分析和调查,以确定正确的数据类型和其他方面。
有可能预先获得数据模型的良好第一次切割,但如果不能,请不要担心。数据建模通常应该是一个迭代的,敏捷的过程,随着项目的发展,以合理的大小步骤完成(尽管有一些案例,如数据仓库设计,敏捷方法可能更难应用)。
答案 2 :(得分:1)
根据您的客户,最好有两个数据模型和两个图表。一个模型和图表用于数据分析。另一个是数据库设计。
通过使用ER(实体 - 关系)模型和图表进行数据分析以及RDM(关系数据模型)模型和图表来反映数据库设计,我获得了良好的结果。
ER图对于将目前发现的要求传达回客户端并确保它们完整正确非常有用。即使客户端没有数据库理论背景,ER图也很容易理解。正如其他人所做的那样,这是一个迭代过程,而不仅仅是一次瀑布。
RDM模型和图表可用于反映逻辑数据库设计决策,例如规范化数据或执行其他操作的决策。很容易从ER模型中推导出一个RDM模型,尽管你必须抛出ER图中故意省略的一些设计决策。
反过来,它很容易构建一个表从RDM图创建脚本。您将不得不添加一些物理功能,如索引,以获得良好的性能,而不会撕裂你的头发。