77范文网 - 专业文章范例文档资料分享平台

数据库原理教程习题答案(全)(3)

来源:网络收集 时间:2019-04-01 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Departments Dno Dptname Mrgno Employees Eno Ename Salary Dno Includes Ono Ino Quantity Dependents Eno Dname ReltoEmp Birthday Orders Ono Date Cno Customers Items Ino Iname Stocks Dno Supplies Sno Ino Quantity Suppliers Sno Sname Saddress Cno Cname Caddress Balance 图3.1 某公司数据库系统的数据库模式图

3.8 得到的一组关系模式如下:

客户(客户ID,姓名,地址,电话)

汽车(车辆编号,车型,出厂年份,车主ID) 事故(事故编号,发生时间,事故地点)

发生(驾照号,车辆编号,事故编号,损坏估计)

其中,客户与汽车之间的联系已经合并到关系模式“汽车”中,并将“客户ID”改为“车主ID”。

3.9 由实体集得到如下关系模式:

账户(账号,余额)

支行(支行名称,城市,街道,资产) 客户(客户ID,姓名,地址,联系电话) 贷款(贷款号,贷款日期,贷款金额) 由联系得到如下关系模式:

账户-支行(账号,支行名称) 贷款-支行(贷款号,支行名称) 借贷(客户ID,贷款号)

存取款(客户ID,账号,存取金额,存取日期) 属于(账号,客户ID) 合并具有相同码的关系模式:

账户、账户-支行、属于具有相同码,合并成一个关系模式账户,并用开户行替换支行名称,开户人替换客户标识。合并后的关系模式如下:

账户(账号,余额,开户行,开户人)

贷款和贷款-支行具有相同码,合并成一个关系模式贷款,并用贷款支行替换支行名称。合并后的关系模式如下:

贷款(贷款号,贷款日期,贷款金额,贷款支行) 最后得到的一组关系模式如下:

账户(账号,余额,开户行,开户人) 支行(支行名称,城市,街道,资产) 客户(客户标识,姓名,地址,联系电话)

贷款(贷款号,贷款日期,贷款金额,贷款支行) 借贷(客户ID,贷款号)

存取款(客户ID,账号,存取金额,存取日期)

3.10 电话号码是多值属性,需要创建一个关系模式。我们称该关系模式为电话,它的码为电话号码。该关系模式定义如下:

电话(电话号码,办公室名称) 由强实体集得到如下关系模式: 部门(部门号,部门名称,预算) 项目(项目名称,项目预算) 办公室(办公室名称,位置)

职工(职工号,姓名,地址,电话号码) 由弱实体集“工作简历”得到如下关系模式:

工作简历(职工号,开始时间,任务,工资,截止时间) 由联系集得到如下关系模式: 承担(项目名称,部门号) 部-办(办公室名称,部门号) 管理(职工号,部门号) 参加(职工号,项目名称) 工作(职工号,部门号)

职-办(职工号,办公室名称) 合并具有相同码的关系模式:

项目与承担具有相同码,合并为项目,并将部门号改为承担部门,得到: 项目(项目名称,项目预算,承担部门)

办公室与部-办具有相同码,合并为办公室,并将部门号改为所属部门,得到: 办公室(办公室名称,位置,所属部门)

管理有两个码,可以与职工合并(有利于回答“某职工的经理是谁”这类问题),也可以与部门合并(有利于回答“某部门的经理是谁”这类问题)。考虑“某部门的经理是谁”这类问题更常出现,决定于部门合并,并将职工号改为经理,得到:

部门(部门号,部门名称,预算,经理)

职工、参加、工作和职-办都具有相同码,合并为职工,得到:

职工(职工号,姓名,地址,电话号码,项目名称,部门号,办公室名称) 最后,我们得到如下关系模式:

部门(部门号,部门名称,预算,经理) 项目(项目名称,项目预算,承担部门) 办公室(办公室名称,位置,所属部门)

职工(职工号,姓名,地址,电话号码,项目名称,部门号,办公室名称) 工作简历(职工号,开始时间,任务,工资,截止时间) 电话(电话号码,办公室名称)

3.11

(1) 求上海的所有供应商的信息。

?Scity=?上海?(Suppliers)

(2) 求位于郑州的所有工程的信息。

?Jcity=?上海?(Projects)

(3) 求数量在100~150之间的供应。

?Quantity?100 ? Quantity?150(SPJ) (4) 求为工程J1提供零件的供应商号。

?Sno (?Jno=?J1? (SPJ))

(5) 求供应工程J1红色零件的供应商号。

?Sno(?Jno=?J1? ?Color=?红色?(SPJParts)) (6) 求至少提供一种红色零件的供应商名称。

?Sname(?Color=?红色?(SuppliersSPJParts)) (7) 求不提供零件P2的供应商名称

?Sname(Suppliers) ? ?Sname(?Pno=?P2?(SuppliersSPJ)) (8) 求没有使用天津供应商生产的红色零件的工程号。

使用了天津供应商生产的红色零件的工程号

?Jno(?Scity=?天津?(Suppliers)SPJ? Color=?红色?(Parts)) 该题的解

?Jno(Projects) ? ?Jno(?Scity=?天津?(Suppliers)SPJ? Color=?红

色?

(Parts))

(9) 求使用了本地供应商提供的零件的工程号和工程名称。

?Jno,Jname(?Scity=Jcity(ProjectsSPJSuppliers))

(10) 求未使用本地供应商提供的零件的工程号和工程名称。

?Jno,Jname(Projects)

?Jno,Jname(?Scity=Jcity(ProjectsSPJSuppliers)) (11) 求至少用了供应商S1所供应的全部零件的工程号。

?Jno,Pno(SPJ)? ?Pno(?Sno=?S1?(SPJ)) (12) 求提供所有零件的供应商名称。

?Sname?Sno,Pno(SPJ)? ?Pno (Parts))Suppliers)

3.12对于供应商-工程-零件数据库,用元组/域关系演算表示习题3.9中的查询 (1) 求上海的所有供应商的信息。

{t | Suppliers(t) ? t[Scity]=?上海?)}

(2) 求位于郑州的所有工程的信息。

{t | Projects(t) ? t[Jcity]=?郑州?)}

(3) 求数量在100~150之间的供应。

{t | SPJ(t) ? t[Quantity]?100 ? t[Quantity]?150)}

(4) 求为工程J1提供零件的供应商号。

{t(1) | (?u)(SPJ(u) ?u[Jno]=?J1? ? t[Sno]=u[Sno])}

(5) 求供应工程J1红色零件的供应商号。

{t(1) | (?u)( ?v)(SPJ(u) ? Parts(v) ? u[Pno]=v[Pno] ?

u[Jno]=?J1? ? v[Color]=?红色? ? t[Sno]=u[Sno])}

(6) 求至少提供一种红色零件的供应商名称。

{t(1) | (?u)(?v)(?w)(Suppliers(u) ? SPJ(v) ? Parts(w) ? u[Sno]=v[Sno] ?

v[Pno]=w[Pno] ? v[Color]=?红色? ? t[Sname]=u[Sname])}

(7) 求不提供零件P2的供应商名称

{t(1) | (?u) (Suppliers(u) ? t[Sname]=u[Sname] ?

?(?v)(SPJ(v) ? u[Sno]=v[Sno] ? v[Pno]=?P2? ))}

(8) 求没有使用天津供应商生产的红色零件的工程号。

{t(1) | (?u) (Projects (u) ? t[Jno]=u[Jno] ?

? ((?v1)(?v2)(?v3) (Suppliers(v1) ? SPJ(v2) ? Parts(v3) ?

u[Jno]=v2[Jno] ?v1[Sno]=v2[SnoO] ? v2[Pno]= v3[Pno] ?

v1[Scity]=?天津? ? v3[Color]=?红色?))} (9) 求使用了本地供应商提供的零件的工程号和工程名称。

{t(2) | (?u)(?v)(?w) (Projects(u) ? SPJ(v) ? Suppliers(w) ?

u[Jno]=v[Jno] ?v[Sno]=w[Sno]?u?Jcity]=w[Scity]? t[Jno]=u[Jno] ?t[Jname]=u[Jname])}

(10) 求未使用本地供应商提供的零件的工程号和工程名称。

{t(2) | (?s)(Projects(s)

?

? ((?u)(?v)(?w) (Projects(u) ? SPJ(v) ? Suppliers(w) ? u[Jno]=v[Jno] ?v[Sno]=w[Sno]?u?Jcity]=w[Scity]? t[Jno]=u[Jno] ?t[Jname]=u[Jname])

(11) 求至少用了供应商S1所供应的全部零件的工程号。 {t(1) | (?u) (Projects(u) ? t[Jno]=u[Jno] ? ? (?v)(SPJ(v) ? v[Sno]=?S1? ? ? (?w)(SPJ(w) ? u[Jno]=w[Jno] ? v[Sno]=w[Sno])))} (12) 求提供所有零件的供应商名称。 {t(1) | (?u) (Suppliers(u) ? t[Sname]=u[Sname] ? ? (?v)(Parts(v) ? (?w)(SPJ(w) ? u[Sno]=w[Sno] ? v[Pno]=w[Pno])))}

3.13用域关系演算完成例3.12和例3.13中的查询 例3.12

(1) 列出系编号为MA(数学系)的所有学生的详细信息。

{(x1, x2,x3,x4,x5,?MA?) | Students(x1,x2,x3,x4,x5,?MA?) }

(2) 列出所有课程的课程号、课程名和学分。

{(x1,x2,x3) | (?y)(Courses(x1,x2,y,x3))}

(3) 列出年龄不超过45岁的所有副教授的姓名、性别和年龄。

{(x1,x2,x3) | (?y1,y2) (Teachers(y1,x1,x2,x3,?副教授?,y2))}

(4) 列出选修了课程号为CS201的课程的所有学生的学号。

{(x) | (?y) (SC(x,?CS201?, y))} ? 例3.13

(1) 列出选修了课程号为CS201的课程的所有学生的学号和姓名。

{(x1,x2) | (?x3,x4,x5,x6)(?y)(Students(x1,x2,x3,x4,x5,x6) ? SC(x1,?CS201?,y))}

(2) 列出每个学生选修的每门课程的成绩,要求列出的学号、姓名、课程名和成绩。

{(x1,x2,x3,x4) | (?(y1,y2,y3,y4)(?z)(?w1,w2,w3,w4)(Students(x1,x2, y1,y2,y3,y4) ?

SC(x1,w1,z) ? Courses(w1,w2,w3,w4)}

(3) 求评估得分高于90分的教师所在院系名称、教师姓名、课程名和评估得分。

{(x1,x2,x3,x4) | (?(y1,y2)(?z1,z2,z3,z4,z5)(?w1,w2,w3) (?v)(Departments (y1,x1, y2) ? Teachers(z1,x2,z2,z3,z4,z5) ? Courses(w1,x3,w2,w3) ?

Teaches(x1, w1, v))}

3.14

(1) 求提供了零件的供应商的个数。

gcount-distinct(Sno) (SPJ)

(2) 求所有零件的平均重量。

gavg(Weight) (Parts)

(3) 求供应商S1提供的每种零件的总数量。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库原理教程习题答案(全)(3)在线全文阅读。

数据库原理教程习题答案(全)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/561530.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: