2007数据库复习题及答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2007数据库复习题及答案

第一题: 考虑用二元联系(图1)对三元联系(图2)的表示: 1) 分别给出E,A,B,C,RA,RB 和RC 的一个实例,这些实例不对应A,B,C 和R 的任何实例; 2) 更改图1 中的ER 图,引入适当的约束以确保满足约束的E,A,B,C,RA,RB 和RC 的任何实例都对应于A,B,C 和R 的一个实例; 3) 更改以上的转化以表示在三元联系上的全参与约束; 4) 以上表示要求为E创建一个主码属性,试问如何将E处理为弱实体集,以便不需要主码? 解: 令 E = {e1, e2}, A = {a1, a2}, B = {b1}, C = {c1}, RA = {(e1, a1), (e2, a2)},Rb={(e1,b1)}, Rc={(e1,c1)}; 可以看出,由于元组(e2,a2)的原因,不存在任何实例对应于E,Ra,Rb,Rc 如下图所示:通过引入E 和关系 Ra , Rb , Rc之间的全部参与的约束条件,以便在 E 中的每个元组都和A ,B,C有关系。 假设A全部参与关系R,则在A和Ra之间引入全部参与约束将 E看作弱实体集,而将Ra,Rb,Rc看作标志联系集。如下图所示第二题: 分别判断下列图中G1和G2是否互模拟(bisimulation),并说明理由 解: (1)在图中标出各点的状态,我们构造关系S={(P0,Q0),(P1,Q1),(P2,Q1),(P3,Q2),(P4,Q3)} 可知G2可以模拟G1,下面我们讨论 S+1={( Q0, P0),(Q1, P1),(Q1, P2),(Q2, P3),(Q3,P4)} 是否可模拟,在G2中Q0有一个a变换可对应到G1中2个变换,即(Q1,P1)∈S-1, (Q1,P2)∈S-1。但Q1有两个变换b,c,而在G1中公存在只有b或只有c的状态点,可知G1和G2不能互模拟。 (2)如图,标出各状态点,构造有关系 S={(P0,Q0),(P1,Q1),(P1,Q2),(P2,Q3),(P2,Q4), (P3,Q5)}, 可知其中G1中的点均可由G2中的点模拟,下面我们考虑 S+1={( Q0, P0),(Q1, P1),(Q2, P1),(Q3, P2),(Q4,P2),(Q5,P3)}, 可知同样其中G2中的点均可由G1中的点模拟,所以G1和G2互模拟。 第三题: 设有下列嵌套关系模式: Emp = (Ename, childrenSet setof(Childern), SkillsSet setof(Skills)) Childern = (Cname, birthday) Birthday = (day, month, year) Skills = (Stype, examsSet setoff(Exams)) Exams = (year,city) 1) 试给出嵌套关系模式的XML DTD 表示,假定数据库中包含表emp(Emp) 2) 试用SQL:1999 写出下列查询: a) 列出所有有一个孩子的生日在三月的员工的姓名; b) 列出所有在城市”Xi’an”参加过技能种类(Stype)为”Typing”考试(Exams) 的员工的姓名(Ename); c) 列出关系Emp 中的所有技能种类(Stype); 3) 试用Xquery 重写2)中的所有查询; 解: 1) !DOCTYPE db [ !ELEMENT emp (ename, children*, skills*) !ELEMENT children (cname, birthday) !ELEMENT birthday (day, month, year) !ELEMENT skills (stype, exams+) !ELEMENT exams (year, city) !ELEMENT ename( #PCDATA ) !ELEMENT name( #PCDATA ) !ELEMENT day( #PCDATA ) !ELEMENT month( #PCDATA ) !ELEMENT year( #PCDATA ) !ELEMENT type( #PCDATA ) !ELEMENT city( #PCDATA ) ] 2) a――- select ename from Emp as e, unnest(e.ChildrenSet) as c(Children) where ‘March’ in ( select birthday.month from c) b――― select ename from Emp as e, e.SkillsSet as s, s.ExamsSet as x

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档