数据库原理及应用试题库1.docx

上传人:b****6 文档编号:8419405 上传时间:2023-01-31 格式:DOCX 页数:12 大小:80.37KB
下载 相关 举报
数据库原理及应用试题库1.docx_第1页
第1页 / 共12页
数据库原理及应用试题库1.docx_第2页
第2页 / 共12页
数据库原理及应用试题库1.docx_第3页
第3页 / 共12页
数据库原理及应用试题库1.docx_第4页
第4页 / 共12页
数据库原理及应用试题库1.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据库原理及应用试题库1.docx

《数据库原理及应用试题库1.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用试题库1.docx(12页珍藏版)》请在冰豆网上搜索。

数据库原理及应用试题库1.docx

数据库原理及应用试题库1

三、简答题

1.设有关系模式:

学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。

设一名学生可以选修多门课程号,一门课程号可以被多名学生选修;一名学生有唯一的所在系,每门课程号有唯一的课程名和学分。

回答以下问题:

(1)根据上述规定写出关系模式R的基本函数依赖;

(2)找出关系模式R的候选码;

(3)试问关系模式R最高已经达到第几范式?

为什么?

(4)将R分解成3NF模式集。

答:

(1)学号(姓名,所在系,性别)F

课程号(课程名,学分)F

(学号,课程号)成绩F

(学号,课程号)(姓名,所在系,性别,课程号,学分)P

(2)候选码:

学号,课程号

(3)存在部分函数依赖,R达到第一范式

(4)Student(学号,姓名,所在系,性别)

SC(学号,课程号,成绩)

Course(课程号,课程名,学分)

2.设有关系模式:

学生表(学号,姓名,所在系,班号,班主任,系主任)。

其语义为:

一名学生只在一个系的一个班学习,一个系只有一名系主任,一个班只有一名班主任,一个系可以有多个班。

回答以下问题:

(1)根据上述规定写出关系模式R的基本函数依赖;

(2)找出关系模式R的候选码;

(3)试问关系模式R最高已经达到第几范式?

为什么?

(4)将R分解成3NF模式集。

答:

(1)学号(姓名,所在系,班号,班主任,系主任)F

班号(班主任,系主任)F

班主任系主任F

所在系系主任F

(2)候选码:

学号

(3)存在传递依赖,不存在部分函数依赖,R达到第二范式

(4)Student(学号,姓名,所在系,班号)

Class(班号,班主任)

Dept(所在系,系主任)

3.设有关系模式:

授课表(课程号,课程名,学分,授课教师号,教师名,授课时数)。

其语义为:

一门课程号有确定的课程名和学分,每名教师有确定的教师名,每门课程号可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程号有确定的授课时数。

回答以下问题:

(1)根据上述规定写出关系模式R的基本函数依赖;

(2)找出关系模式R的候选码;

(3)试问关系模式R最高已经达到第几范式?

为什么?

(4)将R分解成3NF模式集。

答:

(1)课程号(课程名,学分)F

授课教师号教师名F

(授课教师号,课程号)授课时数F

(授课教师号,课程号)(课程名,学分,教师名)P

(2)候选码:

授课教师号,课程号

(3)存在部分函数依赖,R达到第一范式

(4)Course(课程号,课程名,学分)

Teacher(授课教师号,教师名)

CT(课程号,授课教师号,授课时数)

4.(20分)设某图书集团有一关系模式R如下:

R(书店编号,书籍编号,库存数量,部门编号,负责人)如果规定:

(1)每个书店的每种书籍只在该书店的一个部门销售;

(2)每个书店的每个部门只有一个负责人;

(3)每个书店的每种书籍只有一个库存数量。

回答以下问题:

(1)根据上述规定写出关系模式R的基本函数依赖;

(2)找出关系模式R的候选码;

(3)试问关系模式R最高已经达到第几范式?

为什么?

(4)将R分解成3NF模式集。

答:

(1)有三个函数依赖:

(书店编号,书籍编号)部门编号(2分)

(书店编号,部门编号)负责人(2分)

(书店编号,书籍编号)库存数量(2分)

部门编号负责人

书籍编号库存数量

(2)R的候选码:

(书店编号,书籍编号)(3分)

(3)R属于2NF。

(2分)

因为R中存在着非主属性“负责人”对候选码(书店编号,书籍编号)的传递函数依赖,所以R属于2NF。

(3分)

(4)分解成:

R1(书店编号,书籍编号,库存数量,部门编号)(3分)

R2(书店编号,部门编号,负责人)(3分)

四、综合题

1.设有一个SPJ数据库,包括S、P、J、SPJ四个关系模式:

供应商表S(供应商代码SNO,供应商姓名SNAME,供应商状态STATUS,供应商所在城市CITY);

零件表P(零件代码PNO,零件名PNAME,颜色COLOR,重量WEIGHT);

工程项目表J(项目代码JNO,项目名JNAME,项目所在城市CITY);

供应情况表SPJ(供应商代码SNO,零件代码PNO,项目代码JNO,供应数量QTY);

用SQL语言完成如下查询:

(1)找出所有供应商的姓名和所在城市;

(2)求供应工程J1零件P1的供应商号码SNO;

(3)求供应工程J1零件为红色的供应商号码SNO;

(4)找出所有零件的名称、颜色、重量;

(5)找出上海厂商供应的所有零件号码;

(6)找出工程项目J2使用的各种零件的名称及其数量;

(7)找出所有供应商的姓名和所在城市;

(8)找出所有零件的名称、颜色、重量;

(9)找出使用供应商S1所供应零件的工程号码;

(10)找出工程项目J2使用的各种零件的名称及其数量。

(1)selectSNAME,CITYfromS(2分)

(2)selectSNOfromSPJwhereJNO=’J1’andPNO=’P1’(3分)

(3)selectSNOfromSPJwhereSPJ.PNO=P.PNOandJNO=’J1’andCOLOR=’red’(3分)

(4)selectPNAME,COLOR,WEIGHTfromP;(3分)

(5)selectS.SNOfromS,P,SPJwhereS.SNO=SPJ.SNOandSPJ.PNO=P.PNOandCITY=’上海’;(3分)

(6)selectPNAME,WEIGHTfromP,SPJwhereP.PNO=SPJ.PNOandJNO=’J2’;(3分)

(7)Selectsname,city1fromS;(2分)

(8)SelectPname,color,weightfromP;(2分)

(9)SelectJnofromSPJwheresno=’s1’;(3分)

(10)SelectP.pname,SPJ.qtyfromSPJ,PwhereSPJ.pno=P.pnoandSPJ.Jno=’J2’;(3分)

2.设某商业集团数据库中有三个实体集:

商店:

商店编号、商店名、地址

商品:

商品编号、商品名、规格、单价

职工:

职工编号、姓名、性别、业绩

每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品时有月销售量;每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。

(1)试画出E-R图,要求在图上注明属性及联系的类型;

(2)将E-R图转换成关系模型,并注明主码;

(3)根据实际情况,使用SQL创建表,包括各种约束;

(4)用SQL语句查找大于平均业绩的职工姓名;

(5)用SQL语句创建一个业绩大于100的所有男职工信息的视图。

(1)(5分)

(2)这个E-R图可转换为4个关系模式:

(8分)

商店(商店编号,商店名,地址)(2分)

职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)(2分)

商品(商品编号,商品名,规格,单价)(2分)

销售(商店编号,商品编号,月销售量)(2分)

(3)createshop(Sidchar(3)primarykey,Snamechar(10),Saddchar(50));(2分)

createemployee(Eidchar(3)primarykey,Enamechar(5),Esexchar

(1),Eachreal,Sidchar(3),

Eredate,Esaint,foreignkey(Sid)references(shop));(2分)

createcommodity(Cidchar(3)primarykey,Cnamechar(10),Cspchar(10),Cprreal);(2分)

createvendition(Sidchar(3),Cidchar(3),Vseint,primarykey(Sid,Cid),

foreignkey(Sid)references(shop),foreignkey(Cid)references(commodity));(2分)

(4)selectEnamefromemployeexwhereEach>=(selectavg(Each)fromemployeeywherey.Each=x.Each);(2分)

(5)createviewEman(Eid,Ename,Esex,Each,Sid,Ere,Esa)

AsselectEid,Ename,Esex,Each,Sid,Ere,EsfromemployeewhereEach>100andEsex=’男’;(2分)

3.(10分)设有学生表S(SNO,SN),其中SNO为学号,SN为姓名;

学生选课表SC(SNO,CNO,CN,G),其中CNO为课程号,CN为课程名,G为成绩,用SQL语言完成以下各题:

(1)建立一个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序;(5分)

(2)从视图V-SSC上查询平均成绩在90分以上的SN,CN和G。

(5分)

(1)CREATEVIEWV-SSC(SNO,SN,CNO,CN,G)

ASSELECTS.SNO,S.SN,SC.CNO,SC.CN,SC.G

FROMS,SC

WHERES.SNO=SC.SNO;

ORDERBYCNO;(5分)

(2)SELECSN,CN,G

FROMV-SSC

GROUPBYSNO

HAVINGAVG(G)>90;(5分)

4.(共10分)设学校数据库中有两个实体集:

学生表:

学号、姓名、班级

课程表:

课程号、课程名称、教师

某学校有若干学生,每个学生可以选修多门课程,学校有若干课程供学生选修,每门课程可以供多个学生选修,要建立该学校学生选修课程的数据库,请设计:

(1)试画出E-R图,要求在图上注明属性及联系的类型;

(2)将E-R图转换成关系模型,并注明主码;

(2)这个E-R图可转换为4个关系模式:

(12分)

商店(商店编号,商店名,地址)(3分)

职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)(3分)

商品(商品编号,商品名,规格,单价)(3分)

销售(商店编号,商品编号,月销售量)(3分)

5.(10分)有“学生选课系统”数据库,学生选课的关系模式为:

学生(学号,姓名,性别,年龄,所在系)

课程(课程号,课程名,先行课)

选课(学号,课程号,成绩)

根据所给系统,用关系代数运算完成下面查询。

(1)查询年龄小于20岁的学生。

(2)查询学生的姓名和所在系,即求“学生”关系中学生姓名和所在系两个属性上的投影。

(3)查询选修了2号课程的学生学号。

(4)查询选修了全部课程的学生的学号和姓名。

6、(10分)设有学生表S(SNO,SN,SA),其中SNO为学号,SN为姓名,SA为年龄;

学生选课表SC(SNO,CNO,CN,G),其中CNO为课程号,CN为课程名,G为成绩,用SQL语言完成以下各题:

(1)查询所有年龄在20岁以下的学生姓名及年龄。

(5分)

(2)查询选修了2号课程且成绩在90分以上的所有学生的学号及姓名。

(5分)

(1)selectsn,sa_______(2分)

froms———(1分)

wheresa<20;(2分)

(2)selects.sno,smamefroms,sc_______(2分)

Wheres.sno=sc.snoando=’2’andsc.g>90;————(3分)

7.设有一个SPJ数据库,包括S、P、J、SPJ四个关系模式:

S(SNO,SNAME,STATUS,CITY)

P(PNO,PNAME,COLOR,WEIGHT)

J(JNO,JNAME,CITY)

SPJ(SNO,PNO,JNO,QTY)

供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;

零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;

工程向目标J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某种供应商供应某种零件给某工程项目的数量为QTY。

今有若干数据如下:

(省略四图)

试用SQL完成如下查询:

建立题目所述的四个表,并输入数据;

求供应工程J1零件的供应商号码SNO;

求供应工程J1零件P1的供应商号码SNO;

求供应工程J1零件为红色的供应商号码SNO;

求没有使用天津供应商生产的红色零件的工程号JNO;(暂时不做)

求至少用了供应商S1所供应的全部零件的工程号JNO;(暂时不做)

找出所有供应商的姓名和所在城市;

找出所有零件的名称、颜色、重量;

找出所有使用供应商S1所供应零件的工程号码;

找出工程项目J2使用的各种零件的名称及其数量;

找出上海厂商供应的所有零件号码;

找出使用上海产的零件的工程名称;

找出没有使用天津产的零件的工程号码;

把全部红色零件的颜色改为蓝色;

由S5供给J4的零件P6改为由S3供应,请做出必要的修改;

从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;

请将(S2,J6,P4,200)插入供应情况关系;

答案:

Createtable;

Selectsnofroms,spjwheres.sno=spj.snoandjno=’j1’;

Selectsnofroms,spjwheres.sno=spj.snoandjno=’j1’andpno=’p1’;

Selectsnofroms,spj,pwheres.sno=spj.snoandspj.pno=p.pnoandjno=’j1’andcolor=’红’;

Selectsname,cityfroms;

Selectpname,color,weightfromp;

Selectjnofromj,spjwherej.jno=spj.jnoandsno=’s1’;

Selectpname,qtyfromp,spjwherep.pno=spj.pnoandjno=’j2’;

Selectpnofromp,spj,swherep.pno=spj.pnoandspj.sno=s.snoandcity=’上海’;

Selectjnamefromjnowherecity=’上海’;

Selectjnofromj,spj,swherej.jno=spj.jnoandspj.sno=s.snoands.city<>’天津’;

Updatepsetcolor=’蓝’wherecolor=’红’;

8.设有一个学生选课数据库,包括Student,SC,Course三个关系模式:

Student(Sno,Sname,Ssex,Sage,Sdept)

SC(Sno,Cno,Grade)

Course(Cno,Cname,Ccredit,Semester)

试用SQL完成如下查询:

查询SC表中的全部数据;

查询计算机系学生的姓名和年龄;

查询成绩在70-80分的学生的学号、课程号和成绩;

查询计算机系年龄在18-20岁的男学生的姓名和年龄;

查询C001课程号的最高分;

查询计算机系学生的最大年龄和最小年龄;

统计每个系的学生人数;

统计每门课程号的选课人数和考试最高分;

统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果;

查询总成绩超过200分的学生,要求列出其学号和总成绩;

查询选修C002课程的学生姓名和所在系;

查询成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果;

查询哪些课程号没有学生选修,要求列出课程号和课程名;

查询计算机系哪些学生没有选课,列出学生姓名;

查询选修C001课程号的学生姓名和所在系;

查询通信工程系成绩在80分以上的学生学号和姓名;

查询计算机系考试成绩最高的学生姓名。

查询年龄最大的男学生的姓名和年龄;

查询C001课程号的考试成绩高于该课程号平均成绩的学生学号和成绩;

创建内容为学生学号、姓名、所在系、课程号、课程名、课程学分的视图;

创建内容为学生的学号、姓名、选修课程名和考试成绩的视图;

创建内容为统计每个学生的选课门数的视图,要求列出学生学号和选课门数;

创建内容为每个学生的选课总学分的视图,要求列出学生学号和总学分(说明:

考试成绩超过60才能获得此课程的学分)

删除选课成绩小于50分的学生的选课记录;

将所有选修C001课程的学生的成绩加10分;

将计算机所有选修“数据库原理及应用”课程的学生成绩加10分。

答案:

Select*fromsc;

Selectsname,sagefromstudentwheresdept=’计算机系’;

Selectsno,course,gradefromscwheregradebetween70and80;

Selectsname,sagefromstudentwheresdept=’计算机系’andssex=’男’andsagebetween18and20;

Selectmax(grade)最高分fromscwherecno=’C001’;

Selectmax(sage)最大年龄,min(sage)最小年龄fromstudentwheresdetp=’计算机系’;

Selectsdept,count(*)学生人数fromstudentgroupbysdept;

Selectcno,count(*)选课人数,max(grade)最高分fromscgroupbycno;

Selectsno,count(*)选课门数,sum(grade)总成绩fromscgroupbysnoorderbycount(*);

Selectsno,sum(grade)总成绩fromscgroupbysnohavingsum(grade)>200;

Selectsname,sdeptfromstudent,scwherestudent.sno=sc.snoandcno=’C002’;

Selectsname,cno,gradefromstudent,scwherestudent.sno=sc.snoandgrade>80orderbygradedesc;

Select

Select

Select

Selectsno,snamefromstudent,scwherestudent.sno=sc.snoandsdept=’通信工程系’andgrade>80;

Select

Select

Selectsno,gradefromscwheregrade>(selectavg(grade)fromscwherecno=’c001’)andcno=’c001’;

Createviewview1asselectsno,sname,sdept,cno,cname,ccreditfromstudent,sc,coursewherestudent.sno=sc.snoando=o;

Createviewview2asselectsno,sname,cname,gradefromstudent,sc,coursewherestudent.sno=sc.snoando=o;

 

THANKS!

!

!

 

致力为企业和个人提供合同协议,策划案计划书,学习课件等等

打造全网一站式需求

欢迎您的下载,资料仅供参考

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小学作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1