ERD(实体关系图)概念了解

一、什么是ERD?

实体关系图 (ERD) 是系统内不同实体以及它们如何相互关联的可视化表示。

如下图:

Customer、Order、Product表示实体(entity), 每个实体可以包含多个属性(attribute),也就是key所对应的字段(key分为PK和FK)。实体关系图在软件项目的规划阶段用于软件工程。它们有助于识别不同的系统元素及其相互关系。它通常用作众所周知的数据流图或 DFD 的基础。

二、ERD Cardinality(基数)

实体之间的关系通过基数连接起来。使用过java编写过@OnetoOne,@ManytoOne等注解的人一定不陌生,道理是一样的,只是这里符号化表达了。

Entity Relationship Diagram (ERD) Symbols and Notations

三、分析关系

 Customer(顾客)和Order(订单)两者的关系,通过min(最小值)和max(最大值)来说明。因此,我们不妨想想一位顾客所拥有的订单数量范围是多少呢(前提是该顾客存在),那很简单了一个最小数量当然是0,啥也不买,另一个极端情况是啥都买,订单数量为无限(infinite),so,customer——>order这个关系的区间就是[0, +∞),对应着上面基数的Zero to many。反过来一个订单必然有与之对应的买主,所以最小值是1,但最大值也是无穷吗?肯定不是的,相同的东西能被多人下单吗,那也就是说order——>customer关系是有且仅是1,对应基数的One(and only one)。

正确连线如下:

 最后留个小测验,供大家练习,Order与Product应该怎样连线呢

在线ERD绘制: https://app.creately.com/

                           https://www.lucidchart.com/pages 

猜你喜欢

转载自blog.csdn.net/weixin_45719444/article/details/127348256