数据库复习题打印.docx

上传人:b****1 文档编号:2334861 上传时间:2023-05-03 格式:DOCX 页数:36 大小:538.43KB
下载 相关 举报
数据库复习题打印.docx_第1页
第1页 / 共36页
数据库复习题打印.docx_第2页
第2页 / 共36页
数据库复习题打印.docx_第3页
第3页 / 共36页
数据库复习题打印.docx_第4页
第4页 / 共36页
数据库复习题打印.docx_第5页
第5页 / 共36页
数据库复习题打印.docx_第6页
第6页 / 共36页
数据库复习题打印.docx_第7页
第7页 / 共36页
数据库复习题打印.docx_第8页
第8页 / 共36页
数据库复习题打印.docx_第9页
第9页 / 共36页
数据库复习题打印.docx_第10页
第10页 / 共36页
数据库复习题打印.docx_第11页
第11页 / 共36页
数据库复习题打印.docx_第12页
第12页 / 共36页
数据库复习题打印.docx_第13页
第13页 / 共36页
数据库复习题打印.docx_第14页
第14页 / 共36页
数据库复习题打印.docx_第15页
第15页 / 共36页
数据库复习题打印.docx_第16页
第16页 / 共36页
数据库复习题打印.docx_第17页
第17页 / 共36页
数据库复习题打印.docx_第18页
第18页 / 共36页
数据库复习题打印.docx_第19页
第19页 / 共36页
数据库复习题打印.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库复习题打印.docx

《数据库复习题打印.docx》由会员分享,可在线阅读,更多相关《数据库复习题打印.docx(36页珍藏版)》请在冰点文库上搜索。

数据库复习题打印.docx

数据库复习题打印

数据库系统原理期末考试样题

综合题

一、设文件F具有10000个记录,每个记录50字节,其中10字节用来表示文件的键值。

每个磁盘块大小1000字节,指向磁盘块的指针占5字节,不允许记录跨两个块。

(1).存放整个文件需要多少个磁盘块?

如果F是顺序文件,查找一个记录需要多少次磁盘I/O?

如果F无序,查找一个记录需要多少次磁盘I/O?

(9分)

(2).如果为文件F建立主索引,索引文件占用多少磁盘块?

利用这个主索引查询需要多少次磁盘I/O?

(6分)

综合题答案

一、答:

1.每个磁盘块能存放记录数:

1000/50=20个。

整个文件占用的磁盘块数:

10000个记录/20个每块=500块。

(3分)

如果F是顺序文件,查找一个记录需要的磁盘I/O数:

log2500=9块。

(3分)

如果F无序,查找一个记录需要的磁盘I/O数:

500/2=250块。

(3分)

2.每个磁盘块能存放记录数:

1000/50=20个。

整个文件占用的磁盘块数:

10000个记录/20个每块=500块。

因为主索引为稀疏索引,数据文件的每个磁盘块对应一个索引项,因此主索引共有500个索引项。

每个索引项存放一个键值指针对,共10+5=15字节。

每个磁盘块能存放索引项个数为1000/15=66个。

因此索引文件占用的磁盘块数为500/66=8块。

(3分)

利用主索引查询,需要读索引文件log28=3块,数据块1块,因此利用这个主索引查询某记录需要3+1=4次磁盘I/O。

(3分)

数据库系统概论期末复习题2

一、(每小题4分,共12分)

用SQL语言定义

1)学生关系S,包括学号SNo、姓名SN、年龄SA、系别SD;

2)课程关系C,包括课程号CNo、课程名CN、学分CC;

3)学生选课关系SC,包括SNo、CNo和成绩G。

注意:

说明主键码和外键码(如果有的话)。

二、(每小题4分,共12分)

按题1的关系模式,用SQL语言

1)对于学生选课关系SC,授予李小兰删除权限以及对SNo和CNo的修改权限;2)删除学号为"9900205”的学生;

3)从学生选课关系SC中,删除王云(学生关系中可能有重名)的所有选课。

三、(共6分)

结合题1的关系模式,用SQL语句查询每个学生的总成绩,输出学号和总成绩,输出时按总成绩排序(升序),若总成绩相同,再按学号排序(降序)。

四、(共6分)

按嵌入式SQL的格式插入任一个商品的商品号、商品名、价格。

五、(每小题4分,共8分)

有关工厂生产产品的数据库,涉及如下数据:

工厂号、工厂名称、地址;

产品号、产品名称、成本;

某工厂生产某产品的数量和日期。

1)设计E/R图;

2)转换成关系模型。

六、(每小题6分,共12分)

有关图书发行的关系模型如下:

书店S(书店号SNo,书店名SN,地址A)

图书B(书号BNo,书名T,作者N,价格P)

图书馆L(馆号LNo,馆名LN,城市C)

图书发行SBL(SNo,LNo,BNo,发行量Q)

分别用1)关系代数和2)SQL语言表达如下查询:

“上海图书馆”(馆名)收藏图书的书名和出售该书的书店名。

七、(每小题8分,共16分)

按题1的学生关系模式,找出不是既大于20岁又属于计算机系的学生。

1)用关系代数表达式表达查询;

2)用数据逻辑规则表达查询。

八、(每小题8分,共16分)

涉及到学生、教师和课程的关系模式STC(SNo,SN,SA,TN,CN,G),其中6个属性分别为学生的学号、姓名、年龄、教师的姓名、课程名以及学生的成绩。

假设学生有重名,课程名也可能有重名。

又假设每个教师只教一门课,但一门课可有几个教师开设。

当某个学生选定某门课后,其上课教师就固定了。

 1)写出键码和函数依赖;

2)分解关系模式使之属于BC范式。

九、(每小题6分,共12分)

电影数据库涉及如下数据:

电影类包括电影名、制作年份等属性;

演员类包括姓名、性别等属性;

每部电影都可能有多个演员出演,而每个演员都可能出演多部电影。

1)用ODL给出类的说明(包括范围名);

2)用0QL查询演员孙小华所出演电影的电影名。

答案

—、(每小题4分,共12分)

1)CREATETABLESI

SNoINTPRIMARYKEY,

 SNCHAR(30),

 SAINT,

 SDCHAR(20)

};

2)CREATETABLEC{

 CNoINTPRIMARYKEY,

 CNCHAR(20),

 CCINT

};

3)CREATETABLESC{

 SNoINT,

 CNoINT,

 GINT,

 PRIMARYKEY(SNo,CNo),

 FOREIGNKEY(SNo)REFERENCESS(SNo),

 FOREIGNKEY(CNo)REFERENCESC(CNo)

};

二、(每小题4分,共12分)

1)GRANTDELETE,UPDATE(SNo,CNo)ONSCTO李小兰;

2)DELETEFROMS

 WHERESno=9900205;

3)DELETEFROMSC

 WHERESNoIN

 (SELECTSNo

 FROMS

 WHERESN=‘王云’

 );

三、(共6分)

 SELECTSNo,SUM(G)

 FROMSC

 GROUPBYSNo

 ORDERBYSUM(G),SNoDESC

四、(共6分)

 1)说明:

EXECSQLBEGINDECLARESECTION;

 intpno;

 charpn[30];

 floatpp[1];

 charSQISTATE[6];

 EXECSQLENDDECLARESECTION;

 2)赋值:

pno:

=20010101;

 pn:

‘巧克力’;

 pp:

=5.00;

 3)插入:

EXECSQLINSERTINTOP

VALUES(:

pno,:

pn,:

pp);

五1)

2)工厂(工厂号,工厂名,地址)

 产品(产品号,产品名,单价)

生产(工厂号,产品号,数量,日期)

六、

(每小题6分,共12分)

2)SELECTT,SN

 FROML,SBL,B,S

 WHEREL.LNo=SBL.LNoANDSBL.BNo=B.BNo

 ANDSBL.SNo=S.SNo

 ANDL.LN=‘上海图书馆’

八、(每小题8分,共16分)

九、(每小题6分,共12分)

1)interfaceMovie

 (extentMovies)

{attributestring'title;

 attributeintegeryear;

 relationshipSetatcs

 inverseAct:

:

starredIn;

};

 intefaceAct

 (extentActs)

{attributestringname;

 attributecharsex;

 relationshipSet〈Movie〉starredIn

 inverseMovie:

:

acts;

};

2)SELECTm.title

 FROMActsa,a.starredInm

 WHEREa.name=‘孙小华’;

1.设有一个学生课程数据库,包括学生关系Student、课程关系Course、选修关系SC,图1所示:

 Student

ѧºÅ

Sno

ÐÕÃû

Sname

ÐÔ±ð

Ssex

ÄêÁä

Sage

ËùÔÚϵ

Sdept

95001

ÀîÓÂ

ÄÐ

20

CS

95002

Áõ³¿

Å®

19

IS

95003

ÍõÃô

Å®

18

MA

95004

ÕÅÁ¢

ÄÐ

19

IS

Course

¿Î³ÌºÅ

Cno

¿Î³ÌÃû

Cname

ÏÈÐпÎ

Cpno

ѧ·Ö

Ccredit

1

Êý¾Ý¿â

5

4

2

Êýѧ

 

2

3

ÐÅϢϵͳ

1

4

4

²Ù×÷ϵͳ

6

3

5

Êý¾Ý½á¹¹

7

4

6

Êý¾Ý´¦Àí

 

2

7

PASCALÓïÑÔ

6

4

 SC

ѧºÅ

Sno

¿Î³ÌºÅ

Cno

³É¼¨

Grade

95001

1

92

95001

2

85

95001

3

88

95002

2

90

95002

3

80

图1 学生-课程数据库

写出完成下列要求的SQL语句:

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

2)查询年龄不在20~23(包括20岁和23岁)之间的学生的姓名、系别和年龄。

3)查询每个学生及其选修课程的情况。

2.把下面用关系表示的实体、实体与实体之间的联系,用E-R图表示出来,要求在图中表示联系的类型(1∶1、1∶n、m∶n)。

实体1:

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

关键字为:

学号

实体2:

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

关键字为:

课程号

实体1与实体2的联系:

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

关键字为:

学号+课程号

注:

一个学生可以选多门课程,一门课程也可以被多个学生选,

学生选课后有成绩。

五、综合题(每小题10分,共20分)

1.1)selectSname,SagefromStudentwhereSage<20;或

selectSname,SagefromStudentwherenotSage>=20;

2)selectSname,Sdept,Sage

fromStudent

whereSagenotbetween20and23;

3)selectStudent.*,SC.*

fromStudent,SC

whereStudent.Sno=SC.Sno;

六、假设教学管理规定:

①一个学生可选修多门课,一门课有若干学生选修;

②一个教师可讲授多门课,一门课只有一个教师讲授;

③一个学生选修一门课,仅有一个成绩。

学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。

要求:

根据上述语义画出ER图,要求在图中画出实体的属性并注明联系的类型;

解答:

 

3、设有如下关系表R:

R(No,NAME,SEX,AGE,CLASS)

主关键字是NO

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。

写出实现下列功能的SQL语句。

①插入一个记录(25,“李明”,“男”,21,“95031”);。

②插入“95031”班学号为30、姓名为“郑和”的学生记录;。

③将学号为10的学生姓名改为“王华”;。

④将所有“95101”班号改为“95091”;。

⑤删除学号为20的学生记录;。

⑥删除姓“王”的学生记录;。

答案:

①INSERTINTORVALUES(25,“李明”,“男”,21,“95031”)

②INSERTINTOR(NO,NAME,CLASS)VALUES(30,“郑和”,“95031”)

③UPDATERSETNAME=“王华”WHERENO=10

④UPDATERSETCLASS=“95091”WHERECLASS=“95101”

⑤DELETEFROMRWHERENO=20

⑥DELETEFROMRWHERENAMELIKE“王%”

1、设学生课程数据库中有三个关系:

学生关系S(S#,SNAME,AGE,SEX)

学习关系SC(S#,C#,GRADE)

课程关系C(C#,CNAME)

其中S#、C#、SNAME、AGE、SEX、GRADE、CNAME分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。

用SQL语句表达下列操作

(1)检索选修课程名称为“MATHS”的学生的学号与姓名

(2)检索至少学习了课程号为“C1”和“C2”的学生的学号

(3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄

(4)检索平均成绩超过80分的学生学号和平均成绩

(5)检索选修了全部课程的学生姓名(6)检索选修了三门课以上的学生的姓名

答案

(1)SELECTSNAME,AGEFROMS,SC,CWHERES.S#=SC.S#

ANDC.C#=SC.C#ANDCNAME=’MATHS’

(2)SELECTS#FROMSCWHERECNO=’C1’ANDS#IN(SELECTS#

FROMSCWHERECNO=’C2’)

(3)SELECTS#,SNAME,AGEFROMSWHEREAGEBETWEEN18AND20

(4)SELECTS#,AVG(GRADE)‘平均成绩FROMSCGROUPBYS#HAVINGAVG(GRADE)>80

(5)SELECTSNAMEFROMSWHERENOTEXISTS

(SELECT*FROMCWHERENOTEXISTS

(SELECT*FROMSCWHERES#=S.S#ANDC#=C.C#))

(6)SELECTSNAMEFROMS,SCWHERES.S#=SC.S#GROUPBYSNAMEHAVINGCOUNT(*)>3

2、设学生-课程数据库中包括三个表:

学生表:

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

课程表:

Course(Cno,Cname,Ccredit)

学生选课表:

SC(Sno,Cno,Grade)

其中Sno、Sname、Sex、Sage、Sdept、Cno、Cname、Ccredit、Grade分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。

试用SQL语言完成下列项操作:

(1)查询选修课程包括“1042”号学生所学的课程的学生学号

(2)创建一个计科系学生信息视图S_CS_VIEW,包括Sno学号、Sname姓名、Sex性别;

(3)通过上面第2题创建的视图修改数据,把王平的名字改为王慧平

(4)创建一选修数据库课程信息的视图,视图名称为datascore_view,包含学号、姓名、成绩。

答案:

(1)SELECTDISTINCTSNOFROMSCSCXWHERENOTEXISTS

(SELECT*FROMSCSCYWHERESCY.SNO='1042'ANDNOTEXISTS

(SELECT*FROMSCSCZWHERESCZ.SNO=SCX.SNOANDSCZ.CNO=SCY.CNO));

(2)CREATEVIEWS_CS_VIEWASSELECTSNO,SNAME,SEXFROMSTUDENTWHERESdept=’CS’

(3)UPDATES_CS_VIEWSETSNAME=’王慧平’WHERESNAME=’王平’

(4)CREATEVIEWdatascore_viewASSELECTSNO学号、SNAME姓名、GRADE成绩

FROMSTUDENT,SC,COURSEWHERESTUDENT.SNO=SC.SNOANDCOURSE.CNO=SC.CNOANDCNAME=‘数据库’

1、平凡的函数依赖

在关系模式R(U)中,对于U的子集X和Y,

如果X→Y,但YÍX,则称X→Y是非平凡的函数依赖

2、非平凡的函数依赖

在关系模式R(U)中,对于U的子集X和Y,

若X→Y,但YÍX,则称X→Y是平凡的函数依赖

四、综合练习

1、已知学生关系模式

S(Sno,Sname,SD,Sdname,Course,Grade)

其中:

Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。

(1)写出关系模式S的基本函数依赖和主码。

(2)原关系模式S为几范式?

为什么?

分解成高一级范式,并说明为什么?

(3)将关系模式分解成3NF,并说明为什么?

(1)写出关系模式S的基本函数依赖和主码。

答:

关系模式S的基本函数依赖如下:

Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course)→Grade

关系模式S的码为:

(Sno,Course)。

(2)原关系模式S为几范式?

为什么?

分解成高一级范式,并说明为什么?

答:

原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。

消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:

S1(Sno,Sname,SD,Sdname)

S2(Sno,Course,Grade)

(3)将关系模式分解成3NF,并说明为什么?

答:

将上述关系模式分解成3NF如下:

关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。

进一步分解如下:

S11(Sno,Sname,SD)S12(SD,Sdname)

分解后的关系模式S11、S12满足3NF。

对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。

所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。

S11(Sno,Sname,SD)

S12(SD,Sdname)

S2(Sno,Course,Grade)

2、设有如下关系R:

(1)它为第几范式?

为什么?

(2)是否存在删除操作异常?

若存在,则说明是在什么情况下发生的?

(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?

(1)它为第几范式?

为什么?

解:

它是2NF。

因为R的候选关键字为“课程名”。

依赖关系:

课程名→教师名,教师名→课程名,教师名→教师地址,所以课程名→教师地址。

即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。

但:

因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。

(2)是否存在删除操作异常?

若存在,则说明是在什么情况下发生的?

解:

存在。

当删除某门课程时会删除不该删除的教师的有关信息。

(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?

解:

分解为高一级范式如图所示。

R1如下:

R2如下:

分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。

3、设某商业集团数据库中有一关系模式R如下:

R(商店编号,商品编号,数量,部门编号,负责人)

如果规定:

(1)每个商店的每种商品只的在一个部门销售;

(2)每个商店的每个部门只有一个负责人;(3)每个商店的每种商品只有一个库存数量。

试回答下列问题:

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

答:

关系模式S的基本函数依赖如下:

(商店编号,商品编号)→部门编号,(商店编号,部门编号)→负责人,(商店编号,商品编号)→数量

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

关系模式R的码为:

(商店编号,商品编号,部门编号)。

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

为什么?

答:

原关系模式R是属于1NF的,码为(商店编号,商品编号,部门编号),非主属性对码的函数依赖全为部分函数依赖,所以不属于2NF。

消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:

R1(商店编号,商品编号,部门编号,数量)

R2(商店编号,部门编号,负责人)

(4)如果R不属于3NF,请将R分解成3NF模式集。

答:

将R分解为

R1(商店编号,商品编号,部门编号,数量)

R2(商店编号,部门编号,负责人)

分解后的R不存在传递的函数依赖,所以分解后的R已经是第3NF。

5、请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:

读者

号,姓名,地址,性别,年龄,单位。

对每本书存有:

书号,书名,作者,出版社。

每本被借出的书存有读者号、借出日期和应还日期。

要求:

给出E一R图,再将其转换为关系模型。

答:

关系模型为:

读者(读者号,姓名,地址,性别书(书号,书名,作者,出版社)借书

(读者号,书号,借出日期,年龄,单位)应还日期)

 

综合题

•1、假设某商业集团数据库中有一关系模式R如下:

•R(商店编号,商品编号,数量,部门编号,负责人)

•如果规定:

(1)每个商店的每种商品只在一个部门销售;

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

•(3)每个商店的每种商品只有一个库存数量。

•试回答下列问题:

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

(商店编号,商品编号)→部门编号

(商店编号,商品编号)→数量

(商店编号,部门编号)→负责人

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

候选码(商店编号,商品编号)

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

为什么?

1NF,存在部分函数和传递函数依赖。

•(4)如果R不属于3NF,请将R分解成3NF模式集。

R1(商店编号,商品编号,商品库存数量,部门编号);R2(商店编号,负责人)

2、建立一个关于系、学生、班级、学会等诸信息的关系数据库。

•学生:

学号、姓名、出生年月、系名、班号、宿舍区。

•班级:

班号、专业名、系名、人数、入校年份。

•系:

系名、系号、系办公地点、人数。

•学会:

学会名、成立年份、办公地点、人数。

•语义如下:

一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。

一个系的学生住在同一宿舍区。

每个学生可参加若干学会,每个学会有若干学生。

学生参加某学会有一个入会年份。

•请给出关系模式,写出每个关系模式的极小函数依赖集,

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2