- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[课程期中试卷分析
苏州大学 数据库原理与设计 课程期中试卷 共7页
考试形式 闭卷 2012 年 4 月
院系 年级 专业
学号 姓名 成绩
所有的题目请回答在答题纸上!
一、计算题(本题8分)
设有关系模式R(A,B,C,D,E,G),其上的函数依赖集 F={AB?C,C?A,BC?D, ACD?B, D?EG, BE?C, CG?BD, CE?AG}
计算属性集(BD)+。
求F的候选键
二、说明下列关系模式最高能到达第几范式,并说明理由。(12分)
1. R={CSZ}, F={(CS)→Z, Z→C}
2. R(A, B, C) F= {B?C, AC?B}
3. R(A,B,C,D);F={A→C,C→A,B→AC,D→AC}
4. R(X, Y, Z) F= {Y?Z, Y?X, X?YZ}
三、设计题(15分)设有一个教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在的系(D)。并且存在下列语义:
学号和课程号分别与其代表的学生和课程一一对应;
一个学生所修的每门课程都有一个成绩;
每门课程只有一个任课教师,但是每位教师可以有多门课程;
教师中没有重名,每个教师只属于一个系。
根据上述语义,确定函数依赖集
如果用上面的所有属性组成一个关系模式Student(S#, C#, G, TN, D),请举例说明进行插入、删除操作时的异常现象。
对于这个教学管理数据库,应该设计为那些表,才能避免插入异常、删除异常和减少数据冗余?
一个学生所修的每门课程都有一个成绩, (C#, S#)?G
每门课程只有一个任课教师,但是每位教师可以有多门课程,得出C# ? TN
教师中没有重名,每个教师只属于一个系得出: TN?D
所以F = { (C#, S#)?G, C# ? TN, TN?D}
关系模式为1NF。该关系模式的候选键为(S#, C#),非主属性有G, TN。因为在F中,存在C#--TN, 又由于(S#, C#)是键,所以(S#, C#)?TN,因此非主属性TN对候选关键字存在部分函数依赖,所以不是2nf,只能是1nf。
如果新增一门课程而没有学生选课,则因为缺少关键字S#而无法插入,造成插入异常。
若某个教师辞职,在删除教师名单的时候,会删除掉课程信息也删除,造成删除异常。
R1=(S#, C#, G)
R2=(C#, TN)
R3=(TN, D)
消除传递依赖。
四、设计题(15分)设某汽车运输公司数据库中有3个实体集。一个是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有车牌号、生产厂商、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。
设车队与司机之间存在“聘用”联系,每个车队可以聘用若干司机,但是每个司机之鞥应聘于1个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个车队可以拥有若干车辆,但是每个车辆只能属于一个车队;司机与车辆之间存在“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可以使用多个车辆,每个汽车可以被多个司机使用。
试画出ER图,并在图上标明属性、联系的类型、实体标识符、联系的维数
将ER图转换为关系模式(即建立数据库表),并说明主键和外键
1)
我这里用UML来表示,对应的E-R图只是表现形式不同而已。
这个做的不正确的同学很多。
我们在从E-R图转换为关系模式时,有下面的规则
所有的实体单独存放为一个关系,即表。这里我们有车队、司机、车辆三个实体,所以这三个实体肯定对应三张表。每个表的字段,包含了所有的属性,因此,根据这步,我们可以得出三个表:
车队(车队号,车队名)
司机(司机编号,姓名,电话)
车辆(车牌号、生产厂商,出厂日期)
2)然后分析实体间的联系。实体间的联系有的要单独存为1个表,有的不需要。
a) 如果实体和实体间是多对1,1对多的联系,不要单独设计1个表。而是通过在参与联系的多方的实体中,增加1个参与联系的1方的实体的主键作为1列来表示联系。
例如, 车队和车辆是1对多的联系,这里,多方是车辆这个实体,1方是车队的实体。 车队的实体的主键是车牌号。所以,我们应该在多方(车辆)这个表中,增加1方(车队)的主键作为1列来表示联系,所以此时,车辆的关系就变成了
车辆(车牌号、生产厂商,出厂日期, 车队号)
您可能关注的文档
最近下载
- 海口市美兰区健身俱乐部会员健身现状的调查与研究.doc VIP
- 第2讲《办好中国的事情关键在党》(课件)《学生读本(小学高年级)》.pptx VIP
- 第1讲《伟大事业都始于梦想》(课件)《学生读本(小学高年级)》.ppt VIP
- 2017初中生物会考最全知识点复习资料(必过).doc VIP
- 儿童呼吸系统疾病雾化治疗合理应用专家共识.pptx VIP
- 铝厂熔铸车间安全常识.pptx VIP
- 《中华人民共和国国家安全法》培训与解读课件.pptx VIP
- 第六章 学习法治思想提升法治素养练习题及答案.docx VIP
- 五年级上册小学高年级学生读本第2讲《办好中国的事情关键在党》教案.doc VIP
- 《公共安全教育》课件.ppt VIP
文档评论(0)