目录
一、函数依赖——考概念
设R(U)是在属性U上的关系模式,X,Y是U的子集,若对于R(U)的任意一个可能的关系r,r中的任意两个元组在X上的属性值相等,
那么在Y 上的属性值也相等,则称“X函数确定Y”或“Y函数依赖于X”,记作 X→Y。X称为这个函数依赖的决定属性组,也称为决定因素。
例如:关系式S(Sno,Sname,Ssex,Sage,Sdept) X 相当于主键,由Sno可以得到Sname
F={Sno→Sname,Sno→Ssex,Sno→Sage,Sno→Sdept}
1、依赖类型
2、Armstrong公理——考定义
从已知的一些函数依赖,可以推导出另外一些函数依赖,这就需要一系列推理规则,这些规则常被称作 “Armstrong 公理”。
设关系式R(U,F),U是关系模式R的属性集,F是U上一组函数依赖,则有以下三条推理规则:
- 自反律:若Y⊆X⊆U,则X→Y为F所蕴含; 解释:A 包含于 (A,B),那么由(A,B)可以推导出A
- 增广律:若X→Y为F所蕴含,且Z⊆U,则XZ→YZ为F所蕴含;解释:X->Y ,那么X+Z -> Y+Z
- 传递律:若X→Y,Y→Z为F所蕴含,则X→Z为F所蕴含。解释:X→Y,Y→Z,那么X→Z
根据上面三条推理规则,又可推出下面三条推理规则:
- 合并规则:若X→Y,X→Z,则X→YZ为F所蕴含;
- 伪传递规则:若X→Y,WY→Z,则XW→Z为F所蕴含;
- 分解规则:若X→Y,Z⊆Y,则X→Z为F所蕴含。
3、超键、主键、候选键、外键
外键
如果关系模式R中的某些属性集不是R的主键,而是关系模式S的主键,则这个属性集对模式R而言是外键。
例如:关系式SC(Sno,Cno,Grade)中,Sno不是主键,但它是S(Sno,Sdept,Sage)的主键,则Sno是关系模式SC的外键。
4、主属性、非主属性、全码(All-key)
主属性和非主属性
n包含在任何一个主键中,称为主属性,否则为非主属性。
例如:S(Sno,Sdept,Sage),Sno是主键,也是主属性,Sdept,Sage是非主属性。
全码(All-key)
例如:关系模式R(P,W,A)中,P是演奏者,W是作品,A是听众,
该关系模式只有一个包含了全部属性的主键,是全码。即(P,W,A)为主键,所有属性都是主键的组成部分
典型真题
二、规范化 ——考关系推理
1、第一范式(1NF)
若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式。如下图不属于第一范式。(属性不可再分)
2、第二范式
若关系模式R∈1NF,且每一个非主属性完全依赖主键时,则关系式R是2NF(第二范式)。(主键完全依赖,不存在部分依赖)
第二范式拆分举例
3、第二范式
即当2NF消除了非主属性对码的传递函数依赖,则称为3NF。(不存在传递依赖)
如上图,(商店+商品)作为主键,可以推出 -> 经营部,得到经营部后,由(商店+经营部),可以推出经理,其中就存在传递依赖
4、BC范式(BCNF)
R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选键。
例如:关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程
假设每一教师只教一门课 T→J
每门课由若干教师教,但某一学生选定某门课,就确定了一个固定的教师 (S,J)→T
某个学生选修某个教师的课就确定了所选课的名称 (S,T)→J
T→J,(S,J)→T,(S,T)→J
候选键∶(S,J)和(S,T)STJ都是主属性,不存在非主属性对码的部分函数依赖和传递依赖,STJ∈3NF。
规范化——>将STJ(S,T,J)分解为:
- ① SJ(S,J),∈ BCNF。SJ的候选键为(S,J),这里属于all-key 。
- ② TJ(T,J)∈ BCNF。TJ的码为T,T→J。
典型真题一
试题分析
由“AC→B,B→DE”,可以判断AC是唯一候选键(候选关键字),通过AC可以获得其他全部属性。因此AC分别是主属性,B、D、E为非主属性。
参考答案:A、C
典型真题二
试题分析
原零件关系P存在非主属性对码的部分函数依赖:(Pno,Sname)→Qty,Sname→City,因此P属于1NF。分解后的关系模式P1P2和P3消除了非主属性对码的部分函数依赖,同时不存在传递依赖,故达到3NF。
参考答案:A、C
典型真题三
试题分析
第一空,选项D中,E→A,A→B,B→D,CB→E包括了全部的属性。
第二空,我们查看所有的组合,R3包含了主键CE,那么R3肯定是无损的,并满足函数依赖。
参考答案:D、D
三、数据库设计-考概念
1、需求分析
需求分析的目标是通过调查研究,了解用户的数据和处理要求,并按照一定格式整理成需求规格说明书。
数据字典的内容:数据项、数据流、数据存储、数据加工(处理过程)。
2、概念设计
其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何DBMS的数据模型,即概念模型。
下图为学校教学管理系统E-R图。
3、逻辑设计
逻辑设计也称为逻辑结构设计,其任务是将概念模型转化为某个特定的DBMS上的逻辑模型(层次模型、网状模型、关系模型)。
E-R图向关系模式转换规则:
- E-R图的实体转换为关系
- E-R的属性转换为关系的属性
- E-R图的关键字转换为关系的关键字
(1)复合属性的转换
(2)多值属性的转换
(3)派生属性
因为派生属性可由其他属性计算得到,因此,在转化成关系模式时,通常不转换派生属性。
例如:“学生”实体中有“生日”和“年龄”等属性,从“生日”可以计算出“年龄”属性的值,“年龄”属性就是派生属性。
(4)BLOB型属性
典型的BLOB是一张图片或一个声音文件,由于它们的容量比较大,必须使用特殊的方式来处理。处理BLOB的主要思想就是让文件处理器(例如,数据库管理器)不去理会文件是什么,而是关心如何去处理它。因此,从优化的角度考虑,应采用的设计方案是将BLOB属性与关系的主键独立为一个关系模式。
(5)联系属性
4、物理设计
- ① 设计存储记录结构,包括记录的组成、数据项的类型和长度,以及逻辑记录到存储记录的映射。
- ② 确定数据存储安排。
- ③ 设计访问方法,为存储在物理设备上的数据提供存储和检索的能力。
- ④ 进行完整性和安全性的分析与设计。
- ⑤ 数据库程序设计。
典型真题
试题分析
数据库概念设计也称为概念结构设计,其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何数据库管理系统DBMS的数据模型,即概念模型。
参考答案:B