第二节 关系数据模型
知识点:关系代数 ★★★
选择:表示为:δF(R),其中,F 为条件表达式,R 为指定的被运算关系名。
投影:表示为:πA(R),其中,R 为被运算关系名,A 为属性序列。
1、某学生社团管理系统的数据库包含如下三个关系表:
学生(学号,姓名,年龄,性别,所在系)
协会(协会编号,协会名,办公地点,负责人)
入会(学号,协会编号,入会日期)
实现下列操作:
(1)使用关系代数查询“科技”协会的信息。
δ协会名=“科技”(协会)
(2)使用关系代数查询学生的学号,姓名和所在系。
π学号、姓名、所在系(学生)
关系的完整性约束 ★★★
1、简述实体完整性约束
指关系的主属性,即主码的组成不能为空,也就是关系的主属性不能是空值 NULL。
2、简述参照完整性约束
定义外码和主码之间的引用规则,它是对关系间引用数据的一种限制。
描述定义:若属性F是基本关系R的外码,它与基本关系S的主码K相对应,则对于R中每个元组在F上的值只允许两种可能,即要么取空值,要么等于 S 中某个元组的主码值。
3、简述用户定义的完整性约束
针对某一应用环境的完整性约束条件,它反映了某一具体应用所涉及的数据应满足的要求。
4、简述关系模型完整性约束的检验。
1)执行插入操作:执行插入操作时,首先检查实体完整性约束,然后再检查参照完整性约束,最后检查用户定义完整性约束。
2)执行删除操作:当执行删除操作时,一般只需要对被参照关系检查参照完整性约束。
3)执行更新操作:当执行更新操作时,因为更新操作可看成是先 执行删除操作,再执行插入操作,因此是上述两种情况的综合。
第三节 关系数据库的规范化理论
知识点:函数依赖与关键字 ★★★
完全函数依赖 设 R 为任一给定关系,X、Y 为其属性集,若 X→Y,且对 X 中的任何真子集 X,都有 X,Y,则称 Y 完全函数依赖于 X。
部分函数依赖 设 R 为任一给定关系,X、Y 为其属性集,若 X→Y, 且 X 中存在一个真子集 X,满足 X,→Y,则称 Y 部分 函数依赖于 X。
传递函数依赖 设 R 为任一给定关系,X、Y、Z 为其不同属性子集,若 X→Y,Y X,Y→Z,则有 X→Z,称为 Z 传递函数依赖于 X。
知识点:范式与关系规范化过程 ★★★
第一范式1NF 设 R 为任一给定关系,如果 R 中每个列与行的交点处的取值都是不可再分的基本元素,则 R 为第一范式。
第二范式2NF 设 R 为任一给定关系,若 R 为 1NF,且其所有非主属性都完全函数依赖于候选关键字,则 R 为第二范式。
第三范式 3NF 设 R 为任一给定关系,若 R 为 2NF,且其每一个非主属性都不传递函数依赖于候选关键字,则 R 为第三范式。
BCNF 设 R 为任一给定关系,X、Y 为其属性集,F 为其函数依赖集,若 R 为 3NF,且其 F 中所有函数依赖 X→Y(Y不属于 X)中的 X 必包含候选关键字,则 R 为 BCNF。
注意:满足高级范式的一定满足低级范式,但满足低级范式的不
一定满足高级范式。
设有关系模式 R(商品号,商品名,类号,类名,商店号,商店名,销售日期,售价)存储商店销售商品等信息。
如果规定:每个商品只属于一个类别;每个商店可以销售多种商品,每种商品也可以在多个商店销售,同种商品可以有不同的售价,但每个商店的每种商品每天只能有一个售价。
1.根据上述条件,写出模式 R 的关键字。
2.R 最高属于第几范式,为什么?
3.举例说明 R 在何种情况下会发生删除异常。
4.将 R 规范到 3NF。
答案及解析
1.答案:商品号,商店号,销售日期
2.答案:R∈1NF,因为存在非主属性对码的部分函数依赖。
3.答案:删除销售信息时有可能把商品的基本信息也删除了。
4.答案:
R1(商品号,商品名,类号)
R2(类号,类名)
R3(商店号,商店名)
R4(商品号,商店号,销售日期,售价)
评论: