【问题标题】:Converting a logical model to a physical model. Trouble understanding ERD将逻辑模型转换为物理模型。难以理解 ERD
【发布时间】:2013-05-20 09:30:02
【问题描述】:

我正在与 ERD 合作。它应该是一个逻辑模型,我要从中制作一个物理模型。我应该用 UML 格式化,我们的 DBMS 是 PostgreSQL。

我的一些研究 (http://www.1keydata.com/datawarehousing/data-modeling-levels.html // http://en.wikipedia.org/wiki/Logical_data_model#Conceptual.2C_Logical_.26_Physical_Data_Model) 表明,这个 ERD 可能包含太多信息,无法成为逻辑模型,而且它实际上可能更接近物理模型。

我的问题如下:

  1. 粗体标签是什么意思?
  2. 某些条目末尾的白色“N”和红色“U”是什么意思?
  3. 虚线(关系)和实线有什么区别?
  4. “鱼尾纹”和关系两端的虚线有什么区别?
  5. 这是更接近物理模型还是逻辑模型?我需要做什么才能将其从一种转换为另一种?

这是 ERD:

【问题讨论】:

  • 这实际上是一个关系模型,而不是 ER 模型,尽管该图被称为“实体关系图”。
  • @WalterMitty,想知道“关系模型”和 ER 图有什么区别吗?
  • 我想的是陈最初开发的 ER 模型。维基百科文章的第一部分很好地描述了它。 ER 模型不偏向于关系强化。另一方面,关系模型偏向于关系实现,或者可能是 SQL 实现。 en.m.wikipedia.org/wiki/Entity–relationship_model
  • 一个主要区别是 ER 模型中不存在外键。外键,无论是否声明,都是关系模型的核心。

标签: postgresql database-design erd physical-design


【解决方案1】:
  1. 粗体字能否表示主键属性?
  2. 这不是任何标准 ER 建模符号的一部分。绝对不能确定,但​​我的猜测是 U 表示唯一,N 表示可为空。
  3. 实线表示识别关系。虚线表示非识别线。这通常不是一个特别重要的区别,但如果您想了解更多信息,请查看这些术语。
  4. 一对多关系。鱼尾纹代表关系的“多”面;穿过的短线是“一”侧。 “一”符号出现在两端,这是一对一的关系。
  5. 在信息建模的上下文中,逻辑模型意味着 语义 模型 - 一种更多地与业务领域相关的模型,而不是实际的数据库设计。逻辑模型的确切内容以及详细程度在很大程度上取决于模型的目标受众以及您希望如何使用它。将其转变为“物理”模型意味着将其转变为数据库设计,该数据库具有您选择的 DBMS 平台所需的技术特性和任何更改(例如特定数据类型)。

信息建模意义上的逻辑/物理模型不应与 DBMS 体系结构和数据库理论中的逻辑层物理层混淆。原则上,关系数据库表(AKA 关系变量)始终是“逻辑”级别的结构,但在数据建模术语中,它们是所谓的“物理”模型的一部分。这种不幸的建模术语选择导致了很多混乱和误解。

【讨论】:

  • 我对粗体文本也有同样的想法,但我认为左侧的图标会更好地表明这一点,黄色的“键”是主键,而表格带有绿色箭头是外键。这让我想知道粗体是什么。是否有另一种更标准的方式来表示唯一性和可空性?我很确定这最终更像是一个物理模型,因为逻辑模型通常不包含数据类型。也就是说,我认为两者都有很多工作要做。感谢您的回复!
  • ER 模型有多种不同的表示法,用不同的方式显示主键和可空性——尽管备用键通常根本不显示。
猜你喜欢
  • 2010-10-28
  • 2015-07-25
  • 1970-01-01
  • 1970-01-01
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 2012-11-22
相关资源
最近更新 更多