1.关系
1.1域(Domain)
域:一组具有相同数据类型的值的集合
例:整数
例:实数
例:{“男”、“女” ******}
1.2笛卡尔积(Cartesian Product)、
笛卡尔积:给定一组域D1,D2,*****Dn,允许其中某些域是一样的,这一组域的笛卡尔积为D1×D2×…×Dn ={(d1,d2,…,dn)|di属于Di,i=1,2,…,n}
笛卡尔积的表示方式:笛卡尔积可以表示为一张二维表,表中每一行表示一个元组,每一列表示一个域;
元组:笛卡尔积中每一个元素叫做一个n元组或简称元组
分量:元组中的每一个值都叫做一个分量
基数:若Di为有限集,那么其基数为mi(Di中有多少个数)
例:
域:D1{“A小区”,“B小区”} D2{“张三”,“李四”,“王五”} D3{“爱喝酒”,“不爱喝酒”}
笛卡尔积:
D1 | D2 | D3 |
A小区 | 张三 | 爱喝酒 |
A小区 | 张三 | 不爱喝酒 |
B小区 | 张三 | 爱喝酒 |
B小区 | 张三 | 不爱喝酒 |
A小区 | 李四 | 爱喝酒 |
A小区 | 李四 | 不爱喝酒 |
B小区 | 李四 | 爱喝酒 |
B小区 | 李四 | 不爱喝酒 |
A小区 | 王五 | 爱喝酒 |
A小区 | 王五 | 不爱喝酒 |
B小区 | 王五 | 爱喝酒 |
B小区 | 王五 | 不爱喝酒 |
元组:每一行都是一个元组,如:{“A小区”,“张三”,“爱喝酒”};
分量:除D1,D2,D3外,表格内的每一格都是一个分量;
基数:D1基数为2,D2基数为3,D3基数为2;笛卡尔积基数为2*3*2=12;
1.3关系(Relation)
关系:D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的 关系,表示为R(D1,D2,…,Dn;即:笛卡尔积的子集;
R:关系名 n:关系的目或度(Degree)
单元关系:n=1时;
二元关系:n=2时;
属性:关系也是一个二维表,其中不同的列可以对应相同的域,因此每一列都需要起一个名字,就是属性,n元关系就要有n个属性名;
码:
候选码:若某一属性组的值能够唯一的表示一个元组,则称该属性组为候选码;
候选码可以有多个属性,其中最简单的属性为只存在一个属性;
全码:关系模式的所有属性组是这个关系模式的候选码,称为全码;
主码:如果一个关系有多个候选码,那么选取其中一个作为主码;
主属性:候选码的属性称为主属性,非候选码的属性称为非主属性或非码属性;
由于上一个例子不具有实际意义,抽取其中具有实际意义的例子:
小区 | 名字 | 爱不爱喝酒 |
A小区 | 张三 | 爱喝酒 |
A小区 | 李四 | 不爱喝酒 |
B小区 | 王五 | 爱喝酒 |
候选码:名字
其中“小区”“爱不爱喝酒”都不能唯一标识一个元组,因此不能称为候选码;
由于只有一个候选码,那么“名字”也是此关系的主码,“名字”也是主属性;
三类关系:
基本关系(基本表或基表):实际存在的表,是实际存储数据的逻辑表示
查询表:查询结果对应的表
视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据
视图表解释:如透过窗户看教室内的学生,随着视角的转动,看到的学生不一样;也就是说你看到的并不是存储在视图表中的数据,而是存储在基本表中的数据,你只是看到了数据,而不是存储在视图表中;
基本关系的性质:
① 列是同质的(Homogeneous)
② 不同的列可出自同一个域
其中的每一列称为一个属性
不同的属性要给予不同的属性名
③ 列的顺序无所谓,列的次序可以任意交换
④ 任意两个元组的候选码不能相同
⑤ 行的顺序无所谓,行的次序可以任意交换
⑥ 分量必须取原子值 这是规范条件中最基本的一条,不能表中有表
扣费 | |||||
津贴 | 基本工资 | 加班费 | 迟到 | 请假 | 总计 |
2000 | 2000 | 200 | -100 | -150 | 3950 |
这个就不是一个关系,违背了第六条,分量必须取原子值;应该删除扣费
津贴 | 基本工资 | 加班费 | 迟到 | 请假 | 总计 |
2000 | 2000 | 200 | -100 | -150 | 3950 |
这就是一个关系;
2.关系模式
关系模式(Relation Schema)是型
关系是值
关系模式是对关系的描述
元组集合的结构
属性构成
属性来自的域
属性与域之间的映象关系 完整性约束条件
完整性约束条件
关系模式可以形式化地表示为:
R(U,D,DOM,F)
R 关系名
U 组成该关系的属性名集合
D U中属性所来自的域
DOM 属性向域的映象集合
F 属性间数据的依赖关系的集合
关系模式通常可以简记为
R (U) 或 R (A1,A2,…,An)
R: 关系名
A1,A2,…,An : 属性名
注:域名及属性向域的映象常常直接说明为 属性的类型、长度
关系与关系模式的区别:
关系模式 :对关系的描述 静态的、稳定的
关系 :关系模式在某一时刻的状态或内容 动态的、随时间不断变化的
关系模式和关系往往笼统称为关系
通过上下文加以区别