📅  最后修改于: 2021-01-11 06:14:49             🧑  作者: Mango
ER模型定义了数据库的概念视图。它适用于现实世界中的实体及其之间的关联。在视图级别,ER模型被认为是设计数据库的不错选择。
实体可以是易于识别的有生命或无生命的真实世界对象。例如,在学校数据库中,提供的学生,教师,班级和课程可以视为实体。所有这些实体都具有赋予其标识的某些属性或特性。
实体集是相似类型的实体的集合。实体集可以包含具有属性共享相似值的实体。例如,一个学生集可能包含一所学校的所有学生;同样,教师组可以包含来自所有系的一所学校的所有教师。实体集不需要是不相交的。
实体通过其称为属性的属性来表示。所有属性都有值。例如,一个学生实体可能具有名称,类别和年龄作为属性。
存在可以分配给属性的值的域或范围。例如,学生的姓名不能是数字值。必须按字母顺序。学生的年龄不能为负数,等等。
简单属性-简单属性是原子值,无法进一步划分。例如,学生的电话号码是10位数的原子值。
复合属性-复合属性由多个简单属性组成。例如,学生的全名可能具有first_name和last_name。
派生属性-派生属性是物理数据库中不存在的属性,但是其值是从数据库中存在的其他属性派生的。例如,部门中的average_salary不应直接保存在数据库中,而可以导出。对于另一个示例,年龄可以从data_of_birth导出。
单值属性-单值属性包含单个值。例如-Social_Security_Number。
多值属性-多值属性可能包含多个值。例如,一个人可以拥有多个电话号码,email_address等。
这些属性类型可以像-
键是在实体集中唯一标识实体的属性或属性集合。
例如,学生的roll_number使得他/她在学生中是可识别的。
超级键-一组属性(一个或多个),可共同标识实体集中的实体。
候选密钥-最小超级密钥称为候选密钥。一个实体集可能有多个候选密钥。
主键-主键是数据库设计人员选择用来唯一标识实体集的候选键之一。
实体之间的关联称为关系。例如,某个员工在某个部门工作,则一名学生注册了课程。在这里,Works_at和Enrolls称为关系。
一组相似类型的关系称为关系集。像实体一样,关系也可以具有属性。这些属性称为描述性属性。
关系中参与实体的数量定义了关系的程度。
基数定义一个实体集中的实体数量,该数量可以通过关系集与其他集合中的实体数量相关联。
一对一-实体集A中的一个实体最多可以与实体集B中的一个实体相关联,反之亦然。
一对多-实体集A中的一个实体可以与实体集B中的一个以上实体相关联,但是实体集B中的一个实体最多可以与一个实体相关联。
多对一-实体集A的一个以上实体可以与实体集B的至多一个实体关联,但是实体集B的实体可以与实体集A的一个以上实体关联。
多对多-A中的一个实体可以与B中的一个以上实体关联,反之亦然。