第四章 关系型数据库规范设计
更新时间:2023-06-05 11:29:01 阅读量: 实用文档 文档下载
Data Base System
第四章
关系型数据库规范设计
本章主要内容4.1 4.2 4.3 4.4 关系模式的设计问题 函数依赖 关系模式的分解特性 关系模式的范式
Data Base System
S#
SNAME
SDEPT
C# CNAME
TIME
GRADE
S#、SNAME、SDEPT、 C#、CNAME、TIME、 S#、C#、GRADE
SQL
用户
SQL数据库的体系结构
CNAME_SNAME_GRADE (C#,S#,GRADE) View V1
View V2
外模式 模式
Base Table Base Table Base Table B1 B2 C(C#、CNAME、TIME) B3S (S#、SNAME、SDEPT)
SC(S#、C#、GRADE)
Base Table B4
……Stored File S1 Stored File S1 内模式
Stored File S1
Stored File S1
SQL语言支持的关系数据库的三级模式结构
4.1关系模式的设计问题对于一个现实问题,它有一个属性集U,其中每个 属性Ai对应一个值域DOM(Ai),它由属性集U 和U上成立的数据完整性约束集组成。关系r是 关系模式R(U)的当前值,是一个元组的集合。 这里的关系模式和关系一般称为泛关系模式和泛 R(S#、SNAME、SDEPT、C#、CNAME、TIME、 S#、C#、GRADE) 关系。但是对于许多现实问题,往往R(U)不是恰当的形式,必须 用一个关系模式的集合p={R1,R2,……Rk}来代替R(U), 这里的p称为数据库模式。对数据库模式的每一个关系模 式赋予一个当前值,就得到一个数据库实例(数据库)。 S (S#、SNAME、SDEPT) C(C#、CNAME、TIME) SC(S#、C#、GRADE)
Data Base System
4.1关系模式的设计问题
什么是好的数据库设计 体现客观世界的信息
无过度的冗余
Data Base System
无插入异常
无更新复杂 无删除异常
4.1关系模式的设计问题TNAME ADDRESS C# CNAME
Data Base System
t1 t1 t1 t2 t2 t3
a1 a1 a1 a2 a2 a3
c1 c2 c3 c4 c5 c6
n1 n2 n3 n4 n2 n4
关系模式R(TNAME,ADDRESS,C#,CNAME)
TNAME
ADDRESS
C#
CNAME
4.1关系模式的设计问题
t1t1 t1 t2
a1a1 a1 a2 a2 a3
c1c2 c3 c4 c5 c6
n1n2 n3 n4 n2 n4
对数据库操作时,会出现以下问题
t2 t3
1、数据冗余:(数据重复存储:浪费存储空间,数据库维护困难) 如一名教师教多门课程,他的地址要重复多次 2、更新异常:如果一个教师教了三门课程,则如果他的地址变 了,三个元组的地址信息都要变。若有一个没变,就会造成 地址不唯一,产生错误信息。 3、插入异常:主键为空的记录不能存在于数据库,导致不能进行 插入操作 如教师没有分配教学任务,就不能插入数据库。 4. 删除异常:删除操作后,会引起一些信息的丢失。 如一个原有教学任务的教师教师现在没有教学任务,要把这 个教师的所有元组都删去。这样就把这个教师的姓名和地址 也从数据库中删去了,不合理。
4.1关系模式的设计问题解决之道:分解! 分解!! 再分解!!!TNAME t1 t1 t1 t2 t2 t3 C# c1 c2 c3 c4 c5 c6 CNAME n1 n2 n3 n4 n2 n4
TNAME
ADDRESS
t1t
2 t3
a1a2 a3
分解为两个模式: R1(TNAME,ADDRESS) R2(TNAME,C#,CNAME)
4.1关系模式的设计问题Sno Sname Sage ssex sdept cno cname
怎么分解最佳?
考虑为学生的选课信息而设计一个关系模式。credit grade
95001 95001 95001 95002 95002
张三 张三 张三 李四 李四
25 25 25 23 23
M M M F F
CS CS CS MA MA
C01 C02 C03 C01 C03
数据库 网络技术 英语 数据库 英语
3 3 4 3 4
95 80 76 80 80
过度冗余——数据重复 更新异常——更新代价大、可能导致数据不一致
删除异常——部分信息的删除可能导致信息的丢失插入异常——必须有完整信息
4.2 函数依赖 (FD, Function Dependence)
y=f(x)Data Base System
y=3x
4.2.1 函数依赖定义 设有关系模式R(A1,A2,...An)或简记为R(U),
Data Base System
X,Y是U的子集,r是R的任一具体关系, 如 果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致 t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖 于X, 记为X→Y。X→Y为模式R的一个函数 依赖。
如S# Sname, (S#,C#) Grade
该定义理解如下:有一张设计好的二维表, X,Y是表的某些列(可以是一列,也可以是多 列),若在表中的第t1行,和第t2行上的X值相 等, 那么必有t1行和t2行上的Y值也相等,这 就是说Y函数依赖于X。 比如,有如下二维表
在表中,凡成绩相同的,对应的“成绩
Data Base System
等级”也必是相同的,因此,“成绩等 级”函数依赖于"成绩"。 但是反过来则 不成立。 Notice: (1)在这张表中,任何一行的关系均应符 合函数依赖的条件,如果有一行不符合 函数依赖的条件,则函数依赖对于这个 关系就不成立。 (2)函数依赖是否成立是不可证明的,只 能通过属性的含义来判断.
表例学号 姓名 成绩 成绩等级
00001 00002
李里 丁力李小红 马琳 王佳怡 胡林 ......
77 9185 85 66 70 ......
C AB B D C ......
Data Base System
00003 00004 00005 00006 ...
举例:
Data Base System
职工号(A) 基本工资(B) 051 390 052 420 053 390 A B A C B A C A
奖金(C) 50 50 80
4.2.2 函数依赖-几点说明1. 函数依赖是语义范畴的概念.它反映了一 种语义完整性约束,只能根据语义来确定 一个函数依赖.例如,“姓名”-“年龄” 这个函数依赖只有在没有同名人的条件下 成立,否则,此函数依赖不成立。 2. 函数依赖是指关系R模式的所有关系元组 均应满足的约束条件,而不是关系模式中 的某个或某些元组满足的约束条件。
Data Base System
4.2.2 函数依赖-几点说明3. 函数依赖与属性间的联系类型有关 (1)若属性X和Y之间有“一对一”的联系, 则X Y,Y X,X Y.(如不存在同名的学号和姓名) (2)若属性X和Y之间有“多对一”的联系, 则X Y,但Y X. (3)若属性X和Y之间有“多对多”的联系, 则X与Y之
间不存在任何函数依赖. 当确定函数依赖关系时,可从属性间的联系入手
Data Base System
函数依赖 (FD, Function Dependence)
Data Base System
y=f(x) y=3x 2 y=x2=x2 y
X=1 y=3; X=2 y=6; X=1 y=1;
y=3 x=1; y=6 x=2; y=1 x=1or x=-1;
X=-2 y=4;
问:X、Y是谁函数依赖谁?是X函数依赖Y?还是Y函数依赖X? 答:Y函数依赖X(X函数决定Y) x=1 y=1or y=-1; y=1 x=1or x=-1;
问:X、Y是谁函数依赖谁?是X函数依赖Y?还是Y函数依赖X?
答:没有任何函数依赖关系
4.2.2 函数依赖-几点说明 4. 如果X → Y,并且Y不是X的子集,则称X → Y是 非平凡的函数依赖;如果Y是X的子集,则称X→Y是平凡的函数依赖; 我们讨论的是非平凡的函数依赖.例如:(S#,SN) SN是平凡的函数依赖
Data Base System
5. 函数依赖的存在,决定了自然连接的特性 设关系模式R(X,Y,Z),X,Y,Z为不相交的属性集 合,若X→Y,X → Z, 则有R(X,Y,Z)=R(X,Y) R(X,Z) 即用它们的自然连接可复员原关系模式
举例:关系模式S(S#,SN,C#,G,CN,TN,TA)主键:(S#,C#)
函数依赖:S# SN(每个学生只能有一个姓名)
Data Base System
C# CN(每个课程号只能对应一门课程)TN TA(每个教师只能有一个年龄) (S#,C#) G(每个学生学习一门课程只 能有一个成绩)
4.2.2 函数依赖A 1 3 3 7 9 B 4 5 4 3 1 C 2 6 6 8 0
Data Base System
说明关系是否满足下列函数依赖: A B A C AB C C A AC B
不满足A B,因为(3,5,6)和(3,4,6), t1(A)=t2(A)=3,但是t1(B)=5而t2(A)=4A C AB C C A
4.2.3 键 定义
Data Base System
–超键:设X为关系R的属性或属性组,U为R的元 组若X U,则称X为R的超键。 –候选键:设X为R的超键,若X中不含多余属性, 则称X为R的候选键。 –主键:若关系R有多个候选键,则可以从中选 定一个作为R的主键。 –主属性:包含在任何一个候选键中的属性,称 作主属性,不包含在任何键中的属性称为非主 属性。 –全键:关系模式的键由整个属性组构成。 如(S#,C#,T#)
正在阅读:
第四章 关系型数据库规范设计06-05
高铁接触网应知应会10-02
生物化学 - 三羧酸循环04-05
淘气包弟弟作文700字06-24
我国中小城市房价调控存在问题论文12-10
关于表彰2012—2013学年先进班集体、三好学生标兵、三好学生、优06-21
杨柳青教案04-30
公司员工培训学习心得体会03-31
小学生二年级写动物的300字作文06-13
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 关系型
- 第四章
- 规范
- 数据库
- 设计
- 心理学与教师成长
- 浅谈自粘防水卷材的应用
- 广东解读劳动合同法
- 世界著名葡萄酒资料
- 韩国经济的现状和前景
- 我国责任保险的发展现状及效率分析
- 冀教英语五上Unit 3 Lesson 16 How Can We Go to Beijing 教案
- 高中化学铝三角转换关系与其图象问题
- 第5讲 食品成本控制(2)
- 山西晋煤华昱施工组织设计
- 华师大版七年数学上册第三章 整式的加减单元测试题及答案
- 奥硝唑注射液与常用注射液的配伍稳定性研究
- 北京师范大学电子与通信工程(珠海分校)考研 招生人数 参考书 报录比 复试分数线 考研经验 招生简章
- 2011《金版新学案》高三一轮数学(理)高考总复习测评卷:章末质量检测7
- 语文版四年级语文下册第二次月考试题(附参考答案)
- 隧道工程专业2014届毕业设计(论文)中期答辩安排表
- 大庆师范学院数学与应用数学初等数论试题2答案
- 练习册苏科版生物八年级下答案
- 新桥中学高三历史十一月月考试题
- 开源权限管理框架Shiro