关系的三类完整性约束
实体完整性规则
• 保证关系中的每个元组都是可识别的和惟一的 • 指关系数据库中所有的表都必须有主键,而且表中不允许存在如下记录:
– 无主键值的记录
– 主键值相同的记录
• 原因:实体必须可区分
• 就像实体-学生,它的每一个元组中的主键学号必须唯一且不能为 NULL
参照完整性规则(引用完整性)
• 现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用
• 参照完整性就是描述实体之间的联系的
• 参照完整性一般是指多个实体或关系之间的关联关系
用户定义的完整性规则
• 反映某一具体应用所涉及到的数据必须满足的语义要求
• 比如学生表中,对于 大学生 的成绩而言,成绩的范围是 0~100
关系代数运算
R u S(并)
• 两张表格的元一样(两张表格列数一样)
• 相同的属性取自同一个域(属性都一样)
• 两个原始的表格和合并之后的新表格元数一样(列数一样)
• 如果两个表之间有重复的元组,并运算会做去重处理,类似于集合的之间的并集
R - S、S - R(差)
• 两个表格列数一样
• 两个表格的属性都相同
• 两个表进行了差运算之后,都仍然是n列
• R-S表:R表中有任意一个元组和S表的一样,R表就去掉这个元组
• S-R表:S表中有任意一个元组和R表的一样,S表就去掉这个元组
条件(R/S)(选择)
• 选择也称之为限制
• 选择是针对的元组进行选择,选择出满足条件的元组(元组简单理解就是一行)
• 选择运算是查询符合条件的行
R x S(笛卡尔积)
• 没有任何使用限制,万物皆可笛卡尔积
• R表:n元关系,k1个元组(k1行,n列)
• S表:m元关系,k2个元组(k2行,m列)
• R表和S表进行笛卡尔积
• 得到一个(k1 * k2)元,(n + m)列的新表
属性名...(R/S)(投影)
• 查询结果是一列或者多列
• 如果查询的一列中出现重复数据,则会自动去掉该列中重复的数据
R ⋈ S(连接)
• 从两个关系的笛卡尔积中选择属性之间满足一定关系的元组
• 在两张表的笛卡尔积后得到的那张大表中再次选取一些符合我们条件的元组
• 不同的连接方式对应的符号也有一些细微的差别
a. 等值连接
• R X S 进行笛卡尔积
• R.B = S.E 选择满足条件的元祖(B和E可以是关系 R 和 B中不相同的属性名)
b. 自然连接
• R X S 进行笛卡尔积
• 自动以相同的属性列选择属性下值相同的元祖(行)
• 去掉重复的相同列 ,只留下一列
c. 一般连接
• 非等值连接
d.注意
• 自然连接是一种特殊的等值连接
• 等值连接必须要有等值的条件,当条件不同时连接的结果也不相同,两个关系可以没有相同的属性列
• 自然连接不必指定任何同等连接条件,自然连接自动判断相同名称的列,而后形成匹配。
• 缺点是,虽然可以指定查询结果包括哪些列,但不能人为地指定哪些列被匹配。另外,自然连接的一个特点是连接后的结果表中匹配的列只有一个
7. 属性名...(条件(R/S))选择和投影的配合使用
• 先使用选择运算选择符合条件的行
• 再使用投影运算选择符合条件的列
8. 除
点击链接,访问这篇详细的文章介绍除运算