第二章
其实现在看起来当时的笔记也就是几乎全部PPT,但是偶尔零星的自己注释,也能让自己捡起来很多遗忘的知识。现在转成HTML格式,记笔记确实是一个好习惯啊……
简介

关系数据结构


关系和二维表的关系:
二维表允许出现两条一样的记录
关系不允许
1.1 基本定义
域

笛卡尔积




关系
1 关系

2 元组

3 属性

4 码
候选码:学生的学号和身份证号都是学生的候选码
不唯一。
主键的集合。
候选码里任意找一个就是码。
码唯一。


5 单元关系与二元关系

6 基本关系的性质


大表里不能套小表

1.2 关系模式
1 什么是关系模式
学生关系,学号,姓名这些名字就是关系模式
具体到学号是“18070.··”就是关系
型变得少,值变得多

2 定义关系模式
U:学号,姓名。。。
D:属性域



3 关系模式与关系的“关系”

1.3关系数据库
关系的集合

关系完整性约束
关系的三类完整性约束

1 实体完整性
码不能为空 或 不能相同


2 参照完整性
大表拆分成小表,通过属性链接
1 关系间的引用



2 外码
外码能不能为空,取决于它是否为主键





3 参照完整性规则




3 用户定义的完整性


关系操作
关系代数


关系代数运算符

传统集合运算
记号





1并


2差(相对补)


3交


4笛卡尔积


五个基本运算:
并,差,笛卡尔积,选择,投影
剩下三个:
交,链接, 除
可以被基本运算表示
专门的集合运算

1 选择




2 投影



3 连接

等值连接

自然连接






悬浮元组

外连接



4 除




题目中包含“所有的”就用除





综合例子









老师的例题


























关系演算

元组关系演算

1 简单检索

2 限定排序

3 排序检索

4 定额检索

5 元组变量的检索

6 存在量词的检索


7 带多个关系的表达式的检索

8 用量词的检索



9 用两种量词的检索

10 蕴含的检索

11 聚集函数


域关系演算


1 简单查询







2 条件查询
与



或

多表连接

非


3 聚集函数


4 升序降序


关系运算比较

域演算最快
其次元组演算
然后关系代数
sql比较接近元组演算