模式分解例题_第1页
模式分解例题_第2页
模式分解例题_第3页
模式分解例题_第4页
模式分解例题_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模式分解例题设有关系模式R(U,F),其中U={A,B,C,D,E},F={AB—C,B—D,D—E,C—B},试问R最高为第几范式,并解释原因?如果R不是3NF或BCNF,要求将其分解为3NF和BCNF关系R中的函数依赖如下图表示R:A,B—C;B—D;D—E;C—B第一范式规定关系的每一个分量必须是一个不可分的数据项。可以看出,该关系满足第一范式。如果关系模式R满足第一范式,且它的任何一个非主属性都完全函数依赖于任一个候选码,则R满足第二范式(简记为2NF)。所以不是第二范式分解成第二范式R1:A,B—C;C—BR2:B—D;D—E;如果关系模式R满足2NF,并且它的任何一个非主属性都不传递依赖于任何候选码,则称R是第三范式(3NF),记作Rg3NF。分解成第三范式R1:A,B—C;C—BR21:B—DR22:D—E-如果关系模式R是1NF,且每个属性都不传递依赖于R的候选码,那么称R是BCNF的模式。R1:A,BtC;CtBR21:BtDR22:DtER1中属性B传递依赖于R的候选码AB,故R1不是BCNF范式关系模式Re1NF,若XtY,且YcX时,X必含有候选码,则ReBCNFoR1中CtB,且BcC,但B不含有任何候选码,故R1不是BCNF范式分解成BCNF范式R11:A,BR12:CtBR21:BtDR22:DtE候选码是什么?能够唯一标识一个元组的某一属性或属性组。候选码:(A,B)和(A,C)假设有一个名为参加的关系,该关系有属性:职工(职工名、工程(工程名)、时数(花费在工程上的小时数)和工资(职工的工资);一个参加记录描述一个职工花费在一个工程上的总时数和他的工资;另外,一个职工可以参加多个工程,多个职工可以参加同一个工程(用A、B、C、D分别代表属性职工、工程、时数和工资)。请回答如下各问题:1)确定这个关系的关键字;AB2)找出这个关系中的所有函数依赖;AB->C,A->D3)指出这个关系上的哪些函数依赖会带来操作异常现象;D对关键字AB的部分函数依赖可能会带来如下问题:数据冗余:一个职工参加多个工程,则职工的工资值会重复;更新异常:当改变职工的工资时,可能会只修改了一部分,从而造成数据不一致;插入异常:当一个职工尚未承担工程,但要插入职工信息(如工资)则不允许(因为没有完整的关键字);删除异常:当某个工程结束,删除工程信息时,可能会将职工信息(如工资)一同删除(如果职工只参加了一项工程)。4)这个关系是第几范式关系?2NF5)计算该关系上函数依赖集的最小覆盖;Fm={AB->C,A->D}6)将该关系分解成尽可能高的范式,并指明是第几范式?分解为R1(A,B,C)和R2(A,D)结果为4NF对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系);课程(课程名,课程号,先行课);选课(学号,课程号成绩)。用关系代数完成如下查询。1)求学过数据库课程的学生的姓名和学号。2)求学过数据库和数据结构的学生姓名和学号。3)求没学过数据库课程的学生学号。4)求学过数据库的先行课的学生学号。程序设计题现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用关系代数表达式实现下列1—4小题;用SQL语言实现下列5—8小题。检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数;检索学生成绩得过满分(100分)的课程的课程号、名称和学分;检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业;检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业;对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元;定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分;n学号,姓名,课程名,分数(。奖学金>0A专业=国际贸易(学生8学习8课程))n课程号,名称,学分(。分数=100(学习8课程))n学号,姓名,专业(。奖学金<=0A分数>95(学生8学习))n学号,姓名,专业(学生)一n学号,姓名,专业(。分数<80(学生8学习))5.SELECT学生.学号,姓名,专业FROM学生,学习WHERE学生.学号=学习.学号AND学习.课程号=课程.课程号AND奖学金<=0AND分数>956.SELECT学号,姓名,专业FROM学生WHERE学号NOTIN(SELECT学号FROM学习WHERE分数<80)UPDATE学生SET奖学金=1000WHERE奖学金<=0AND学号IN(SELECT学号FROM学习WHERE分数=100)CREATEVIEWAAA课程号,名称,学分)ASSELECT课程号,名称,学分FORM课程WHERE课程号IN(SELECT课程号FROM学习WHERE分数=100)设关系模式R<A,B,C,D,E,F>,函数依赖集F={AB-E,AC-F,AD-B,B-C,C—D}。1)证明AB、AC、AD均是候选关键宇。2)证明主属性C部分依赖于关键字AB,传递依赖于AD。同时证明主属性D部分依赖于关键字AC,传递依赖于关键字AB。1)•.•=ABECDFABCDEFeZ.AB为码•.•=ABECDFABCDEFeZAC为码•=ABECDFABCDEFe「.AD为码2)VB—C.「ABC,/AD—B,B—C.「ADC,/C—D「・ACC,/B—C,C—D.「ABC图中显示一张交通违章处罚通知书,根据这张通知书所提供的信息,设计一个E-R模型,并将这个E-R模型转换成关系数据模型,要求标注主码和外码。交通违章通知书=编号=TZ11719姓名=xxx莺驶执躅号=xxxXXX地址=xxxxxxxxxx部编=XXXXXX电话=XX翼X翼X机动车牌照号=XXXXXX型号=XXXXXX制造厂=XXXXXX生产日期=XXXXXX违章日期=XXXXXX时间=XXXXXX地点=XXXXXX违新理=XXXXXX处罚方箕'7|警告[丁|增I费M警察签字=XXX警薄号MXXX被处罚人签字=XXX注二一张违章通知书可能有多项处罚,例如二警告+罚款

解法一处罚通知司机(驾照号,姓名,地址,邮编,电话)PK=驾照号机动车(牌照号,型号,制造厂,生产日期)PK=牌照号警察(警察编号,姓名)PK=警察编号处罚通知(编号,日期,时间,地点,驾照号,牌照号,警告,罚款,暂扣,警察编号)PK=编号FK=驾照号,牌照号,警察编号解法二司机(驾照号,姓名,地址,邮编,电话)PK=驾照号机动车(牌照号,型号,制造厂,生产日期)PK=牌照号警察(警察编号,姓名)PK=警察编号通知书(编号,日期,时间,地点,驾照号,牌照号,警察编号)PK=编号FK=驾照号,牌照号,警察编号处罚(编号,处罚方式)PK=编号,处罚方式设有一家百货商店,已知信息有:1)每个职工的数据是职工号、姓名、地址和他所在的商品部。2)每一商品部的数据有:它的职工,经理和它经销的商品。3)每种经销的商品数有:商品名、生产厂家、价格、型号(厂家定的)和内部商品代号(商店规定的)。4)关于每个生产厂家的数据有:厂名、地址、向商店提供的商品价格。请设计该百货商店的概念模型,再将概念模型转换为关系模型。注意某些信息可用属性表示,其他信息可用联系表示。5-B百度商店的E-R图模品概念模型如图所

温馨提示

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

评论

0/150

提交评论