Visio:用于设计数据库的许多数据库符号

Visio: Many database notation for designing a database

我正在学习数据库设计并尝试使用 Visio 2013 建模。当我想创建数据库模型时,我在 Visio 2013 中遇到了以下数据库表示法:

1) Crow's Foot database notation
2) Chen's database notation
3) UML database notation
4) IDEF1X database notation

为什么我们有很多设计数据库的表示法,而其中一种在实际数据库设计中被广泛使用?

谁能帮我解开这个疑惑?

有很多因素影响了多种表示法的引入。现有的符号可能不为作者所知,仅限于特定的公司或团体,或者缺乏某些表达能力。有些符号甚至是出于审美考虑。

鱼尾纹是由 Gordon Everest 博士提出的。它在 table 图中广泛用于表示外键约束(以及两个 table 中行的相对基数)。它也常用于网络数据模型中,以表示实体之间的二元关系。

实体关系建模符号由 Peter Chen 引入,用于直观地表示实体关系模型。与鱼尾纹不同,它支持 n 元关系和关系上的属性。

UML 是一种用于描述软件系统的建模语言。 UML class 图经常(错误地?)用于数据库建模。与鱼尾纹一样,class 图仅支持没有属性的二元关系,将其限制为网络数据模型。

IDEF1X 由美国空军开发,作为建模符号系列的一部分。它也只支持没有属性的二元关系,尽管它比鱼尾纹图有更多的语义元素。

在上述符号中,Chen 的符号是唯一支持与属性的 n 元关系的符号。它更适合概念数据模型,但它在逻辑上并不完整。鱼尾纹和IDEF1X更接近物理数据模型。 UML class 图比数据更适合建模系统。

您错过的一个重要建模符号是 Object-Role modeling。它支持 n 元关系并侧重于表示事实而不是实体。它不像上面的其他符号那么常见,也许是因为它基于可靠的逻辑和关系理论,而不是旧的但直观的网络数据模型。