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

数据库ER图练习题

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

1. 对于学生选课关系,其关系模式为: 学生(学号,姓名,年龄,所在系); 课程(课程名,课程号,先行课); 选课(学号,课程号, 成绩)。 课堂练习:

1、查询学生95001的姓名和所在系。 2、查询至少选修了两门课程的学生学号。 3、查询选修了1号课程的学生姓名。 4、查询没有选修数据库课程的学生姓名。

5、查询至少选修了1号课程和3号课程的学生学号。 用关系代数完成如下查询。

1)求学过数据库课程的学生的姓名和学号。 2)求学过数据库和数据结构的学生姓名和学号。 3)求没学过数据库课程的学生学号。 4)求学过数据库的先行课的学生学号。

5)求数据库最高、最低成绩学生的姓名。 6)有相同成绩学生的学号。

2. 设有一个SPJ数据库,包括Suppliers,Parts,Projects,SPJ四个关系模式: Suppliers(SNO,SNAME,STATUS,SCITY); Parts(PNO,PNAME,COLOR,WEIGHT); Projects(JNO,JNANE,JCITY); SPJ(SNO,PNO,JNO,QTY)。

其中:供应商表Suppliers由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(SCITY)组成;零件表Parts由零件代码 (PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表Projects由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码 (PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。 试用关系代数完成如下查询:

1)求供应工程J1 零件的供应商号码SNO。 2)求供应工程J1 零件P1的供应商号码SNO。 3)求供应工程J1 零件为红色的供应商号码SNO。 4)求没有使用天津供应商生产的红色零件的工程号。 5)求至少用了供应商S1所供应的全部零件的工程号。

课堂练习:

(1)求上海的所有供应商的信息。 (2)求位于郑州的所有工程的信息 (3)求数量在100-150之间的供应 (4)求工程J1提供零件的供应商号。 (5)求供应工程J1红色零件的供应商号 (6)求不供应零件P2的供应商名称

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

(8)求使用了本地供应商提供的零件的工程号和工程名称 (9)求未使用本地供应商提供的零件的工程号和工程名称 (10)求至少用了供应商号为02所供应的全部零件的工程号

1、已知关系R(A,B,C,D)的函数依赖为A→B,B→C和D→B,回答如下问题:

(1) 求出R的码; A D

(2)R是BCNF范式吗?为什么?如果不是,把它分解成BCNF范式。 R1(A,B) R2(B,C) R3(D,B) R4(A,D)

2、已知关系R(A,B,C,D)的函数依赖为A→B,B→C,A→D和D→C,回答如下问题:

(1) 求出R的码.A

(2) R是第三范式吗?为什么?如果不是,把它分解成第三范式 R1(A,B,D) R2( B,C) R3(D,C)

3.设有关系框架R(A,B,C,D,E,P)及其上的函数相关性集合F={A→B,C→P,E→A,CE→D}:

(1)求出R的所有候选关键字。(2)将R无损连接分解到BCNF。

课堂练习:

现有如下关系模式:

R(A#,B#,C,D,E) 其中:A#B#组合为码

R上存在的函数依赖有A#B#→E,B#→C,C→D (1)该关系模式满足2NF吗?为什么? (2)如果将关系模式R分解为:

指出关系模式R2的码,并说明该关系模式最高满足第几范式?(在1NF~BCNF之内)。

(3)将关系模式R分解到BCNF。

课后作业:

1.设教学数据库中有3个关系: 学生关系 S(SNO,SNAME,AGE,SEX) 学习关系 SC(SNO,CNO,GRADE) 课程关系 C(CNO,CNAME,TEACHER) 下面用关系代数表达式表达每个查询语句。 (1) 检索学习课程号为C2的学生学号与成绩。 (2) 检索学习课程号为C2的学生学号与姓名

(3) 检索选修课程名为MATHS的学生学号与姓名。 (4) 检索选修课程号为C2或C4的学生学号。

(5) 检索至少选修课程号为C2和C4的学生学号。 (6) 检索不学C2课的学生姓名与年龄。 (7) 检索学习全部课程的学生姓名。

(6)检索至少选修两门课程的学生学号。 πS#(σ1=4∧2≠5(SC×SC))

用关系代数表示数据查询的典型例子

[例]设教学数据库中有3个关系: 学生关系S(SNO,SNAME,AGE,SEX) 学习关系SC(SNO,CNO,GRADE) 课程关系C(CNO,CNAME,TEACHER) 下面用关系代数表达式表达每个查询语句。

(1) 检索学习课程号为C2的学生学号与成绩。 πSNO,GRADE(σ CNO='C2'(SC))

(2) 检索学习课程号为C2的学生学号与姓名 πSNO,SNAME(σ CNO='C2'(SSC))

由于这个查询涉及到两个关系S和SC,因此先对这两个关系进行自然连接,同一位学生的有关的信息,然后再执行选择投影操作。 此查询亦可等价地写成:

πSNO,SNAME(S)(πSNO(σ CNO='C2'(SC)))

这个表达式中自然连接的右分量为\学了C2课的学生学号的集合\。这个表达式比前一

个表达式优化,执行起来要省时间,省空间。

(3)检索选修课程名为MATHS的学生学号与姓名。 πSNO,SANME(σ CNAME='MATHS'(SSCC))

(4)检索选修课程号为C2或C4的学生学号。 πSNO(σ CNO='C2'∨CNO='C4'(SC))

(5) 检索至少选修课程号为C2或C4的学生学号。 π1(σ1=4∧2='C2'∧5='C4'(SC×SC))

这里(SC×SC)表示关系SC自身相乘的乘积操作,其中数字1,2,4,5都为它的结果关系中的属性序号。

比较这一题与上一题的差别。

(6) 检索不学C2课的学生姓名与年龄。

πSNAME,AGE(S)-πSNAME,AGE(σ CNO='C2'(SSC))

这个表达式用了差运算,差运算的左分量为\全体学生的姓名和年龄\,右分量为\学了C2课的学生姓名与年龄\。

(7)检索学习全部课程的学生姓名。 编写这个查询语句的关系代数过程如下: (a) 学生选课情况可用πSNO,CNO(SC)表示; (b) 全部课程可用πCNO(C)表示;

(c) 学了全部课程的学生学号可用除法操作表示。

操作结果为学号SNO的集合,该集合中每个学生(对应SNO)与C中任一门课程号CNO配在一起都在πSCO,CNO(SC) 中出现(即SC中出现),所以结果中每个学生都学了全部的课程(这是\除法\操作的含义): πSNO,CNO(SC)÷πCNO(C)

(d) 从SNO求学生姓名SNAME,可以用自然连结和投影操作组合而成: πSNAME(S

(πSNO,CNO(SC)÷πCNO(C)))

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库ER图练习题在线全文阅读。

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