“关系模型”的版本间的差异
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第84行: | 第84行: | ||
[[文件:E-R图转关系模式.png|无|缩略图|600x600像素]] | [[文件:E-R图转关系模式.png|无|缩略图|600x600像素]] | ||
− | + | 校长和学校,两个实体集一对一 | |
+ | 根据“联系转关系模式 1:1 联系:可将联系合并至任意一端的实体关系模式中” | ||
+ | |||
+ | 可以 | ||
+ | {| class="wikitable" | ||
+ | |校长(姓名,性别,职称,年龄) | ||
学校(校名,地址,电话) | 学校(校名,地址,电话) | ||
− | + | 任职(任职时间,姓名,校名)联系单独转关系模式,然后包含对应实体的主属性 | |
+ | |} | ||
+ | |||
+ | |||
+ | 也可以: | ||
+ | {| class="wikitable" | ||
+ | |校长(姓名,性别,职称,年龄,校名,任职时间) | ||
+ | 学校(校名,地址,电话) | ||
+ | |} | ||
+ | |||
+ | |||
+ | 还可以: | ||
+ | {| class="wikitable" | ||
+ | |校长(姓名,性别,职称,年龄) | ||
+ | 学校(校名,地址,电话,姓名,任职时间) | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
第97行: | 第120行: | ||
账户(账户号,余额) | 账户(账户号,余额) | ||
− | + | 存款者(客户身份证号,账户号,开户时间)联系单独转关系模式,然后包含对应实体的主属性 |
2022年9月28日 (三) 06:35的版本
https://www.bilibili.com/video/BV1hg411V7Bm/?p=92
规范化理论-主键
主键
关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。
主键是唯一的。(实体完整性)
一个数据表中只能包含一个主键。
取值唯一,不允许重复,不允许为空
候选键是对具有关系键特性的一个或多个属性(组)的统称。
一个数据表中可以有多个候选键。
比如:
学生表(学号,姓名,身份证号,性别,班级)学号或身份证号
课程表(课程编号,课程名,学分)课程编号
成绩表(学号,课程号,成绩)学号+课程号作为一个组合键
复合键
复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
外键
用于与另一张表的建立关联。
能确定另一张表记录记录的字段,保持数据的一致性。
比如,A表中的一个字段,是B表的主键,那它就可以是A表的外键。
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
主键 | 外键 | 索引 | |
---|---|---|---|
定义 | 唯一标识一条记录
不能有重复的 不允许为空 |
表的外键是另一表的主键
外键可以有重复的 可以是空值 |
该字段没有重复值
但可以有一个空值 |
作用 | 用来保证数据完整性 | 用于和其他表建立联系 | 提高查询排序速度 |
个数 | 主键只能有一个 | 一个表可以有多个外键 | 一个表可以有多个唯一索引 |
E-R图转关系模式
一个实体型转换为一个关系模式
联系转关系模式:
- 1:1联系:可将联系合并至任意一端的实体关系模式中。
- 1:n联系:可将联系合并至n端实体关系模式中。
- m:n联系:联系必须单独转成关系模式。
三个以上实体间的一个多元联系
校长和学校,两个实体集一对一
根据“联系转关系模式 1:1 联系:可将联系合并至任意一端的实体关系模式中”
可以
校长(姓名,性别,职称,年龄)
学校(校名,地址,电话) 任职(任职时间,姓名,校名)联系单独转关系模式,然后包含对应实体的主属性 |
也可以:
校长(姓名,性别,职称,年龄,校名,任职时间)
学校(校名,地址,电话) |
还可以:
校长(姓名,性别,职称,年龄)
学校(校名,地址,电话,姓名,任职时间) |
客户(客户名,身份证号,地址,联系电话)
账户(账户号,余额)
存款者(客户身份证号,账户号,开户时间)联系单独转关系模式,然后包含对应实体的主属性