数据库应用第3章Design-PPT精选文档
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
70
85
S4
自动化
李明
数据库
93
10
形成初始关系数据库模式
1. 数据冗余:
同一系中有n个学生,“系名”与”系主任”就重复n-1次; 同一个学生选修了m门课程,学号就重复了m-1次。
2. 更新异常:
若调整了某系系主任,数据表中所有行的“系主任”值都 要更新,否则会出现同一系系主任姓名不同的情况。
2019/3/8
11
形成初始关系数据库模式
3. 插入异常:
假设要开设一门新的课程,暂时还没有人选修。这样, 由于还没有“学号”关键字,课程名称和设课系也无法记 录入数据库。
4. 删除异常:
假设一批学生已经完成课程的选修,这些选修记录就应 该从数据库表中删除。但是,与此同时,系名与系主任 信息也被删除了。很显然,这也会导致插入异常。
属性
字段
概念数据库设计
逻辑数据库设计
物理数据库设计
现实世界
信息世界
逻辑世界
物理世界
E-R模型
2019/3/8
关系模型
3
关系数据库设计步骤
1. 2. 3. 4. 5. 6. 形成初始关系数据库模式; 关系模式规范化; 关系模式优化; 定义关系上的完整性和安全性约束; 子模式定义; 性能估计。
2019/3/8
2019/3/8
12
形成初始关系数据库模式
需要用关系模式的规范化方法消除初始逻辑数据库模 式中存在的问题。 某些关系模式可能存在由属性间的函数依赖引起的冗 余问题、插入问题、更新问题和删除问题。
2019/3/8
13
形成初始关系数据库模式
确定函数依赖集
函数依赖:Functional Dependency 对初始关系数据库模式中的每个关系模式进行深入地分 析,与用户协商,确定每个初始关系的函数依赖集,使 用关系数据库设计理论,对关系模式进行规范化处理。
只能根据数据的语义来确定函数依赖。描述学生的关系 模式:
U = {S#, SD, MN, CN, G}
根据数据的语义确定的函数依赖:
F = {S#→SD, SD→MN, (S#, CN)→G}
2019/3/8 16
函数依赖
如果X→Y而且Y不是X的子集,则称X→Y是非平凡函 数依赖。若不特别声明,我们总是讨论非平凡函数依 赖。
2019/3/8
14
设计理论
函数依赖
定义1:
设R是一个关系模式,U是R的属性集合,X和Y是U的子集。 对于R的任意实例r,r中任意两个元组t1和t2,如果 t1[X]=t2[X],则t1[Y]=t2[Y],我们称X函数地确定Y,或Y函 数依赖于X,记作X→Y。
只能根据数据的语义来确定函数依赖。描述学生的关系 模式:
U = {S#, SD, MN, CN, G}
根据数据的语义确定的函数依赖:
F = {S#→SD, SD→MN, (S#, CN)→G}
2019/3/8 15
设计理论
函数依赖
定义1:
设R是一个关系模式,U是R的属性集合,X和Y是U的子集。 对于R的任意实例r,r中任意两个元组t1和t2,如果 t1[X]=t2[X],则t1[Y]=t2[Y],我们称X函数地确定Y,或Y函 数依赖于X,记作X→Y。
数据冗余和更新问题
S#
S1
ห้องสมุดไป่ตู้
SN
MN
CN
G
计算机
刘伟
数据库
90
S1
S2 S2 S2 S3 S3
计算机
信息 信息 信息 信息 信息
刘伟
王平 王平 王平 王平 王平
离散数学
数据结构 信息系统 VB 数据结构 数据库
85
57 80 70 70 80
S3
S3
2019/3/8
信息
信息
王平
王平
离散数学
操作系统
G 90 85 57
S2
S2 S3 S3 S3 S3
2019/3/8
信息
信息 信息 信息 信息 信息
王平
王平 王平 王平 王平 王平
信息系统
VB 数据结构 数据库 离散数学 操作系统
80
70 70 80 70 85
8
S# S1 S1 S2 S2 S2 S3 S3 S3 S3
2019/3/8
删除异常
S2 S3 S3 S3 S3
2019/3/8
信息
信息 信息 信息 信息 信息
王平
王平 王平 王平 王平 王平
信息系统
VB 数据结构 数据库 离散数学 操作系统
80
70 70 80 70 85
7
S# S1 S1 S2
插入异常
SN MN CN 计算机 计算机 信息 刘伟 刘伟 王平 数据库 离散数学 数据结构
U = {S#, SD, MN, CN, G}
现实世界的已知事实:
F = {S#→SD, SD→MN, (S#, CN)→G}
2019/3/8
6
S# S1 S1 S2
插入异常
SN MN CN 计算机 计算机 信息 刘伟 刘伟 王平 数据库 离散数学 数据结构
G 90 85 57
S2
SN MN CN 计算机 计算机 信息 信息 信息 信息 信息 信息 信息 自动化 刘伟 刘伟 王平 王平 王平 王平 王平 王平 王平 李明 数据库 离散数学 数据结构 信息系统 VB 数据结构 数据库 离散数学 操作系统 数据库
G 90 85 57 80 70 70 80 70 85 93
9
S4
4
形成初始关系数据库模式
问题
初始关系模式可以是逻辑设计的最终结果吗? 某些关系模式可能存在冗余问题、插入问题、更新问题 和删除问题。
2019/3/8
5
形成初始关系数据库模式
例:
学生有下列信息:学号(S#)、系(SD)、系主任(MN),课 程名(CN),成绩(G)
有一个描述学生的关系模式:
如果X→Y,我们称X为这个函数依赖的决定属性集。
描述学生的关系模式:
U={S#, SD, MN, CN, G} (S#, SD)→SD SD→MN
2019/3/8
17
函数依赖
定义2
设R是一个具有属性集合U的关系模式,如果X→Y,并 且对于X的任何一个真子集Z,Z→Y都不成立,则称Y 完全函数依赖于X。若X→Y,但Y不完全函数依赖于X, 则称Y部分函数依赖于X。
关系数据库设计
关系数据库设计:目标
满足用户的完整性和安全性要求; 动态关系至少具有第三规范形式,静态关系至少具有 第一规范形式; 能够在逻辑级上高效率地支持各种数据库事务的运行; 存储空间利用率高。
2019/3/8
2
关系数据库设计:任务
事物类
事物
实体型
实体
关系
记录
文件
性质