2022年数据库关系模式详细解定义

上传人:沈*** 文档编号:119321366 上传时间:2022-07-14 格式:PDF 页数:6 大小:188.44KB
收藏 版权申诉 举报 下载
2022年数据库关系模式详细解定义_第1页
第1页 / 共6页
2022年数据库关系模式详细解定义_第2页
第2页 / 共6页
2022年数据库关系模式详细解定义_第3页
第3页 / 共6页
资源描述:

《2022年数据库关系模式详细解定义》由会员分享,可在线阅读,更多相关《2022年数据库关系模式详细解定义(6页珍藏版)》请在装配图网上搜索。

1、转 数据库关系模式的范式(详细解说)2007-01-24 10:19 关系模式的范式主要有 4 种范式,1NF,2NF,3NF,BCNF,按从左至右的顺序一种比一种要求更严格。要符合某一种范式必须也满足它前边的所有范式。一般项目的数据库设计达到 3NF就可以了,而且可根据具体情况适当增加冗余,不必教条地遵守所谓规范。简单而言,1NF就是要求一张表里只放相互关联的字段,一个字段里只放一条信息,这只是最基本的要求。至于2NF,3NF,BCNF 虽然描述的内容不同,但表现在数据特点上很相似,就好比在说不要为了向某厂订购一批货记下来,就把的厂的面积、电话等都放在同一张表里,而应该用两张表,以尽量避免浪

2、费数据存储空间。因为和同一个厂可能会交易好几次,但没必要每次交易都记录全部的信息。从范式所允许的函数依赖方面进行比较,四种范式之间的关联如下图所示。以下对每种范式作一一说明。2.3.4.2 第一范式在关系模式 R中的每一个具体关系r 中,如果每个属性值都是不可再分的最小数据单位,则称 R是第一范式的关系。例:如职工号,姓名,电话号码 组成一个表(一个人可能有一个办公室电话和一个 家里电话 号码)规范成为 1NF有三种方法:一是重复存储职工号和姓名。这样,关键字只能是电话号码。二是职工号为关键字,电话号码分为单位电话和住宅电话两个属性三是职工号为关键字,但强制每条记录只能有一个电话号码。以上三个

3、方法,第一种方法最不可取,按实际情况选取后两种情况。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 6 页 -2.3.4.3 第二范式关系的第二范式(2NF)定义:如果关系模式 R为 1NF,并且 R中的每一个非主属性都完全依赖于R的某个候选关键字,则称 R是第二范式的,简记为 2NF。【例 2.40】设有关系模式 R(学号 S#,课程号 C#,成绩 G,任课教师 TN,教师专长 TS),基于 R的函数依赖集 F=(S#,C#)G,C#TN,TN TS,判断 R是否为2NF。解:(1)容易看出,关系模式 R是 1NF。因为 R符合关系的定义,R的所有属性值都是不可再分的原子值。R

4、是否为 2NF,应根据 2NF的定义来判断。首先要确定关系模式R中各属性间的函数依赖情况。如果没有直接给出 R的函数依赖集,就要按照语义把它确定下来。在本例中,已直接给出基于R的函数依赖集 F,我们可使用阿氏推理规则并结合下面介绍的方法,进一步确定R中哪些是主属性、哪些是非主属性、侯选关键字由哪些属性构成。方法写出函数依赖集 F 中的各个函数依赖以帮助分析。方法的特点是直接。F=(S#,C#)G,C#TN,TN TS 方法用有向图表示属性间函数依赖,结点表示属性,方框包含若干个结点表示属性组合,有向箭头表示函数依赖。本例的函数依赖图 如图 2.9所示。方法的特点是 直观。名师资料总结-精品资料

5、欢迎下载-名师精心整理-第 2 页,共 6 页 -图 2.9 函数依赖图例子方法把关系模式 R与函数依赖集 F 结合起来,属性组合用下划线(或上划线)表示,函数依赖用有向箭头表示。本例的函数依赖简图 如图 2.10 所示。方法的特点是 简单。图 2.10 函数依赖简图例子用阿氏推理规则由 F 可推出:(S#,C#)S#,C#,G,TN,TS,即属性组合(S#,C#)是 R的候选关键字(R 只有这一个候选键)。(S#,C#)的一个值可惟一标识R中的一个元组(并且没有多余的属性)。在 R中,S#,C#是主属性;其余的属性G,TN,TS为非主属性。借助上面的图,我们可以看到,非主属性G对键是完全依赖

6、:(S#,C#)G。但非主属性 TN,TS对键是部分依赖(他们仅依赖于键的真子集C#)。由于 R中存在非主属性对候选键的部分依赖,所以关系模式 R不是 2NF。R中存在非主属性对候选键的部分依赖,将会引起数据冗余、数据操作异常等问题。可以把关系R无损联接地分解成两个2NF的关系模式:=R1,R2,R1=S#.C#,G,R2=C#,TN,TS。【例 2.41】选课关系SCI(SNO,CNO,GRADE,CREDIT)其中 SNO 为学号,CNO为课程号,GRADEGE 为成绩,CREDIT 为学分。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 6 页 -由以上条件,关键字为组合关

7、键字(SNO,CNO)在应用中使用以上关系模式有以下问题:a.数据冗余,假设同一门课由40 个学生选修,学分就重复 40 次。b.更新异常,若调整了某课程的学分,相应的元组CREDIT值都要更新,有可能会出现同一门课学分不同。c.插入异常,如计划开新课,由于没人选修,没有学号关键字,只能等有人选修才能把课程和学分存入。d.删除异常,若学生已经结业,从当前数据库删除选修记录,就会可能连课程号及学分完全从数据库中删除,则此门课程及学分记录无法保存。原因:非关键字属性CREDIT 仅函数依赖于 CNO,也就是 CREDIT部分依赖组合关键字(SNO,CNO)而不是完全依赖。解决方法:分成两个关系模式

8、SC1(SNO,CNO,GRADE),C2(CNO,CREDIT)。新关系包括两个关系模式,它们之间通过 SC1中的外关键字 CNO 相联系,需要时再进行自然联接,恢复了原来的关系2.3.4.4 第三范式关系的第三范式(3NF)定义:如果关系模式 R为 2NF,并且 R中的每一个非主属性都不传递依赖于R的某个候选关键字,则称R是第三范式的,简记为3NF。【例 2.42】续上例 2.40(R(学号 S#,课程号 C#,成绩 G,任课教师 TN,教师专长 TS)),判断关系模式 R1=S#.C#,G,R2=C#,TN,TS 是否为 3NF。解:(1)在关系模式 R1=S#,C#,G,候选关键字是(

9、S#,C#),主属性是 S#,C#,非主属性是 G,函数依赖为(S#,C#)G。由于 R1中不存在非主属性对候选关键字的传递依赖,所以关系模式R1是 3NF。(2)在关系模式 R2=C#,TN,TS,候选关键字是C#,主属性是 C#,非主属性是 TN,TS,函数依赖为 C#TN,TN TS。由于 R2中存在非主属性对候选关键字的传递依赖 C#TS,所以关系模式 R2不是 3NF。可以把关系 R2无损联接地分解成两个3NF的关系模式:=R3,R4,R3=C#,TN,R4=TN,TS。【例 2.43】如(SNO,SNAME,DNO,DNAME,LOCATION)各属性分别代表学号,姓名,所在系,系

10、名称,系地址。判断关系模式 S1是否为 3NF。关键字 SNO 决定各个属性。由于是单个关键字,没有部分依赖的问题,是 2NF。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 6 页 -但这关系有大量的冗余,有关学生所在的几个属性DNO,DNAME,LOCATION将重复存储,插入,删除和修改时也将产生类似以上例的情况。原因:关系中存在 传递依赖 造成的。关键字SNO 对LOCATION 函数决定是通过传递依赖:SNO-DNO,及 DNO-LOCATION 实现的。也就是说,SNO 不直接决定非主属性LOCATION,不是 3NF。解决目地:每个关系模式中不能留有传递依赖。解决方

11、法:分为两个关系S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION)注意:关系 S中不能没有外关键字DNO。否则两个关系之间失去联系。2.3.4.5 Boyce-Codd范式关系的 Boyce-Codd范式(BCNF)定义:如果关系模式 R为 1NF,并且 R中的每一个函数依赖XY(Y?X),必有 X是 R的超关键字,则称 R是 Boyce-Codd 范式的,简记为 BCNF。从 BCNF 的定义中,可以明显地得出如下结论:(1)所有非主属性对键是完全函数依赖;(2)所有主属性对不包含它的键是完全函数依赖;(3)没有属性完全函数依赖于非键的任何属性组合。与 2NF,3N

12、F的定义不同,BCNF 的定义直接建立在1NF的基础上。但实质上BCNF 是 3NF的改进形式。3NF仅考虑了非主属性对键的依赖情况,BCNF 把主属性对键的依赖情况也包括进去。BCNF 要求满足的条件比3NF所要求的 更高。如果关系模式 R是 BCNF 的,那么 R必定是 3NF,反之,则不一定成立。【例 2.43】续前例 2.42(学号 S#,课程号 C#,成绩 G,任课教师 TN,教师专长 TS),判断两个 3NF关系模式 R3=C#,TN,R4=TN,TS是否为 BCNF。解:在关系模式 R3中有函数依赖 C#TN,决定因素 C#是 R3的键;在关系模式 R4中有函数依赖 TN TS,

13、决定因素 TN是 R4的键;R3,R4都满足 BCNF 的定义,所以,这两个关系模式都是BCNF。【例 2.44】配件管理关系模式WPE(WNO,PNO,ENO,QNT)分别表仓库号,配件号,职工号,数量。有以下条件a.一个仓库有多个职工。b.一个职工仅在一个仓库工作。c.每个仓库里一种型号的配件由专人负责,但一个人可以管理几种配件。d.同一种型号的配件可以分放在几个仓库中。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 6 页 -分析:由以上得PNO 不能确定 QNT,由组合属性(WNO,PNO)来决定,存在函数依赖(WNO,PNO)-ENO。由于每个仓库里的一种配件由专人负责

14、,而一个人可以管理几种配件,所以有组合属性(WNO,PNO)才能确定负责人,有(WNO,PNO)-ENO。因为一个职工仅在一个仓库工作,有ENO-WNO。由于每个仓库里的一种配件由专人负责,而一个职工仅在一个仓库工作,有(ENO,PNO)-QNT。找一下候选关键字,因为(WNO,PNO)-QNT,(WNO,PNO)-ENO,因此(WNO,PNO)可以决定整个元组,是一个候选关键字。根据 ENO-WNO,(ENO,PNO)-QNT,故(ENO,PNO)也能决定整个元组,为另一个候选关键字。属性ENO,WNO,PNO 均为主属性,只有一个非主属性QNT。它对任何一个候选关键字都是完全函数依赖的,并

15、且是直接依赖,所以该关系模式是3NF。分析一下主属性。因为ENO-WNO,主属性 ENO 是 WNO 的决定因素,但是它本身不是关键字,只是组合关键字的一部分。这就造成主属性WNO 对另外一个候选关键字(ENO,PNO)的部分依赖,因为(ENO,PNO)-ENO 但反过来不成立,而 P-WNO,故(ENO,PNO)-WNO 也是传递依赖。虽然没有非主属性对候选关键辽的传递依赖,但存在主属性对候选关键字的传递依赖,同样也会带来麻烦。如一个新职工分配到仓库工作,但暂时处于实习阶段,没有独立负责对某些配件的管理任务。由于缺少关键字的一部分PNO 而无法插入到该关系中去。又如某个人改成不管配件了去负责安全,则在删除配件的同时该职工也会被删除。解决办法:分成管理 EP(ENO,PNO,QNT),关键字是(ENO,PNO)工作 EW(ENO,WNO)其关键字是 ENO 缺点:分解后函数依赖的保持性较差。如此例中,由于分解,函数依赖(WNO,PNO)-ENO 丢失了,因而对原来的语义有所破坏。没有体现出每个仓库里一种部件由专人负责。有可能出现一部件由两个人或两个以上的人来同时管理。因此,分解之后的关系模式降低了部分完整性约束。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 6 页 -

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!