我将三种类型的用户存储在数据库中。
- 学校
- 咨询
- 学生(个人)
这里的想法是学生可以直接向学校申请,也可以通过咨询申请。
它们都具有相同的属性,因此存储在用户表中。从概念上讲,这些用户类型中的每一个都与其他两种用户类型有关系。关系是
- 顾问和学生:0..1 到 0..M
- 学校和咨询:1..M 到 0..M
- 学校和学生:0..M 到 0..M(1 名学生可能有 0 个学校,因为如果通过咨询发送申请,他们没有直接联系)。
我需要帮助在同一实体(即用户)之间形成这些关系,最好使用演示图。
我将三种类型的用户存储在数据库中。
这里的想法是学生可以直接向学校申请,也可以通过咨询申请。
它们都具有相同的属性,因此存储在用户表中。从概念上讲,这些用户类型中的每一个都与其他两种用户类型有关系。关系是
我需要帮助在同一实体(即用户)之间形成这些关系,最好使用演示图。
表表示由它们标识的值和/或实体之间的应用关系。“关系”混淆/混淆也用于表示“外键”。
在原始 ER 建模中,实体类型有方框和表格,关系类型有菱形,实体类型参与关系类型有线条/FK。一条线标有一个实体实例/行可以同时参与的关系实例/行(instance/row)的数量。但是不同的方法和图表样式使用符号和线的方式不同。
您已决定对哪些应用程序实体和关系感兴趣。(与 ERM 不同,关系模型不会人为地区分实体和关系。)
Student(p) -- P identifies a student
School(s) -- S identifies a school
...
User(u, ...) -- U identifies a user and ...
...
Representation(c, p, ...) -- consultancy C represents student P and ...
Application(p, s, ...) -- student P has applied to school S and ...
一个表包含将其注释中的谓词变为真实语句的行。您需要足够的实体和关系以及相应的表格来充分描述可能出现的任何情况。
你提到了三种关系类型。您已经告诉我们他们的参与者实体类型和参与基数。但是你需要告诉我们每个关系的谓词,即每个关系是什么。然后在可能出现的每种情况下,给定实体参与给定关系一定次数。从而确定描述可能性的基数。
您应该选择一个特定的参考并遵循它。