如何在 ER 图中用 2 个关系表示 2 个实体
How to represent 2 Entity with 2 Relation in ER diagram
假设我有 2 个实体集,一个 user
和另一个 books
并且 user
包含两种类型的 user.roles : student and admin
管理员添加书籍并且学生阅读它们所以如何我在 ER 图.
中用关系 reads
和 adds
表示这些实体 user
和 books
大概这两者都是多对多关系,所以最常见的做法是显式包含连接表,每个连接表都是书籍和用户之间的多对多关系,但要命名得当区分它们的功能。
顶行代表管理员角色。我假设一本书只能由一个管理员添加,而一个管理员可以添加很多书。需要管理员添加图书,新管理员可能没有添加任何图书。
最后一行代表学生角色。一个学生可以读很多书,一本书可以被很多学生读。一个学生可能没有读过任何书,还有一本书我还没有被学生读过。
此处已包含的答案提到,在将其放入 DBMS 时,您需要为 many-to-many 关系加入 table。这里的符号是鱼尾纹。如果您不熟悉,这里有一个 link 解释符号,https://vertabelo.com/blog/crow-s-foot-notation/。
假设我有 2 个实体集,一个 user
和另一个 books
并且 user
包含两种类型的 user.roles : student and admin
管理员添加书籍并且学生阅读它们所以如何我在 ER 图.
reads
和 adds
表示这些实体 user
和 books
大概这两者都是多对多关系,所以最常见的做法是显式包含连接表,每个连接表都是书籍和用户之间的多对多关系,但要命名得当区分它们的功能。
顶行代表管理员角色。我假设一本书只能由一个管理员添加,而一个管理员可以添加很多书。需要管理员添加图书,新管理员可能没有添加任何图书。
最后一行代表学生角色。一个学生可以读很多书,一本书可以被很多学生读。一个学生可能没有读过任何书,还有一本书我还没有被学生读过。
此处已包含的答案提到,在将其放入 DBMS 时,您需要为 many-to-many 关系加入 table。这里的符号是鱼尾纹。如果您不熟悉,这里有一个 link 解释符号,https://vertabelo.com/blog/crow-s-foot-notation/。