关系数据库规范化理论

合集下载

第7章 关系数据库规范化理论

第7章 关系数据库规范化理论
20
7.2.1 关系模式中的码
例:
关系模式S(Sno,Sdept,Sage),单个属性Sno是码
SC(Sno,Cno,Grade)中,(Sno,Cno)是码 关系模式R(P,W,A)
P:演奏者
W:作品
A:听众
一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key
Sno→SName
Sno→Sdept
Sno→Sage
例:SC(Sno, Cno, Grade)
(Sno, Cno)→Grade
8
7.1.2 一些术语和符号
平凡函数依赖与非平凡函数依赖
在关系模式R(U)中,对于U的子集X和Y,
如果X→Y,但Y X,则称X→Y是非平凡的函数依赖
若X→Y,但Y X,
则称X→Y是平凡的函数依赖
例:在关系SC(Sno, Cno, Grade)中,
非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno
(Sno, Cno) → Cno
如不作特别说明,总是讨论非平凡函数依赖。
9
7.1.2 一些术语和符号
若X→Y,则X称为这个函数依赖的决定属性
24
7.2.1 关系模式中的码
外部码:用于关系表之间建立关联的属性(组)。 关系模式 R 中属性或属性组X 并非 R的码,但 X
是另一个关系模式的码,则称 X 是R 的外部码,也 称外码。
如在SC(Sno,Cno,Grade)中,Sno不是码,
但Sno是关系模式S(Sno,Sdept,Sage)的码, 则Sno是关系模式SC的外部码

关系数据库规范化理论常见试题及答案

关系数据库规范化理论常见试题及答案

关系数据库规范化理论常见试题及答案1.关系规范化中的操作异常有哪些?它是由什么引起的?解决的办法是什么?答:关系规范化中的操作异常有插入异常、更新异常和删除异常,这些异常是由于关系中存在不好的函数依赖关系引起的.消除不良函数依赖的办法是进行模式分解,即将一个关系模式分解为多个关系模式。

2.第一范式、第二范式和第三范式的关系的定义是什么?答:不包含非原子项属性的关系就是第一范式的关系;对于第一范式的关系,如果此关系中的每个非主属性都完全函数依赖于主键,则此关系属于第二范式;对于第二范式的关系,如果所有的非主属性都不传递依赖于主键,则此关系就是第三范式的。

3.什么是部分依赖?什么是传递依赖?请举例说明。

答:部分依赖关系是指某个属性只由构成主键的部分列决定,而和另一些列无关。

例如对关系:学生选课(学号,姓名,课程号,成绩),此关系的主键是(学号,课程号),而“姓名”列只由“学号”决定,与“课程号”无关,这就是部分依赖关系。

传递依赖指的是某个非主键属性是由另一个非主键属性决定的,而这个非主键属性再由主键决定。

例如对关系:学生(学号、姓名、所在系,系主任),此关系的主键为(学号),而“系主任”由“所在系”决定,“所在系”又由“学号”决定,因此“系主任”对“学号”是传递依赖关系.4.第三范式的表是否一定不包含部分依赖关系?答:是的.5.对于主键只由一个属性组成的关系,如果它是第一范式关系,则它是否一定也是第二范式关系?答:是的。

因为如果一个关系的主键只由一个属性组成,则此关系中一定不会存在部分依赖关系。

6.设有关系模式:学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩).设一名学生可以选修多门课程,一门课程可以被多名学生选修。

一名学生有唯一的所在系,每门课程有唯一的课程名和学分。

请指出此关系模式的候选键,判断此关系模式是第几范式的;若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键.答:候选键为:(学号,课程号),它也是此关系模式的主键。

关系数据库的规范化理论与数据库设计

关系数据库的规范化理论与数据库设计

关系数据库的规范化理论与数据库设计在当今数字化的时代,数据成为了企业和组织的重要资产,而关系数据库作为存储和管理数据的重要手段,其设计的合理性直接影响着数据的质量、完整性和可用性。

关系数据库的规范化理论是指导数据库设计的重要原则,它能够帮助我们避免数据冗余、更新异常等问题,从而提高数据库的性能和可靠性。

首先,我们来了解一下关系数据库的基本概念。

关系数据库是由一组二维表组成的,每张表都有一个唯一的表名,表中的每一行称为一个元组,代表一个实体;每一列称为一个属性,代表实体的一个特征。

通过在不同的表之间建立关联,我们可以实现数据的查询和操作。

那么,什么是规范化理论呢?规范化理论是一种用于设计关系数据库的方法和原则,其目的是通过对关系模式进行分解和优化,消除数据冗余和更新异常,确保数据的一致性和完整性。

规范化理论主要包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。

第一范式要求表中的每个属性都是不可再分的原子值。

例如,如果有一个“联系人信息”表,其中包含“地址”这个属性,如果地址又分为“省”“市”“区”“详细地址”等子属性,那么就不满足第一范式,需要将其拆分成多个属性。

第二范式要求在满足第一范式的基础上,每个非主属性都完全依赖于主键。

举个例子,如果有一个“订单”表,主键是“订单号”,而“客户姓名”和“客户地址”等非主属性只依赖于“客户编号”,而不是“订单号”,那么就不满足第二范式,需要将其拆分成两个表,一个是“订单”表,一个是“客户”表。

第三范式要求在满足第二范式的基础上,每个非主属性都不传递依赖于主键。

比如说,有一个“员工”表,主键是“员工编号”,“部门名称”依赖于“部门编号”,而“部门编号”又依赖于“员工编号”,这就不满足第三范式,需要将“部门名称”这个属性移到“部门”表中。

规范化理论在数据库设计中具有重要的意义。

通过规范化设计,可以减少数据冗余,节省存储空间。

想象一下,如果一个客户的信息在多个表中重复存储,不仅浪费空间,而且当客户信息发生变化时,需要在多个地方进行更新,容易导致数据不一致。

关系数据库规范化理论

关系数据库规范化理论
数据一致性
规范化可以消除数据冗余,确保每个数据只在数据库中存储一次,从而提高数据的一致性。
第一范式 (1NF)
表结构
第一范式要求每个数据表都应具有原子性,即每 个表中的列不能再进一步分解。
主键
每个表必须具有一个唯一标识记录的主键,用于 保证数据的唯一性和关联性。
第二范式 (2NF)
1 函数依赖
数据表中出现函数依赖时,就需要进行第二范式的规范化。避免冗余数据。
关系数据库规范化理论
规范化是设计关系数据库中的一项重要理论,它能使数据存储结构更加合理、 高效。通过划分数据表,规范化能够消除数据冗余、提高数据一致性和查询 性能。
规范化定义
目的明确
规范化通过一定的规则将一个大的数据表拆分成多个小的数据表,以实现数据的高内聚和低 耦合。
数据准确性
规范化能确保数据的准确性,因为数据被划分为更小的范围,每个数据表只存储特定类型的 数据。
3 学生管理系统
拆分学生、课程、成绩等信息,确保学生信息的一致性和教务管理的高效性。
规范化的局限性及未来研究方向
局限性
规范化可能导致表结构复杂,加重查询和维护 的工作量。某些情况下,冗余数据可能是必要 的。
未Hale Waihona Puke 研究方向未来的研究可以探索如何在规范化的基础上平 衡数据一致性和查询性能,以及结合其他技术 实现更灵活的数据存储。
优点 数据一致性提高 数据冗余减少 数据更新更容易
缺点 可能会导致过度分解数据表,增加查询复杂性 可能引起频繁的表连接操作,影响查询性能 增加了设计和维护的复杂性
规范化的应用举例
1 在线购物系统
将用户、订单、商品等信息拆分为多个表,确保数据的一致性和查询效率。

关系数据库的规范化理论与数据库设计

关系数据库的规范化理论与数据库设计
记作: Sname Sdept
.
13
几个术语和符号
如果 X→Y,则 X 叫做决定因素(Determinant) 如果 X→Y , Y → X ,则记作: X ←→ Y
如果Y不函数依赖于X,则记作: X→Y
.
14
二、平凡函数依赖与非平凡函数依赖 如果 X→Y,但 Y X,则称 X→Y 是非平凡的函数 依赖
关系模式的规范化:解决插入、删除和更 新异常,尽量消除数据冗余,消除不合适 的数据依赖
这就要求关系模式应该满足一定的条件
关系模式满足不同的条件,称为不同的范 式
.
30
1NF范式
如果关系模式R的所有属性都是不可再分解 的,则称R属于第一范式,简称1NF,记做 R∈1NF。
满足1NF的关系为规范化的关系,否则为非规 范化的关系
U,则【1】为F所逻辑蕴含
XZ->ZY 2008.09 3、下列关于部分函数依赖的叙述中,哪条是正确的? A、若X->Y,且存在Y的真子集Y’,X->Y’,则Y对X部分函数依赖 B、若X->Y,且存在Y的真子集Y’,X->Y’,则Y对X部分函数依赖 C、若X->Y,且存在X的真子集X’,X’->Y,则Y对X部分函数依赖 D、若X->Y,且存在X的真子集X’,X’->Y,则Y对X部分函数依赖
CNAME 机械设计 高等数学 管道工程 数据结构
.
6
该关系模式可能出现如下 问题:
异常(多个记录更新,刘宏
容易产生数据不一致) 王明
插入异常:TNAME,CNO码, 李红
某个教师没上课,CNO为
空,不能插入)
ADDRESS CNO 18栋302 043
21栋503 056 18栋302 041 17栋503 002

第03章 关系数据库规范化理论

第03章  关系数据库规范化理论

项目3.2
3.2.3
3.2.3.3
关系模式的规范化
关系模式的规范化
第三范式(3NF)
若关系R∈2NF,且它的每个非主属性都不传递依赖于主码,则称R∈3NF。 显然,R21∈3NF,R22只存在一个非主属性,不可能存在传递函数依 赖,所以R2∈23NF。 3.2.3.4 关系规范化的步骤
关系规范化的步骤如 图3-4所示。
3.2.3.2 第二范式(2NF)
若关系R∈1NF,且它的每个非主属性都完全依赖于主码,则称R∈2NF。
很显然,如图3-2所示的R1、R2都属于2NF。将R分解为R1和R2以后,一定 程度上减轻了数据冗余和操作异常,但仍然存在着数据冗余和操作异常。
项目3.2
3.2.3
3.2.3.2
关系模式的规范化
函 数 依 赖
函数依赖的推理规则
完全函数依赖
设有关系R,x、y、z为R的一个属性集,则推理规则如下所述。
(1) 自反律:如果
y x ,则x→y。这是一个平凡函数依赖。
(2) 增广律:如果x→y,则xz→yz。 (3) 传递律:如果x→y、y→z,则x→z。 (4) 合并律:如果x→y、x→z,则x→yz。 (5) 分解律:如果x→yz,则x→y,x→z。
项目3.2
3.2.2 范式
关系模式的规范化
范式来自英文Normal Form,简称NF,指一个关系的非主属性函数依赖 于主码的程度。目前主要有6种范式:
第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。 满足最低要求的叫第一范式,简称为1NF; 在第一范式基础上进一步满足一些要求的为第二范式,简称为2NF; 以此类推,则各种范式之间存在如下联系:
二、填空题

数据库5版第七章规范化理论例题解答

数据库5版第七章规范化理论例题解答

关系数据库规范化理论例题解答⊄(⊆⊂∈∉)例:证明定理 Armstrong公理是正确的,即如果F成立,则由F根据Armstrong公理所推导的函数依赖总是成立的。

设有R(U,F),X、Y、Z均是U的子集,F是R的函数依赖集,推理规则如下:A1:自反律(reflexivity)如果Y ⊆X ⊆U,则X→Y为F所蕴涵。

A2:增广律(augmentation)如果X→Y为F所蕴涵,且Z⊆U,则XZ→YZ为F的所蕴涵。

(XZ代表X∪Z)A3:传递律(transitivity)如果X→Y和Y→Z为F所蕴涵,则X→Z为F的蕴涵。

证:设t1,t2是关系R中的任意两个元组。

A1:如果t1[X]=t2[X],则因Y X,有t1[Y]=t2[Y],故X→Y成立。

A2:如果t1[XZ]=t2[XZ],则有t1[X]=t2[X],t1[Z]=t2[Z]。

已知X→Y成立,因此可得t1[Y]=t2[Y],由上可知t1[YZ]=t2[YZ],故XZ→YZ成立。

A3:如果t1[X]=t2[X],则t1[Y]=t2[Y];如果t1[Y]=t2[Y],则t1[Z]=t2[Z]由上可得,如果t1[X]=t2[X],则t1[Z]=t2[Z],故X→Z成立。

例:证明定理根据三条推理规则得到下面三条推理规则是正确的。

(1) 合并规则由X→Y,X→Z,有X→YZ。

(2) 伪传递规则由X→Y,WY→Z,有XW→Z。

(3) 分解规则如果X→Y,且Z ⊆ Y,则X→Z成立。

证: (1) 如果X→Y,则X→XY (A2)如果X→Z,则XY→YZ (A2)由上可得X→YZ (A3)(2) 如果X→Y,则WX→WY (A2)WY→Z (已知条件)故得WX→Z (A3)(3) 如果Z⊆Y,则Y→Z (A1)X→Y (已知条件)故得X→Z (A3)例:证明定理 X→Y能由Armstrong公理推导出的充要条件是Y⊆X + F证:设Y={A1,A2,…,Ak},先证充分性:假定Y ⊆X +F,则根据X+F的定义,X→Ai(i=1,2,…,k)可由Armstrong公理导出,根据合并规则则有X→Y。

数据库课件第4章关系数据库(RDB)规范化设计理论

数据库课件第4章关系数据库(RDB)规范化设计理论


3. 完全函数依赖与部分函数依赖
完全函数依赖: 在关系模式R(U)中,如果X→Y,并且对于X的任何一 个真子集X′,都有X′ Y,则称Y完全函数依赖于X, 记作X f Y。 部分函数依赖: 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依 p Y。 赖于X,记作X



例8: 学生(学号,姓名,所在系,系主任姓名,课程号,成绩) 学生关系模式存在的部分函数依赖: p (学号,课程号) 姓名 p 所在系 (学号,课程号) p (学号,课程号) 系主任姓名
教师姓 名
李林 78号
住址
课程号
C1
课程名
N1
李林
李林 汪佳 吴仪
78号
78号 59号 79号
C2
C3 C4 C5
N2
N3 N4 N5
师帆
76号
C6
N6

⑷当执行数据插入时,DB中的数据不能产生插入 异常现象 所谓“插入异常”是指希望插入的信息由于不 能满足数据完整性的某种要求而不能正常地被 插入到DB中的异常问题。 比如:上例中插入一个尚未安排授课的新进教师 信息. 原因: 因多种信息混合放在一个表中,可能造成因一 种信息被捆绑在其他信息上而产生的信息之间 相互依附存储的问题,使得信息不能独立插入。
第4章
关系数据库(RDB)规范化理论
4.1 关系模式规范化的必要性 4.2 数值依赖 4.3 范式与规范化 、关系分解原则






RDB规范化理论的目的是要设计“好的”RDB模式。要设计 好的关系模式,必须是关系满足一定的约束条件,此约束 形成了规范。 范式(Normal Form):衡量DB规范的层次或深度,DB规范化 层次由范式来决定。简记作NF. 根据关系模式满足的不同性质和规范化的程度,将关系模 式分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、 BC范式、第四范式(4NF)、第五范式(5NF),范式越高规范 化程度越高。 规范化:低级关系模式通过模式分解转换为若干高级范式 的关系模式集合的过程。 规范化是在RDB中减少数据冗余的过程。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

不存在非主属性成绩对码的部分依赖和传递函数依赖,所以此 关系属于3NF,但不属于BCNF。
4.2 函数依赖及关系的范式
问题:冗余和操作异常依然存在,只是没有1NF和2NF的
问题严重,但仍不可忽视。
因此,满足3NF的关系模式,仍然存在着一些操作异常现 象。
由BCNF的定义,关系模式R分解为BCNF的关系模式如下:
由已知事实可以得知上述对象之间有如下对应关系: (l)一个系有若干学生,但一个学生只属于一个系; (2)一个系只有一名系主任; (3)一个学生可选修多门课程,每门课程有若干学生选修; (4)每个学生学习每一门课程有一个成绩。 如何设计一个合理的关系数据库模式?
4.1 问题导入
方案1:采用一个总的关系模式,将这些对象都放在SA中。 SA(学号,姓名,系名,系主任,课号,成绩) example (1)数据冗余 每个学生的系信息重复出现,既浪费存储空间,又易造成数据 的不一致性。 (2)插入异常 插入异常指的是应该插入的信息不能正常插入,例如:新生 未入学,就无法把该系及相应系主任信息插入到数据库。 (3)删除异常 删除异常指的是不该删除的信息被删除了,例如:当一个系 的全部学生毕业了,删除学生时该系及系主任信息也删除了。
4)BCNF BCNF:如果关系模式R(U,F)∈1NF。若F中任一函数依赖 X→Y且YX 时X必含有R的一个码,则R∈BCNF。 通常,BCNF的条件有多种等价的描述,换言之,若关系模 式R属于第一范式,且每个属性都不部分依赖和传递函数依赖 于码,则R属于BCNF。
4.2 函数依赖及关系的范式
4.2 函数依赖及关系的范式
【例4-1】 某商业集团考核供应商供应商品情况的关系为
W,判断关系W的函数依赖情况。
W(供应商编号,供应商名,地址,商品号,商品名,规格,单 价,产地,产地主负责人,月供应量) 解:W的主码是供应商编号和商品号的组合。根据语义可以得知 W存在如下的函数依赖:
4.2 函数依赖及关系的范式
4.2 函数依赖及关系的范式
对于函数依赖,需要说明以下几点: (1)函数依赖是指R的所有关系实例都要满足的约束条件,不 是针对某个或某些关系实例满足的约束条件。 (2)函数依赖是语义范畴的概念,人们只能根据数据的语义 来确定函数依赖。 (3)数据库设计者可以对现实世界做强制的规定。 (4)X→Y,但Y X,则称X→Y是非平凡的函数依赖。
4.2 函数依赖及关系的范式
3)传递函数依赖 在R(U)中,X,Y,Z是U的子集,如果X→Y,( YX ), Y→Z,且Y→X不成立,则称Z对X传递函数依赖,记为 。 需要注意的是:
如果Y→X成立,而X→Y,即X↔Y,则Z直接依赖于X;
如果 ,则Z直接依赖于X。
例如在SA(学号,姓名,系名,系主任,课号,成绩)中,有: 学号 → 系名,系名 → 系主任,则学号 T 系主任
可是S1中存在非主属性对码的传递依赖,故不属于3NF。 为优化设计将关系模式S1再分解为: S11(学号,姓名,系名) S12(系名,系主任) 分解后的关系模式S11与S12都∈3NF。
对比理解1NF、2NF、3NF
1NF是指关系模式中的所有属性都满足原子性。
2NF是指关系模式中不存在非主属性(组)对码的部分依赖。 3NF是指关系模式中不存在非主属性(组)对码的传递依赖。
4.1 问题导入
学号 13001
13001 13001 13002 13002 13009 13015 13009
姓名 刘烨
刘烨 刘烨 赵华 赵华 范冰冰 范晨 范冰冰
系名 计算机系
计算机系 计算机系 管理系 管理系 艺术系 物理系 艺术系
系主任 李翔
李翔 李翔 郑明 郑明 刘欢 葛亮 刘欢
课号 c1
从低一级的关系范式通过模式分解达到若干高一级范式的关 系模式的集合,这种过程叫做关系模式的规范化。 1.范式的判定条件与规范化 1)第一范式(1NF) 1NF:在一个关系模式R中,如果R的每一个属性都是不可 再分的数据项,则称R属于第一范式1NF,记为R∈1NF。
4.2 函数依赖及关系的范式
2)第二范式(2NF) 2NF:如果一个关系R属于1NF,且它的每一个非主属性都完 全依赖于码,则R属于第二范式,记为R∈2NF。 案例分析: SA(学号,姓名,系名,系主任,课号,成绩)进行分析,主 码为(学号,课号), p 学号 → 系名, (学号,课号) → 系名 其不属于2NF, 故对其分解 ① S2(学号,课号,成绩)∈2NF ② S1(学号,姓名,系名,系主任)∈2NF
2NF存在问题:数据冗余度大、插入异常、删除异常。
4.2 函数依赖及关系的范式
3)第三范式(3NF)
3NF:如果一个关系模式R满足2NF,并且每个非主属性都不传 递函数依赖于码,则R属于第三范式,记为R∈3NF。
案例分析
① S2(学号,课号,成绩)∈2NF ② S1(学号,姓名,系名,系主任)∈2NF
论的规范化理论问题。
4.1 问题导入
2.关系模式规范化的概念 规范化:就是把一个存在数据冗余大、插入异常、删除
异常和更新异常等情况的关系模式通过模式分解的方法转换 为“较好”关系模式的集合,这个过程叫做关系模式的规范 化。 将关系模式规范化,是使其达到“好”关系模式的唯一 途径。否则,设计的关系数据库将会产生一系列的问题。
了解满足不同范式要求的模式分解算法; 掌握运用规范化理论设计满足实际应用需求的数据库。
第4章 关系数据库规范化理论
重点与难点
重点:关系规范化的必要性,函数依赖、范式的基本概念和 定义,关系规范化的方法。
难点:属性集闭包,逻辑蕴涵,模式分解算法。
关系数据库的规范化设计是指面对一个应用问题,如何 选择一个比较好的关系模式集合。 研究数据间自然联系与约束 范式是关系模式的标准 是自动化设计的基础
课程(课程号,课程名) 选课(学号,课程号,成绩)
4.2 函数依赖及关系的范式
关于BCNF的以下结论:
若R∈BCNF,则R中所有非主属性对每一个码都完全函数依赖。
4.2 函数依赖及关系的范式
1. 函数依赖的定义
设 R (U , F )是属性集 U 上的关系模式, X 和 Y是 U 的子集,
F是属性集U的数据依赖集,r是R的任意关系。 r中不可能存 在两个元组在X上的属性值相等, 而在Y上的属性值不等,
则称称X函数确定Y,或Y函数依赖于X,记为X→Y。
其中 X 称做决定因素( determinant ), Y 称做依赖因素 (dependent)。 根据引例假设学生不允许重名,则有: 学号→系名,学号→年龄 学号→姓名,姓名→学号,姓名→系名,姓名→年龄
范式间的包含关系:3NF2NF1NF
范式的级别越高,其存在的操作异常和数据冗余越小。 解决操作异常和数据冗余的方法是通过关系模式的分解使达 到更高一级的范式。 分解实质为让每个关系只有一个主题;如一个关系有多个主 题,就将其分解为多个关系,“一事一地”原则。
4.2 函数依赖及关系的范式
(5)X→Y,但Y X,则称X→Y是平凡的函数依赖。
(6)若X→Y,Y→X,则X与Y相互依赖,记为X↔Y。 (7)若Y不函数依赖于X,则记为X → Y。
4.2 函数依赖及关系的范式
确定函数依赖关系,可以通过属性之间的联系加以确
定。属性间的3种联系,并不是每一种联系中都存在函数依赖。
(1)如果两属性集X、Y间是1:1联系,则存在函数依赖:X↔Y。 (3)如果两属性集X、Y间是M:N联系,则不存在函数依赖。 例如:学号→系名 学号→课号
4.1 问题导入
总结: 关系模型中用关系来描述实体及其联系,对同一现实世界可用 不同的关系模式来描述,但不同的关系模式的效果却有很大差异。 判断是否存在插入异常、删除异常、数据冗余的大小是一种直观
判断一个关系模式设计质量的方法。
如何消除不合理的数据依赖,将一个“不好”的关系模式改 造为一个“好”的关系模式,这就是关系数据库设计过程中要讨
(2)如果两属性集X、Y之间是N:1联系,则存在函数依赖:X→Y。
4.2 函数依赖及关系的范式
2.函数依赖的分类 1)完全函数依赖 设有R(U),X’是X的真子集,如果X→Y,并且对于X的任 何一个真子集X’,都不存在X’→Y,则称Y对X完全函数依赖, 记为 2)部分函数依赖 设R(U),X’是X的真子集,如果X→Y,并且对于X的任何 一个真子集X’,都存在X’→Y成立,则称Y对X部分函数依赖, 也就是 Y不完全函数依赖于X,记为
数据依赖 规范化设计理论 范式 模式设计方法
4.1 问题导入
4.1.1 关系模式的规范化 一个关系模式应当是一个五元组。
R ( U,D,dom(),F )
数据依赖
属性到域上的映射关系 关系的域 属性集 关系名
关系模式是静态的,与时间无关。 关系模式案例 关系模式设计引论 在某校信息管理系统中要建立一个数据库来描述学生和选课 的一些信息,面临的对象有:学号、姓名、系名、系主任、课 号、成绩。
可以用函数依赖图来表示属性间的不同依赖情况。图中 虚线表示为部分函数依赖。
月供应量 商品编号 产地
供应商名
供应商编号
主负责人
W关系由于存在部分函数依赖、传递函数依赖,因此会出 现插入异常、删除异常、更新异常以及数据冗余大的问题。
4.2 函数依赖及关系的范式
3.码 设k为R(U,F)中的属性或属性组合,k'是k的真子集,若 k→U,且不存在k'→U成立,则k为R的候选码(candidate key), 简称为码。 若候选码多于一个,则选定其中的一个为主码。 包含在任何一个候选码中的属性,称为主属性。
c2 c3 c1 c3 c4 c9 c8
成绩 80
89 78 90 87 76 90
4.1 问题导入
结论:
相关文档
最新文档