在这篇文章中,我们已经深入介绍了实体关系模型以及实体、属性、符号等基础知识。我们介绍了一个工作门户数据库的实体关系模型的例子。
内容表:
- 什么是实体关系模型?
- 实体和属性
- 关系
- 实体的映射
- ER图的符号
- 钥匙
- 将ER模型转换为关系模型
让我们开始吧。
什么是实体关系模型?
实体关系模型(或ER模型)是数据库模型的图形化表示。
在开发一个系统之前,它经常被用来设计该系统。你可以把它想象成建房前的房屋蓝图。
这是一种标准的技术,每个开发人员都不应该这样做,以使他们能够在开发团队中自由地传达他们的想法。这种模式可以帮助开发者按照设计来实际实现系统。
为了给你一个概念,这是一个实体关系模型的例子:
实体和属性
实体是现实世界中的一个 "东西 "或 "对象"。每个实体都有一些属性。这些属性被称为属性(Attributes)。
属性的类型:
-
简单属性和复合属性
-
单值和多值属性
-
衍生属性
-
简单属性和复合属性--复合属性是一种可以被划分为子部分或子属性的属性。例如,"位置 "可以被细分为"门牌号"、"街道名称"、"城市"、"州"和*"国家 "*等部分。简单属性是不能被划分为子部分的属性。
-
单值和多值属性--有单个值的属性被称为单值,有多个值的属性被称为多值属性。例如,像*"雇员ID "这样的属性总是有单一的值,因此是单值的,而像"电话号码 "*这样的属性是多值的,因为一个条目可以有多个电话号码。
-
派生属性 - 这些属性可以从其他属性派生出来。例如,像*'年龄'这样的属性可以从'出生日期'*派生。
关系
关系是用来描述模型中实体之间的 "关系"。
有不同类型的关系的重要性:
- 一对一
- 一对多
- 多对一
- 多对多
让我们有两个实体集X和Y:
- 一对一:当X中的一个实体只与Y中的一个实体相关联。
- 一对多:当X中的一个实体与Y中的一个以上的实体相关联。
- 多对一: 当X中超过一个的实体只与Y中的一个实体相关联。
- 多对多: 当X中的一个以上的实体与Y中的一个以上的实体相关联。
实体的映射
有两种实体的映射:
- 名义性
- 顺序性
纵向性:一个实体中的实例可以与另一个实体的实例相联系的最大次数。
顺序性:一个实体中的实例可以与另一个实体的实例相联系的最小次数。
*两者都是用连接器在图中描述的,如下所示:
ER图的符号
考虑一个工作门户数据库的例子。
这里,*"电话","作者 "*是多值属性,
*"年龄 "*是派生属性,
*"Stu_id","Book_id "*是主键,
"阅读 "是"学生 "和 "书 "之间的关系,
"Stud_name "
是复合属性。
键
键是用来唯一地识别数据库中的任何数据条目。
键的类型 :
- 主键
- 候选键
- 超级键
- 外键
-
主键:它在数据库中只能唯一地识别一个条目。例如,在上面的例子中,*"Stu_id "*是主键,因为它对每个学生条目都是唯一的。
-
候选键:它是所有适合作为主键的属性。例如,在上面的例子中,*'Stu_id'*是一个候选键。
-
超级键:它是一组适合作为主键的属性。例如,在上面的例子中,如果每个学生都有一个新的属性"Aadhar number",那么候选键将是"Stu_id "和 "Aadhar number"。
-
外键:当一个表的主键反映了另一个表来连接这些表时,这个键在接收表中被称为外键,在主表中被称为主键。例如,当Book表中的*'Book_id'*转入Student表中时,它在student表中被称为'外键'。
将ER模型转换为关系模型
- 实体成为表
- 单值属性成为表的列
- 主键属性也被显示为列。它只是用下划线显示,以区别于其他属性
- 多值属性用一个单独的表来表示
- 复合属性被单独表示为列
- 衍生属性不被考虑在表中
下面是前面例子的关系图:
通过OpenGenus的这篇文章,你一定对实体关系模型有了深刻的认识。