“关系模型”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第35行: | 第35行: | ||
比如,A表中的一个字段,是B表的主键,那它就可以是A表的外键。 | 比如,A表中的一个字段,是B表的主键,那它就可以是A表的外键。 | ||
+ | |||
+ | |||
+ | 在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 | ||
+ | {| class="wikitable" | ||
+ | | | ||
+ | !主键 | ||
+ | !外键 | ||
+ | !索引 | ||
+ | |- | ||
+ | !定义 | ||
+ | |唯一标识一条记录 | ||
+ | 不能有重复的 | ||
+ | |||
+ | 不允许为空 | ||
+ | |表的外键是另一表的主键 | ||
+ | 外键可以有重复的 | ||
+ | |||
+ | 可以是空值 | ||
+ | |该字段没有重复值 | ||
+ | 但可以有一个空值 | ||
+ | |- | ||
+ | !作用 | ||
+ | |用来保证数据完整性 | ||
+ | |用于和其他表建立联系 | ||
+ | |提高查询排序速度 | ||
+ | |- | ||
+ | !个数 | ||
+ | |主键只能有一个 | ||
+ | |一个表可以有多个外键 | ||
+ | |一个表可以有多个唯一索引 | ||
+ | |} |
2022年9月28日 (三) 06:17的版本
https://www.bilibili.com/video/BV1hg411V7Bm/?p=92
规范化理论-主键
主键
关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键。
主键是唯一的。(实体完整性)
一个数据表中只能包含一个主键。
取值唯一,不允许重复,不允许为空
候选键是对具有关系键特性的一个或多个属性(组)的统称。
一个数据表中可以有多个候选键。
比如:
学生表(学号,姓名,身份证号,性别,班级)学号或身份证号
课程表(课程编号,课程名,学分)课程编号
成绩表(学号,课程号,成绩)学号+课程号作为一个组合键
复合键
复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
外键
用于与另一张表的建立关联。
能确定另一张表记录记录的字段,保持数据的一致性。
比如,A表中的一个字段,是B表的主键,那它就可以是A表的外键。
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
主键 | 外键 | 索引 | |
---|---|---|---|
定义 | 唯一标识一条记录
不能有重复的 不允许为空 |
表的外键是另一表的主键
外键可以有重复的 可以是空值 |
该字段没有重复值
但可以有一个空值 |
作用 | 用来保证数据完整性 | 用于和其他表建立联系 | 提高查询排序速度 |
个数 | 主键只能有一个 | 一个表可以有多个外键 | 一个表可以有多个唯一索引 |