关系模型的基本概念和组成
关系术语 | 表格术语 |
---|---|
关系名 | 表名 |
关系模式 | 表头 |
关系 | 二维表 |
元组 | 一行 |
属性 | 一列 |
属性名 | 列名 |
属性值 | 列值 |
分量 | 一条记录中的一个列值 |
非规范关系 | 表中有表 |
关系的定义
笛卡尔积
- 给定一组域D1、D2…Dn,这些域中可以有相同的,D1、D2…Dn的笛卡尔积为D1×D2×…×Dn={(d1,d2,…,dn)}
- 所有域所有取值的一个集合
- 不能重复;
元组
- 笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple);
分量
- 笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量;
关系
- D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为 R(D1,D2,…,Dn)其中:R:关系名n:关系的目或度(Degree)
- 关系是笛卡尔积的有限子集;是笛卡尔积的有意义的元组构成的子集。
- 关系中的每个元素是关系中的元组,t={t[1],t[2],…,t[n]},其中:n=1为单元关系,n=2为二元关系
候选码
- 某一属性组的值可以唯一标识一个元组,该属性组为候选码;
- 候选码的诸属性为主属性;
- 不包含在任何候选码中的属性称为非主属性;
主码
- 若一个关系有多个候选码,选中其中一个为主码
- ① :课堂号可以唯一标识,可以作为候选码;
- ②:(课程名、教师)也可以唯一的标识,也可作为候选码
- so:课堂名、课程名、教师称为主属性,上课时间、限定人数为非主属性;
全码
- 在极其特殊情况下,关系模式中的所有属性组为关系模式下的候选码
- 以下情况(学号,课程号)为候选码
学号 | 课程号 |
---|---|
201709000801 | 8001 |
201709000809 | 8008 |
201709000809 | 8001 |
三类关系
基本关系
- 实际存在的表,实际存储数据的逻辑表示;
查询表
- 查询结果对应的表
视图表
- 由基本表或者其他视图表导出的表,是虚表,不对应实际存储的数据
关系模式
- 关系的描述称为关系模式,表示为R(U,D,dom,F),简记为R(U);其中:R为关系名;U:组成该关系的所有属性名集合;D:属性组U中属性来自的域;dom:属性向域的映象集合;F:属性间的数据依赖关系集合;
关系数据库
- 所有实体以及实体之间联系的关系的集合构成
关系完整性
- ① 实体完整性:所有主属性都不可以取空值;
- ② 参照完整性:理解外码概念;
- 外码:设F 是基本关系R的一个或一组属性,但不是关系 R的码。如果 F 与基本关系 S 的主码Ks 相对应,则称F是基本关系R 的外码。基本关系R称为参照关系。基本关系S称为被参照关系或目标关系。则对于R 中每个元组在F上的值必须为:
或者取空值(F 的每个属性值均为空值)
或者等于S 中某个元组的主码值。
- 比如:
- ③ 用户自定义完整性:自己根据不同情况设定的;
关系代数
基本知识补充
- 一种抽象的查询语言,用对关系的运算表达查询
- 已有关系模式 R(A1,A2,…,An),一个关系设为R,t 是R 的一个元组,t[Ai]则表示元组t中相应于属性Ai的一个分量;
另外:可以是多个属性构成属性组;
关系代数之选择
关系代数之投影
关系代数之连接
其中特殊的,还有等值连接;
更为特殊的是自然连接;
关系代数之除运算