数据库作业及答案.docVIP

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

作业及参考答案 1.1 关系模型: 试述数据库系统的组成和DBA的职责. 答:组成: 数据库、数据库管理系统、应用系统、数据库管理员、用户。 DBA负责全面管理和控制数据库系统,主要职责: 设计和定义数据库系统 帮助用户使用数据库系统 监督与控制数据库系统的使用和运行 改进和重组数据库,调优数据库性能 转储与恢复数据库 重构数据库 2. a)找出下面表的三个候选键. A B C D a1 b1 c1 D1 a2 b3 c1 D2 a3 b4 c2 D2 a4 b2 c2 D1 答:三个候选键:A, B, (C,D) b)给出一个四行四列的表,要求只有一个由前三列组成的候选键. 答: A B C D a1 b1 c1 D1 a2 b1 c1 D1 a1 b2 c1 D1 a1 b1 c2 D1 3.根据您的认识设计一个人事管理数据库,要求说明设计的背景及理由. 答:要点:首先划定该数据库的应用范围,要解决哪些问题(不一定包罗人事事务的方方面面); 在问题范围内确定数据项; 研究数据项间关系形成一个由相互关联的若干张表组成的数据库。 注:列出各个表的数据项,表与表的参照关系。几个独立的表并不是关系数据库的主要目的,不要有冗余。 1.2 关系代数: 1.如果关系R和S没有共同的列属性,根据定义说明表R×S等于表R∞S。 答:广义笛卡尔积(Extended Cartesian Product):两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。记作:R×S={trts|tr∈R∧ts∈S } 连接: 连接也称为θ连接。它是从两个关系的笛卡尔 积中选取属性间满足一定条件的元组。记作:R∞S={trts|tr∈R∧ts∈S∧tr[A]=ts[B]} AθB 其中A和B分别为R和S上度数相等且可比的属性组。θ是比较运算符。连接运算的结果是从R和S的广义笛卡尔积R×S中选取R关系在A属性组上的值与S关系在B属性组上值满足比较关系θ的元组。 连接的定义中如果R和S中没有相同的列A、B,则在确定元组t在不在表R∞S中时,应忽略对列A和列B的引用,那么连接的定义就退化为广义笛卡尔积R×S,于是有R×S=R∞S。 2.对CAP数据库,用关系代数完成下列查询。 1)找出顾客、代理商和商品都在同一个城市的三元组(cid,aid,pid)。 答:πcid,aid,pid(σC.city=A.city and A.city=P.city((C×A)×P)) 或πcid,aid,pid(σC.city=A.city and A.city=P.city(C×A×P)) 2)找出顾客、代理商和商品两两不在同一个城市的三元组(cid,aid,pid)。 答:πcid,aid,pid(σC.cityA.city and A.cityP.city and C.cityP.city (C×A×P)) 注意:XY and YZ并不意味着XZ. 3)列出所有在同一个城市代理商的aid对。 答:A1 := A, A2 := A πA1.aid,A2.aid(σA1.city=A2.city and A1.aidA2.aid(A1×A2)) 4)找出折扣率最大和最小的顾客cid。 答:最大: C1 := C, C2 := C X(cid1,cid) :=πC1.cid,C2.cid(σC1.discnt=C2.discnt(C1×C2)) X ÷ πC.cid(C) 最小: C1 := C, C2 := C X(cid1,cid) :=πC1.cid,C2.cid(σC1.discnt=C2.discnt(C1×C2)) X ÷ πC.cid(C) 5)取出销售过所有曾被顾客c002订购过的商品的代理商的名字。 答:πaname((πaid,pid(O)÷πpid(σcid=’c002’(O)))∞A) 6)找出只从一家代理商处订购过商品的顾客cid。 答:OY := O πcid(O) — πO.cid(σO.aidOY.aid and O.cid=OY.cid(O×OY)) 1.3 SQL: 1.检索佣金百分率大于最小百分率的代理商aid. 答: select aid from agents where percent any (select percent from agen

文档评论(0)

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

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

1亿VIP精品文档

相关文档