关系数据库规范化(第二章重点部分)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
⑸ 若X→Y,并且Y→X,则记为X←→Y。
⑹ 若Y不函数依赖于X,则记为X Y。
2013年7月29日பைடு நூலகம்期一
2. 平凡函数依赖与非平凡函数依赖
• 在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但Y X,则 称X→Y是非平凡函数依赖。若Y X,则称X→Y为平凡函数依赖。 • 对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新 的语义,因此若不特别声明,我们总是讨论非平凡函数依赖。
关系数据库的设计
一、关系数据库的规范化理论
二、关系数据库的设计过程
2013年7月29日星期一
2.4 关系数据库规范化理论
2.4.1 关系模式规范化的必要性
2.4.2 数值依赖
2.4.3 范式与规范化
2.4.4 关系分解原则
2013年7月29日星期一
• 关系数据库是以关系模型为基础的数据库,它利用关系描述现实 世界。一个关系即可用来描述一个实体及其属性,也可用来描述 实体间的一种联系。 • 关系模式是用来定义关系的,一个关系数据库包含一组关系,定 义这组关系的关系模式的全体就构成了该数据库的模式。 • 关系数据库的设计归根到底是如何构造关系,即如何把具体的客 观事物划分为几个关系,而每个关系又由哪些属性组成,就是要 构造“好的”、“合适”的关系模式,它涉及一系列的理论与方 法,形成了关系数据库的模式设计理论和技术。 • 由于合适的关系模式要符合一定的规范化要求,所以又称其为关 系数据库的规范化理论。
学号→所在系
所在系→系主任姓名 学号→系主任姓名
2013年7月29日星期一
2.4.3 关系的 范式及规范化
1. 第一范式(1NF) 2. 第二范式(2NF) 3. 第三范式(3NF) 4.BC范式 5.多值依赖 6.第四范式
2013年7月29日星期一
• ⑶ 关系数据库不能因为数据更新操作而引起数据不一致问题
• 如果数据模式设计的不好,就可能造成不必要的数据冗余,一 个信息就会多次的在多地重复存储。对于“数据冗余大”的关 系数据库,当执行数据修改时,这些冗余数据就可能出现有些 被修改,有些没有修改,从而造成数据不一致问题。数据不一 致问题影响了数据的完整性,使得数据库中数据的可信度降低。
此关系模式的主键为(学号,课程名)。仅从关系模式上看,该关系 已经包括了需要的信息,如果按此关系模式建立关系,并对它进 行深入分析,就会发现其中的问题所在。
2013年7月29日星期一
• 该关系存在着如下问题: • ⑴ 数据冗余大。每一个“所在系”和“系主任姓名”存储的次数等于该系 的学生人数乘以每个学生选修的课程门数。 • ⑵ 插入异常。一个新系没有招生时,“所在系”和“系主任姓名”无法插 入到数据库中,因为在这个关系模式中,主键是(学号,课程名),而这时因 没有学生而使得学号无值,所以没有主属性值,关系数据库无法操作,因 此引起插入异常。 • ⑶ 删除异常。当一个系的学生都毕业了而又没招新生时,删除了全部学生 记录,随之也删除了“所在系”和“系主任姓名”。这个系依然存在,而 在数据库中却无法找到该系的信息,即出现了删除异常。 • ⑷ 更新异常。若某系更换系主任,数据库中该系的学生记录应全部修改。 如有不慎,某些记录漏改了,则造成数据的不一致出错,即出现了更新异 常。
存在以下的函数依赖: 学号→姓名 学号→性别 学号→年龄 学号→班级号 说明: ⑴ 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是 指R的所有关系实例均要满足的约束条件。 ⑵ 函数依赖是RDB用以表示数据语义的机制。人们只能根据数据的语义来确 定函数依赖。 例:“姓名→年龄”这个函数依赖只有在没有相同姓名人的条件下成立。若 有相同姓名的人,则“年龄”就不再函数依赖于“姓名”了。
• 数据之间存在的各种联系现象称为数据依赖(Data Dependency),它是同 一关系中属性间的相互依赖和相互制约。 • 而数据冗余和更新异常等现象与数据依赖有着紧密的关联。
• 关系规范理论致力于解决关系模式中不合适的数据依赖问题。
• 在数据依赖中,函数依赖(Functional Dependency,FD)是最基本的一种 依赖形式,它反映了同一关系中属性间一一对应的约束,它是关系模式 中属性之间最常见的一种依赖关系,也是关系模式中最重要的一种约束。
2013年7月29日星期一
3. 完全函数依赖与部分函数依赖
完全函数依赖: • 在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集 X′,都有X′ Y,则称Y完全函数依赖于X,记作X f Y。
部分函数依赖: • 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记 作X p Y。
• 注意:X和Y都是属性组,如果X→Y,表示X中取值确定时,Y中 的取值惟一确定,即X决定Y或Y函数依赖于Y,X是决定因素。 • 函数依赖类似于数学中的单值函数,函数的自变量确定时,应 变量的值惟一确定。反映了关系模式中属性间的决定关系,体 现了数据间的相互关系。
2013年7月29日星期一
例7:学生(学号,姓名,性别,年龄,班级号)
2013年7月29日星期一
•
由上述4条可见,学生关系尽管看起来很简单,但存 在的问题比较多,它不是一个合理的关系模式。
2013年7月29日星期一
2.4.2 数据依赖
1. 函数依赖 2. 平凡函数依赖与非平凡函数依赖 3. 完全函数依赖与部分函数依赖 4. 传递函数依赖
2013年7月29日星期一
2013年7月29日星期一
• ⑵ 数据库中的数据冗余应尽可能少 • 数据冗余大是指数据库中重复的数据过多。“数据冗余”是数据 库最忌讳的毛病,数据冗余会使数据库中的数据量巨增,系统负 担过重,并浪费大量的存储空间。数据冗余还可能造成数据的不 完整,增加数据维护的代价。数据冗余还会造成数据查询和统计 的困难,并导致错误的结果。 • 尽管关系数据库是根据外键建立关系之间的连接运算的,外键数 据是关系数据库不可消除的“数据冗余”,但在设计数据库时, 应千方百计将数据冗余控制在最小的范围内,不必要的数据冗余 应坚决消除。
2013年7月29日星期一
2.4.1 关系模式规范化的必要性
1. 关系模式应满足的条件 2. 关系规范化可能出现的问题
2013年7月29日星期一
• 关系数据库的设计主要是关系模式的设计。关系模式设计 的好坏将直接影响到数据库设计的成败。 • 将关系模式规范化,使之达到较高的范式是设计好关系模 式的唯一途径。否则,所设计的关系数据库会产生一系列 的问题。
2013年7月29日星期一
1.关系模式应满足的条件
关系数据库是根据关系模式设计的。好的关系模式除了能满 足用户对信息存储和查询的基本要求外,还应当使它的数据库满 足如下要求。 • ⑴ 元组的每个分量必须是不可分的数据项 • 关系数据库特别强调,关系中的属性不能是组合属性,必须是基 本项,并把这一要求规定为鉴别表格是否为“关系”的标准。如 果表格结构的数据项都是基本项,则该表格为关系,它服从关系 模式的第一范式,以后可以在此基础上进一步规范化。否则,如 果表格结构中含有组合项,必须先使之转换为基本数据项。因为 关系的一切数学理论都是基于关系服从于第一范式基础之上的。
2013年7月29日星期一
• 为了消除冗余和潜在的更新异常,关系数据库的规范化理论为关系模 式确定了多种范式。 • 所谓范式(Noranal Form)是指规范化的关系模式。由于规范化的程度 不同,就产生了不同的范式。 • 从1971年起,E.F.Codd相继提出了第一范式(1NF)、第二范式(2NF)、 第三范式(3NF),Codd与Boyce合作提出了Boyce-Codd范式(BCNF)。 在1976~1978年间,Fagin、Delobe以及Zaniolo又定义了第四范式。到 目前为止,已经提出了第五范式(5NF)。 • 满足最基本规范化的关系模式叫第一范式,第一范式的关系模式再满 足另外一些约束条件就产生了第二范式、第三范式、BC范式等等。 每种范式都规定了一些限制约束条件。
2013年7月29日星期一
2. 关系规范化可能出现的问题
在我们构造关系时,经常会发现数据冗余和更新异常等现象, 这是由关系中各属性之间的相互依赖性和独立性造成的。如果一 个关系没有经过规范化,可能会导致上述谈到的数据冗余大、数 据更新造成不一致、数据插入异常和删除异常问题。
例如,要求设计一个教学管理数据库,希望从该数据库中得到学 生学号、姓名、性别、年龄、所在系、系主任姓名、学生学习的 课程和该课程的成绩信息。若将此信息要求设计为一个关系,则 关系模式为:学生(学号,姓名,性别,年龄,所在系,系主任 姓名,课程名,成绩)。
2013年7月29日星期一
关系模式的表示
• 关系模式的完整表示: R<U,D,DOM,F> – R为关系名,U为关系的属性集合 – D为属性集U中属性的数据域 – DOM为属性到域的映射 – F为属性集U的数据依赖集
• 简化表示:R<U,F>
2013年7月29日星期一
1. 函数依赖
• 假设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。 对于R(U)的任意一个可能的关系r,如果r中不存在两个元组, 它们在X上的属性值相同,而在Y上的属性值不同,则称“X函 数确定Y”或“Y函数依赖于X”,记作X→Y。
2013年7月29日星期一
例8:
学生(学号,姓名,所在系,系主任姓名,课程号,成绩) 学生关系模式存在的部分函数依赖: (学号,课程号) p
(学号,课程号) p 所在系 p (学号,课程号) 系主任姓名
姓名
2013年7月29日星期一
4. 传递函数依赖
• 在关系模式R(U)中,如果X→Y,Y→Z,且Y X,Z Y,Y X, 则称Z传递函数依赖于X。 例9:学生(学号,姓名,所在系,系主任姓名,课程名,成绩), 存在如下的函数依赖:
2013年7月29日星期一
• ⑷ 当执行数据插入操作时,数据库中的数据不能产生插入异 常现象 • 所谓插入异常是指希望插入的信息由于不能满足数据完整性的 某种要求而不能正常地被插入到数据库的异常问题。
• 出现数据插入异常问题的主要原因是数据库设计时没有按“一 事一地”的原则进行。由于多种信息混合放在一个表中,就可 能造成因一种信息被捆绑在其他信息上而产生的信息之间相互 依附存储的问题,这是使得信息不能独立插入的关键所在。
2013年7月29日星期一
•
函数依赖普遍地存在于现实生活中。例如,描述一个 学生的关系,可以有“学号”、“姓名”、“所在系”等 几个属性。由于一个学号只对应一个学生,一个学生只在 一个系。因而当“学号”值确定之后,姓名及其所在系的 值也就被唯一地确定了。
• 属性间的这种依赖关系类似于数学中的函数。因此说学号 函数决定姓名和所在系,或者说姓名和所在系函数依赖于 学号,记作:学号→姓名,学号→所在系。
2013年7月29日星期一
•
•
⑸ 数据库中的数据不能在执行删除操作时产生删除异常问题
删除异常是指在删除某种信息的同时把其他信息也删除了。 删除异常也是数据库结构不合理产生的毛病。和插入异常一样, 如果关系中多种信息捆绑在一起,当被删除信息中含有关系的 主属性时,由于关系要满足实体完整性,整个元组将全部从数 据库中被删除,即出现删除异常。
2013年7月29日星期一
• ⑹ 数据库设计应考虑查询要求,数据组织应合理
•
在数据库设计时,不仅要考虑到数据自身的结构完整性, 还要考虑到数据的使用要求。为了使数据查询和数据处理高效 简洁,特别是对那些查询实时性要求高、操作频度大的数据, 有必要通过视图、索引和适当增加数据冗余的方法,来增加数 据库的方便性和可用性。
2013年7月29日星期一
⑶ DB设计者可对现实世界作强制规定
例:在学生关系中,设计者可强行规定不允许出现相同姓名的人, 因而使函数依赖“姓名→年龄”成立。 • 当插入某元组时,该元组上的属性值必须满足规定的函数依赖, 若发现有相同姓名的人存在,则拒绝插入该元组。
⑷ 若X→Y,则X称为这个函数依赖的决定属性集。
⑹ 若Y不函数依赖于X,则记为X Y。
2013年7月29日பைடு நூலகம்期一
2. 平凡函数依赖与非平凡函数依赖
• 在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但Y X,则 称X→Y是非平凡函数依赖。若Y X,则称X→Y为平凡函数依赖。 • 对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新 的语义,因此若不特别声明,我们总是讨论非平凡函数依赖。
关系数据库的设计
一、关系数据库的规范化理论
二、关系数据库的设计过程
2013年7月29日星期一
2.4 关系数据库规范化理论
2.4.1 关系模式规范化的必要性
2.4.2 数值依赖
2.4.3 范式与规范化
2.4.4 关系分解原则
2013年7月29日星期一
• 关系数据库是以关系模型为基础的数据库,它利用关系描述现实 世界。一个关系即可用来描述一个实体及其属性,也可用来描述 实体间的一种联系。 • 关系模式是用来定义关系的,一个关系数据库包含一组关系,定 义这组关系的关系模式的全体就构成了该数据库的模式。 • 关系数据库的设计归根到底是如何构造关系,即如何把具体的客 观事物划分为几个关系,而每个关系又由哪些属性组成,就是要 构造“好的”、“合适”的关系模式,它涉及一系列的理论与方 法,形成了关系数据库的模式设计理论和技术。 • 由于合适的关系模式要符合一定的规范化要求,所以又称其为关 系数据库的规范化理论。
学号→所在系
所在系→系主任姓名 学号→系主任姓名
2013年7月29日星期一
2.4.3 关系的 范式及规范化
1. 第一范式(1NF) 2. 第二范式(2NF) 3. 第三范式(3NF) 4.BC范式 5.多值依赖 6.第四范式
2013年7月29日星期一
• ⑶ 关系数据库不能因为数据更新操作而引起数据不一致问题
• 如果数据模式设计的不好,就可能造成不必要的数据冗余,一 个信息就会多次的在多地重复存储。对于“数据冗余大”的关 系数据库,当执行数据修改时,这些冗余数据就可能出现有些 被修改,有些没有修改,从而造成数据不一致问题。数据不一 致问题影响了数据的完整性,使得数据库中数据的可信度降低。
此关系模式的主键为(学号,课程名)。仅从关系模式上看,该关系 已经包括了需要的信息,如果按此关系模式建立关系,并对它进 行深入分析,就会发现其中的问题所在。
2013年7月29日星期一
• 该关系存在着如下问题: • ⑴ 数据冗余大。每一个“所在系”和“系主任姓名”存储的次数等于该系 的学生人数乘以每个学生选修的课程门数。 • ⑵ 插入异常。一个新系没有招生时,“所在系”和“系主任姓名”无法插 入到数据库中,因为在这个关系模式中,主键是(学号,课程名),而这时因 没有学生而使得学号无值,所以没有主属性值,关系数据库无法操作,因 此引起插入异常。 • ⑶ 删除异常。当一个系的学生都毕业了而又没招新生时,删除了全部学生 记录,随之也删除了“所在系”和“系主任姓名”。这个系依然存在,而 在数据库中却无法找到该系的信息,即出现了删除异常。 • ⑷ 更新异常。若某系更换系主任,数据库中该系的学生记录应全部修改。 如有不慎,某些记录漏改了,则造成数据的不一致出错,即出现了更新异 常。
存在以下的函数依赖: 学号→姓名 学号→性别 学号→年龄 学号→班级号 说明: ⑴ 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是 指R的所有关系实例均要满足的约束条件。 ⑵ 函数依赖是RDB用以表示数据语义的机制。人们只能根据数据的语义来确 定函数依赖。 例:“姓名→年龄”这个函数依赖只有在没有相同姓名人的条件下成立。若 有相同姓名的人,则“年龄”就不再函数依赖于“姓名”了。
• 数据之间存在的各种联系现象称为数据依赖(Data Dependency),它是同 一关系中属性间的相互依赖和相互制约。 • 而数据冗余和更新异常等现象与数据依赖有着紧密的关联。
• 关系规范理论致力于解决关系模式中不合适的数据依赖问题。
• 在数据依赖中,函数依赖(Functional Dependency,FD)是最基本的一种 依赖形式,它反映了同一关系中属性间一一对应的约束,它是关系模式 中属性之间最常见的一种依赖关系,也是关系模式中最重要的一种约束。
2013年7月29日星期一
3. 完全函数依赖与部分函数依赖
完全函数依赖: • 在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集 X′,都有X′ Y,则称Y完全函数依赖于X,记作X f Y。
部分函数依赖: • 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记 作X p Y。
• 注意:X和Y都是属性组,如果X→Y,表示X中取值确定时,Y中 的取值惟一确定,即X决定Y或Y函数依赖于Y,X是决定因素。 • 函数依赖类似于数学中的单值函数,函数的自变量确定时,应 变量的值惟一确定。反映了关系模式中属性间的决定关系,体 现了数据间的相互关系。
2013年7月29日星期一
例7:学生(学号,姓名,性别,年龄,班级号)
2013年7月29日星期一
•
由上述4条可见,学生关系尽管看起来很简单,但存 在的问题比较多,它不是一个合理的关系模式。
2013年7月29日星期一
2.4.2 数据依赖
1. 函数依赖 2. 平凡函数依赖与非平凡函数依赖 3. 完全函数依赖与部分函数依赖 4. 传递函数依赖
2013年7月29日星期一
2013年7月29日星期一
• ⑵ 数据库中的数据冗余应尽可能少 • 数据冗余大是指数据库中重复的数据过多。“数据冗余”是数据 库最忌讳的毛病,数据冗余会使数据库中的数据量巨增,系统负 担过重,并浪费大量的存储空间。数据冗余还可能造成数据的不 完整,增加数据维护的代价。数据冗余还会造成数据查询和统计 的困难,并导致错误的结果。 • 尽管关系数据库是根据外键建立关系之间的连接运算的,外键数 据是关系数据库不可消除的“数据冗余”,但在设计数据库时, 应千方百计将数据冗余控制在最小的范围内,不必要的数据冗余 应坚决消除。
2013年7月29日星期一
2.4.1 关系模式规范化的必要性
1. 关系模式应满足的条件 2. 关系规范化可能出现的问题
2013年7月29日星期一
• 关系数据库的设计主要是关系模式的设计。关系模式设计 的好坏将直接影响到数据库设计的成败。 • 将关系模式规范化,使之达到较高的范式是设计好关系模 式的唯一途径。否则,所设计的关系数据库会产生一系列 的问题。
2013年7月29日星期一
1.关系模式应满足的条件
关系数据库是根据关系模式设计的。好的关系模式除了能满 足用户对信息存储和查询的基本要求外,还应当使它的数据库满 足如下要求。 • ⑴ 元组的每个分量必须是不可分的数据项 • 关系数据库特别强调,关系中的属性不能是组合属性,必须是基 本项,并把这一要求规定为鉴别表格是否为“关系”的标准。如 果表格结构的数据项都是基本项,则该表格为关系,它服从关系 模式的第一范式,以后可以在此基础上进一步规范化。否则,如 果表格结构中含有组合项,必须先使之转换为基本数据项。因为 关系的一切数学理论都是基于关系服从于第一范式基础之上的。
2013年7月29日星期一
• 为了消除冗余和潜在的更新异常,关系数据库的规范化理论为关系模 式确定了多种范式。 • 所谓范式(Noranal Form)是指规范化的关系模式。由于规范化的程度 不同,就产生了不同的范式。 • 从1971年起,E.F.Codd相继提出了第一范式(1NF)、第二范式(2NF)、 第三范式(3NF),Codd与Boyce合作提出了Boyce-Codd范式(BCNF)。 在1976~1978年间,Fagin、Delobe以及Zaniolo又定义了第四范式。到 目前为止,已经提出了第五范式(5NF)。 • 满足最基本规范化的关系模式叫第一范式,第一范式的关系模式再满 足另外一些约束条件就产生了第二范式、第三范式、BC范式等等。 每种范式都规定了一些限制约束条件。
2013年7月29日星期一
2. 关系规范化可能出现的问题
在我们构造关系时,经常会发现数据冗余和更新异常等现象, 这是由关系中各属性之间的相互依赖性和独立性造成的。如果一 个关系没有经过规范化,可能会导致上述谈到的数据冗余大、数 据更新造成不一致、数据插入异常和删除异常问题。
例如,要求设计一个教学管理数据库,希望从该数据库中得到学 生学号、姓名、性别、年龄、所在系、系主任姓名、学生学习的 课程和该课程的成绩信息。若将此信息要求设计为一个关系,则 关系模式为:学生(学号,姓名,性别,年龄,所在系,系主任 姓名,课程名,成绩)。
2013年7月29日星期一
关系模式的表示
• 关系模式的完整表示: R<U,D,DOM,F> – R为关系名,U为关系的属性集合 – D为属性集U中属性的数据域 – DOM为属性到域的映射 – F为属性集U的数据依赖集
• 简化表示:R<U,F>
2013年7月29日星期一
1. 函数依赖
• 假设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。 对于R(U)的任意一个可能的关系r,如果r中不存在两个元组, 它们在X上的属性值相同,而在Y上的属性值不同,则称“X函 数确定Y”或“Y函数依赖于X”,记作X→Y。
2013年7月29日星期一
例8:
学生(学号,姓名,所在系,系主任姓名,课程号,成绩) 学生关系模式存在的部分函数依赖: (学号,课程号) p
(学号,课程号) p 所在系 p (学号,课程号) 系主任姓名
姓名
2013年7月29日星期一
4. 传递函数依赖
• 在关系模式R(U)中,如果X→Y,Y→Z,且Y X,Z Y,Y X, 则称Z传递函数依赖于X。 例9:学生(学号,姓名,所在系,系主任姓名,课程名,成绩), 存在如下的函数依赖:
2013年7月29日星期一
• ⑷ 当执行数据插入操作时,数据库中的数据不能产生插入异 常现象 • 所谓插入异常是指希望插入的信息由于不能满足数据完整性的 某种要求而不能正常地被插入到数据库的异常问题。
• 出现数据插入异常问题的主要原因是数据库设计时没有按“一 事一地”的原则进行。由于多种信息混合放在一个表中,就可 能造成因一种信息被捆绑在其他信息上而产生的信息之间相互 依附存储的问题,这是使得信息不能独立插入的关键所在。
2013年7月29日星期一
•
函数依赖普遍地存在于现实生活中。例如,描述一个 学生的关系,可以有“学号”、“姓名”、“所在系”等 几个属性。由于一个学号只对应一个学生,一个学生只在 一个系。因而当“学号”值确定之后,姓名及其所在系的 值也就被唯一地确定了。
• 属性间的这种依赖关系类似于数学中的函数。因此说学号 函数决定姓名和所在系,或者说姓名和所在系函数依赖于 学号,记作:学号→姓名,学号→所在系。
2013年7月29日星期一
•
•
⑸ 数据库中的数据不能在执行删除操作时产生删除异常问题
删除异常是指在删除某种信息的同时把其他信息也删除了。 删除异常也是数据库结构不合理产生的毛病。和插入异常一样, 如果关系中多种信息捆绑在一起,当被删除信息中含有关系的 主属性时,由于关系要满足实体完整性,整个元组将全部从数 据库中被删除,即出现删除异常。
2013年7月29日星期一
• ⑹ 数据库设计应考虑查询要求,数据组织应合理
•
在数据库设计时,不仅要考虑到数据自身的结构完整性, 还要考虑到数据的使用要求。为了使数据查询和数据处理高效 简洁,特别是对那些查询实时性要求高、操作频度大的数据, 有必要通过视图、索引和适当增加数据冗余的方法,来增加数 据库的方便性和可用性。
2013年7月29日星期一
⑶ DB设计者可对现实世界作强制规定
例:在学生关系中,设计者可强行规定不允许出现相同姓名的人, 因而使函数依赖“姓名→年龄”成立。 • 当插入某元组时,该元组上的属性值必须满足规定的函数依赖, 若发现有相同姓名的人存在,则拒绝插入该元组。
⑷ 若X→Y,则X称为这个函数依赖的决定属性集。