0809级数据库技术试题答案.docx

上传人:b****5 文档编号:5595439 上传时间:2022-12-28 格式:DOCX 页数:18 大小:75.17KB
下载 相关 举报
0809级数据库技术试题答案.docx_第1页
第1页 / 共18页
0809级数据库技术试题答案.docx_第2页
第2页 / 共18页
0809级数据库技术试题答案.docx_第3页
第3页 / 共18页
0809级数据库技术试题答案.docx_第4页
第4页 / 共18页
0809级数据库技术试题答案.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

0809级数据库技术试题答案.docx

《0809级数据库技术试题答案.docx》由会员分享,可在线阅读,更多相关《0809级数据库技术试题答案.docx(18页珍藏版)》请在冰豆网上搜索。

0809级数据库技术试题答案.docx

0809级数据库技术试题答案

中南大学考试试卷(标准答案)

2009--2010学年下学期时间100分钟

数据库应用基础课程56学时3.5学分考试形式:

闭卷

专业年级:

商学院09级总分100分,占总评成绩70%

一、判断下列关系模式最高属于第几范式,并解释原因(本题10分)--每小题2分

(1)R(A,B,C,D,E)F:

{B→C,AB→D};

解:

∵候选码为ABE,存在非主属性C、D对码的部分函数依赖

∴R∈1NF。

(2)R(A,B,C,D,E)F:

{ABD→C,D→E,E→D,ABE→D}

解:

∵候选码为ABD或ABE,非主属性为C,不存在非主属性对码的部分或传递函数依赖,而D与E均为决定因素,但不是码,故不满足BCNF条件。

∴R∈3NF。

(3)R(A,B,C,D,E)F:

{AB→C,CB→D}

解:

∵候选码为ABE,非主属性为C、D,存在非主属性对码ABE的部分函数依赖。

∴R∈1NF。

(4)R(A,B,C,D,E)F:

{AB→C,AB→D,C→D,E→D}

解:

∵候选码为ABE,存在非主属性D对码ABE的部分函数依赖。

∴R∈1NF。

(5)R(A,B,C,D,E)F:

{AB→C,C→B,C→D}

解:

∵候选码为ABE或ACE,非主属性为D,存在非主属性D对码的部分函数依赖。

∴R∈1NF。

二、解释下列名词(本题10分)--每小题2分

(1)数据库:

是一个按数据结构来存储和管理数据的计算机软件系统。

它是长期存储在计算机内的、有组织的、可共享的数据集合。

(2)表:

是关系模型中数据的逻辑结构,表头为记录类型,表的内容是元组的集合。

(3)视图:

是存储在数据库中的预先定义好的查询,是由基本表或其他视图导出的表,它是为了数据查询方便、数据处理简便以及数据安全要求而设计的数据虚表,不对应实际存储的数据。

(4)传递函数依赖:

设有关系模式R(U),X、Y和Z为属性集U的子集,如果X→Y(

),

,但Y→Z,则称Z对X传递函数依赖。

(5)逻辑模型:

是按计算机系统的观点对数据建模,它描述了数据库中数据及联系的组织方式(数据结构)、数据操作和完整性约束条件等,是DBMS的核心和基础,常见的逻辑模型有层次、网状和关系模型等。

三、根据自己所了解的情况,对“银行活期存款管理系统”、“手机信息管理系统(包括电话号码、短信及其相关管理)”中某一系统设计相应的E-R图,并设计满足第三范式的数据库,并说明其设计过程。

(本题20分)

1.

 

储户(储户编号,姓名,性别,出生日期,家庭住址,联系方式);

存折(存折号,开户行,开户日期,存取款金额,存取款日期,银行操作员);

银行卡(银行卡号,开户行,开户日期,存取款金额,存取款日期,自助柜员机员)

2.

 

本机(本机号码,本机机主姓名);

电话薄(电话号码,电话姓名,号码分组);

通话(电话号码,通话时点,计费方式);

短信(电话号码,短信时点,短信内容)

四、改错题(18分)--每小题3分

在下列各题中均使用下列表及相关数据。

学生信息表Student(NO,NAME,AGE,SEX,Class),其字段名分别表示学号、姓名、年龄、性别,班级。

教师信息表T(NO,NAME,AGE,SEX),其字段名分别表示教师编号、姓名、年龄、性别。

课程信息表C(NO,CNAME,PCNUM,TNO),其字段名分别表示课程编号、课程名称、先修课程编号、授课教师编号。

学生选课及成绩表SC(SNO,CNO,GRADE),其字段名分别表示学号、课程编号、成绩。

Student的数据

NO

Name

Sex

Age

Class

0101

刘琳

20

0101

0102

王刚

20

0101

0103

李晓

22

0102

0104

张明

NULL

0103

0105

周冰

21

0102

T的数据

NO

Name

SEX

AGE

3101

王明

40

3102

刘伟

35

3103

陈冰

38

C的数据

NO

CName

PCNUM

TNO

1021

数据库技术

1020

3101

1022

高等数学

NULL

3105

SC的数据

SNO

CNO

GRADE

0101

1020

85

0101

1021

90

0101

1022

NULL

0102

1020

90

0102

1022

85

0103

1020

NULL

0103

1021

88

判断下列命令是否正确,如果有错,请指出并改正。

(1)SELECTstudent.no,student.name,student.class,SC.Cno,sc.gradefromstudenta,scb

(该命令是查询每个同学的信息及其相应成绩)

解:

错误!

改:

SELECTa.no,a.name,a.class,b.Cno,b.gradefromstudenta,scbwherea.no=b.sno;

(2)Selectavg(grade)fromSCwherecno=’1022’

解:

正确!

(3)select*fromstudentwherename=’刘%’;

解:

错误!

改:

select*fromstudentwherenamelike’刘%’;

(4)Selectno,name,C.CnofromT,Cwhereno=Tno

解:

错误!

改:

SelectT.no,name,C.CnofromT,CwhereT.no=C.tno;

(5)select*fromTwherenoinselect*fromCwherecname=’数据库技术’

解:

错误!

改:

select*fromTwherenoin(selecttnofromCwherecname=’数据库技术’);

(6)DROPfromCwherecname=NULL

(该命令是删除表C中课程名称是NULL的所有记录)

解:

错误!

改:

DeletefromCwherecnameisNULL;

五、写出下列命令的结果。

(本题18分)--每小题3分

(1)select‘33+55’,33+55fromstudent;

(无列名)

(无列名)

33+55

88

33+55

88

33+55

88

33+55

88

33+55

88

(2)select‘1020’,sum(grade)fromScwherecno=’1020’

unionselect‘1021’,sum(grade)fromscwherecno=’1021’

unionselect‘1022’,sum(grade)fromscwherecno=’1022’;

(无列名)

(无列名)

1020

175.0

1021

178.0

1022

85.0

(3)select*fromSCwheresno=’0101’orderbygrade;

SNO

CNO

GRADE

0101

1022

NULL

0101

1020

85

0101

1021

90

SNO

CNO

GRADE

0101

1020

85

0101

1021

90

0101

1022

NULL

(4)select*fromstudentwhereage<(selectavg(age)fromstudentwheresex=’女’);

NO

Name

Sex

Age

Class

0101

刘琳

20

0101

0102

王刚

20

0101

(5)select*fromstudentwhereexists(select*fromSCwheresno=student.no)andstudent.class=’0101’

NO

Name

Sex

Age

Class

0101

刘琳

20

0101

0102

王刚

20

0101

(6)selectstudent.no,student.name,o,sc.gradefromstudent,SCwherestudent.no=sc.sno;

NO

Name

Cno

GRADE

0101

刘琳

1020

85

0101

刘琳

1021

90

0101

刘琳

1022

NULL

0102

王刚

1020

90

0102

王刚

1022

85

0103

李晓

1020

NULL

0103

李晓

1021

88

六、用一条命令完成下列操作(本题24分)--每小题3分

(1)计算3+5

select3+5;

(2)检索除王老师以外的老师所授课程;

select*fromCwhereTNOnotin(selectNOfromTwhereNAMElike‘王%’);

或:

selectC.*fromC,TwhereC.TNO=T.NOandT.NAMElike‘王%’;

(3)检索至少选修了二门课程以上但没有选王老师或刘老师的课程的男同学的情况;

select*fromStudentwhereSEX=’男’andNOnotin(selectSNOfromSC,CwhereSC.CNO=C.NOandTNOin(selectNOfromTwhereNAMElike‘王%’orNAMElike‘刘%’))andNOin(selectSNOfromStudent,SCwhereStudent.NO=SC.SNOgroupbySNOhavingcount(CNO)>=2);

(4)统计每个学生选修课程的门数(超过4门才统计),输出学生情况及选修门数,结果按门数的降序排列,若门数相同,则按学号升序排列;

selectSNO,count(CNO)fromSCgroupbySNOhavingcount(CNO)>=4orderbycount(CNO)desc,SNO;

(5)检索学号比”刘玲”同学大,而年龄比她小的且各门课程的成绩比班级平均成绩大的学生情况;

select*fromStudentwhereNO>(selectNOfromStudentwhereNAME=’刘玲’)andAGE<(selectAGEfromStudentwhereNAME=’刘玲’)andNOin(selectSNOfromSCgroupbySNOhavingMIN(GRADE)>all(selectavg(GRADE)fromStudent,SCwhereStudent.NO=SC.SNOgroupbyCLASS));

(6)检索所授课程平均成绩大于80的教师情况;

selectT.*fromTwhereNOin(selectC.TNOfromC,SCwhereC.NO=SC.CNOgroupbyTNOhavingavg(GRADE)>=80);

(7)查询选修了‘数据库技术’且所在班级平均成绩超过70的同学的记录。

selectStudent.*,SC.*fromStudent,SC,CwhereStudent.NO=SC.SNOandC.NO=SC.CNOandCNAME=‘数据库技术’andCLASSin(selectCLASSfromStudent,SCwhereStudent.NO=SC.SNOgroupbyCLASShavingavg(GRADE)>70);

(8)将SC中成绩为NULL值的均修改为0。

updateSCsetGRADE=0whereGRADEisNULL;

 

中南大学考试试卷(标准答案)

2008--2009学年下学期时间100分钟

数据库应用基础课程56学时3.5学分考试形式:

闭卷

专业年级:

商学院08级总分100分,占总评成绩70%

一、基础题(本题40分)

1.标准SQL与SQLSERVER在什么地方不同,举出5个不同处(本题5分)

答:

(1)数据类型不同:

①NUMBER与NUMERIC;②DATE与DATETIME;

(2)语句格式不同:

③SQL有“交集intersect”和“差集minus”运算,SQLSERVER2000没有;  ④外连接命令格式不同;⑤修改表中“修改字段类型”命令格式不同。

 

2.判断下列关系模式最高属于第几范式,并解释原因(本题10分)

(1)R(A,B,C,D)F:

{B→C,AB→D};

解:

∵R的候选码为AB, 存在非主属性对码的部分函数依赖。

  ∴ R∈1NF。

 

(2)R(A,B,C,D)F:

{AB→C,B→D,D→B};

解:

∵R的候选码为AB或AD,不存在非主属性对码的部分或传递函数依赖

  ∴ R∈3NF。

 

(3)R(A,B,C,D)F:

{AB→C,CB→D}

解:

∵R的候选码为AB,不存在非主属性对码的部分函数依赖。

   但∵AB→CB,CB→D,故AB→D,存在非主属性对码的传递函数依赖。

  ∴ R∈2NF。

 

(4)R(A,B,C,D)F:

{AB→C,AB→D,C→D}

解:

∵R的候选码为AB,不存在非主属性对码的部分函数依赖。

   但∵AB→C,C→AB ,C→D,故AB→D,存在非主属性对码的传递函数依赖。

  ∴ R∈2NF。

 

(5)R(A,B,C,D)F:

{AB→C,C→B,C→D}

解:

∵R的候选码为AB或AC, 存在非主属性对码的部分函数依赖。

  ∴ R∈1NF。

 

3.解释下列名词(本题10分)

DBMS、DBS、DBA、范式、E-R图

(1)DBMS:

指对数据库进行管理的系统软件,是用户访问数据的接口,提供用户对数据进行定义和操作的各种命令,并能保证数据的安全性、完整性、多用户对数据的并发使用以及发生故障后的系统恢复。

(2)DBS:

指引入了数据库后的计算机应用系统,一般由数据库、数据库管理系统及其开发工具、应用系统、数据库管理员及用户等组成。

(3)DBA:

指负责设计、建立、管理和维护数据库以及协调用户对数据库要求的个人或工作团队。

(4)范式:

关系数据库(RDB)中的关系要满足一定的要求,满足不同程度要求的为不同范式。

(5)E-R图:

P.P.S.Chen于1976年提出的实体-联系方法(Entity-RelationshipApproach),该方法用E-R图来描述现实世界的概念模型。

二、设计题(本题20分)

根据自己所了解的情况,对学校“学生选课管理系统”、“学生专业选择管理系统”中某一系统设计相应的E-R图,并设计满足第三范式的数据库,并说明其设计过程。

M

班级

成绩

课程号

课程名

学分

课程

   选修

  姓名

  性别

年龄

学号

   学生

   上课

  姓名

  性别

职称

职工号

  老师

N

P

M

                                   

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

2.学生(学号,姓名,性别,班级,年龄)

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

4.老师(职工号,姓名,性别,职称)

5.上课(职工号,课程号)

 

  姓名

  性别

年龄

学号

班级

专业号

专业号

专业名称

学生

 

专业

   选专业

学号

M

1

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

2.学生(学号,姓名,性别,班级,年龄)

3.选专业(专业号,课程号) 

 

4.比较表、视图的异同(本题5分)

不同之处:

(1)表:

实际存在的表(实表),是实际存储的数据的逻辑表示。

         

(2)视图:

是由基本表或其他视图表导出的表,是为了数据查询方便、数据处理简便以及数据安全要求而设计的数据虚表,不对应实际存储的数据。

相同之处:

(1)逻辑结构相同,均为二维表结构,由一组命名字段和记录行组成;

         

(2)相关命令的写法一致。

 

5.比较SQLSERVER中企业管理器和查询分析器的异同(本题5分)。

不同之处:

(1)企业管理器是用于管理SQLServer对象的方便而实用的图形化工具,使用菜单直观操作完成相关任务;

         

(2)查询分析器是一个可以交互执行SQL语句和脚本的图形工具,它的主要功能是编辑、编译和执行T-SQL语句,并显示命令结果。

相同之处:

两者管理、操作的SQLServer对象和数据完全一致,

 

6.解释概念模型和逻辑模型,并比较它们的区别(本题5分)。

概念模型:

按用户观点对信息建模;一般用E-R图描述概念模型;

逻辑模型:

按计算机系统的观点对数据建模,是DBS中用于提供数据表示和操作手段的形式框架;一般用一系列关系模式描述逻辑模型。

1.已知有二个表,Student表的字段分别为NO,Name,Sex,Age,其字段表示学号、姓名、性别和年龄,成绩表B的字段分别为NO,A,B,C,其字段表示学号、A课程成绩、B课程成绩、C课程成绩,其中主键均为学号NO。

其数据录入顺序如下:

Student的数据

NO

Name

Sex

Age

0101

刘琳

20

0105

王刚

21

0102

李晓

22

0110

张明

NULL

0108

周冰

21

B的数据

NO

A

B

C

0110

90

78

NULL

0102

NULL

90

85

0105

85

85

68

0101

86

80

79

写出下列命令的结果。

(本题18分)

(1)select*fromstudent;

NO

Name

sex

Age

0101

0102

0105

0108

0110

刘琳

李晓

王刚

周冰

张明

20

22

21

21

NULL

 

(2)selectno,name,a,bfromstudent,bwherestudent.no=b.no;

服务器返回错误消息,no列名不明确。

 

(3)selectavg(a),avg(b),avg(c)fromB;

(无列名)

(无列名)

(无列名)

87

83

77

(4)  select*fromstudentorderbyage;

NO

Name

SEX

AGE

0110

0101

0105

0108

0102

张明

刘琳

王刚

周冰

李晓

NULL

20

21

21

22

 

(5)selectstudent.sex,sum(b.a),sum(b.b)fromstudent,bwherestudent.no=b.nogroupbystudent.sex;

SEX

(无列名)

(无列名)

175

86

163

170

 

(6)Selecta.no,a.name,a.sexfromstudenta,bwhere(a.age

NO

Name

SEX

0101

0101

0101

0101

刘琳

刘琳

刘琳

刘琳

2.用一条命令完成下列操作(本题22分)

在数据库中有下列5个表:

学生信息表S(SNO,SNAME,DNUM,AGE,SEX),其字段名分别表示学号、姓名、所属学院编号、年龄、性别。

教师信息表T(TNO,TNAME,DNUM,AGE,SEX),其字段名分别表示教师编号、姓名、所属学院编号、年龄、性别。

课程信息表C(CNO,CNAME,DNUM,PCNUM,TNO),其字段名分别表示课程编号、课程名称、所属学院编号、先修课程编号、授课教师编号。

学生选课及成绩表SC(SNO,CNO,GRADE),其字段名分别表示学号、课程编号、成绩。

学院信息表D(DNUM,DNAME,TEL),其字段名分别表示学院编号、学院名、电话。

写出下列操作的命令:

(1)检索王老师所授课程;

select*fromcwheretnoin(selecttnofromtwheretnamelike‘%王%’)

或:

selectc.*fromc,twherec.tno=t.tnoandt.tnamelike‘%王%’)

 

(2)检索没有选王老师或刘老师的课程的男同学的情况;

select*fromswheresex=’男’ andsnonotin(selectsnofromsc,cwhereo=oandtnoin(selecttnofromtwheretnamelike  ‘%王%’ortnamelike  ‘%刘%’))

(3)检索至少选修了二门课程的学生情况;

selectsc.sno,count(cno)froms,scwheres.sno=sc.snogroupbysc.snohavingcount(cno)>=2

 

(4)统计每个学生选修课程的门数(超过4门才统计),输出学生情况及选修门数,结果按门数的降序排列,若门数相同,则按学号升序排列;

selects.sno,count(cno)fromscgroupbysnohavingcount(cno)>=4orderbycount(cno)desc,sno

 

(5)检索学号比”刘玲”同学大,而年龄比她小的学生情况;

select*fr

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

当前位置:首页 > 总结汇报 > 其它

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

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