学生应该是 DBMS 中的弱实体吗?
Should student be a weak entity in DBMS?
我正在构建一个学生门户项目的以下数据库。我是数据库的新手,但我非常了解这些概念。我不想问在我的图表中学生应该是一个弱实体,因为它取决于部门。如果没有部门,那么该部门将没有任何学生。
除了我的主要问题,我对出勤率和成绩 Table 有点困惑。我是否正确地关联了它们?它们的属性是否充分且正确?我知道我的要求很高,但您能否查看我的图表并向我提供改进它的建议,即使它需要从头开始制作。
谢谢
学生不需要是弱实体集。虽然弱实体集暗示存在依赖性,但存在依赖性并不意味着弱实体集。常规实体集也可以完全参与。
与其查看存在依赖性,不如查看标识。弱实体集不能单独通过自身属性来识别,它们依赖于外键(通常与弱键结合)来标识。当实体集具有像 Roll ID
这样的独立标识(代理 ID 始终是独立的)时,它们就是常规实体。
您似乎将实体集与 table 混淆了,这可能是由于您使用的混合符号。如果我没看错你的模型,Grades
是 Student
和 Courses
之间的关系,因为它有一个由两个外键组成的主键。但是,您的图表仅通过不必要的 has
关系将其 link 发送到 Student
。
您的 table 中也有嵌入的关系,例如Courses
有 Department
FK,但你没有 link 图中的两个。 Enrolls
需要它自己的 table,但您没有显示与图中其他多对多关系不同的关系。
Attendance
和Grades
一样,表示Student
和Courses
之间的关系。您显示与 Department
的关联,但不表示 FK。虽然在原始 ER 表示法中我们从不将外键表示为属性,但在您的图表中这与您的 tables 的其余部分不一致。
编辑:
下面是一个示例,说明如何将 Grades
表示为 Student
和 Courses
之间的关系。我使用原始的 ER 表示法,因为我没有实现您的表示法的工具。
出勤率 table 应链接到课程和学生而不是部门,如图所示。
我正在构建一个学生门户项目的以下数据库。我是数据库的新手,但我非常了解这些概念。我不想问在我的图表中学生应该是一个弱实体,因为它取决于部门。如果没有部门,那么该部门将没有任何学生。
除了我的主要问题,我对出勤率和成绩 Table 有点困惑。我是否正确地关联了它们?它们的属性是否充分且正确?我知道我的要求很高,但您能否查看我的图表并向我提供改进它的建议,即使它需要从头开始制作。 谢谢
学生不需要是弱实体集。虽然弱实体集暗示存在依赖性,但存在依赖性并不意味着弱实体集。常规实体集也可以完全参与。
与其查看存在依赖性,不如查看标识。弱实体集不能单独通过自身属性来识别,它们依赖于外键(通常与弱键结合)来标识。当实体集具有像 Roll ID
这样的独立标识(代理 ID 始终是独立的)时,它们就是常规实体。
您似乎将实体集与 table 混淆了,这可能是由于您使用的混合符号。如果我没看错你的模型,Grades
是 Student
和 Courses
之间的关系,因为它有一个由两个外键组成的主键。但是,您的图表仅通过不必要的 has
关系将其 link 发送到 Student
。
您的 table 中也有嵌入的关系,例如Courses
有 Department
FK,但你没有 link 图中的两个。 Enrolls
需要它自己的 table,但您没有显示与图中其他多对多关系不同的关系。
Attendance
和Grades
一样,表示Student
和Courses
之间的关系。您显示与 Department
的关联,但不表示 FK。虽然在原始 ER 表示法中我们从不将外键表示为属性,但在您的图表中这与您的 tables 的其余部分不一致。
编辑:
下面是一个示例,说明如何将 Grades
表示为 Student
和 Courses
之间的关系。我使用原始的 ER 表示法,因为我没有实现您的表示法的工具。
出勤率 table 应链接到课程和学生而不是部门,如图所示。