《数据库技术及应用》部分习题解答.doc

上传人:wj 文档编号:4841518 上传时间:2023-05-07 格式:DOC 页数:14 大小:246.50KB
下载 相关 举报
《数据库技术及应用》部分习题解答.doc_第1页
第1页 / 共14页
《数据库技术及应用》部分习题解答.doc_第2页
第2页 / 共14页
《数据库技术及应用》部分习题解答.doc_第3页
第3页 / 共14页
《数据库技术及应用》部分习题解答.doc_第4页
第4页 / 共14页
《数据库技术及应用》部分习题解答.doc_第5页
第5页 / 共14页
《数据库技术及应用》部分习题解答.doc_第6页
第6页 / 共14页
《数据库技术及应用》部分习题解答.doc_第7页
第7页 / 共14页
《数据库技术及应用》部分习题解答.doc_第8页
第8页 / 共14页
《数据库技术及应用》部分习题解答.doc_第9页
第9页 / 共14页
《数据库技术及应用》部分习题解答.doc_第10页
第10页 / 共14页
《数据库技术及应用》部分习题解答.doc_第11页
第11页 / 共14页
《数据库技术及应用》部分习题解答.doc_第12页
第12页 / 共14页
《数据库技术及应用》部分习题解答.doc_第13页
第13页 / 共14页
《数据库技术及应用》部分习题解答.doc_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《数据库技术及应用》部分习题解答.doc

《《数据库技术及应用》部分习题解答.doc》由会员分享,可在线阅读,更多相关《《数据库技术及应用》部分习题解答.doc(14页珍藏版)》请在冰点文库上搜索。

《数据库技术及应用》部分习题解答.doc

第1章部分习题解答

一.填空题

1.数据模型通常由(数据结构)、(数据操作)和(数据完整性约束)三要素组成。

2.数据模型通常分(层次)、(网络)、(关系)和(面向对象)是四种。

3.数据操作描述的是系统的动态特性,主要分为(检索)和(更新)两大类,共包括(查询)、(插入)、(删除)和(修改)4种操作。

4.关系数据库系统是以(关系模型)为基础的数据库系统。

5.从数据库管理系统的角度划分数据库系统的体系结构,可分为(外模式)、(模式)和(内模式)三层。

6.有了外模式/模式映象可以保证数据和应用程序之间的(逻辑独立性);有了模式/内模式映象,可以保证数据和应用程序之间的(物理独立性)。

7.数据库管理系统主要由(数据描述语言及其翻译程序)、(数据操纵/查询语言及其翻译程序)和(数据库管理例行程序)三部分组成。

8.数据库管理系统在三层结构之间提供的两层映象是(外模式/模式映象)和(模式/内模式映象)。

9.当前数据库系统的主流是(关系数据库系统)。

10.在E-R图中,实体集用(矩形)表示,实体集和联系的属性用(椭圆形)表示,实体之间的联系用(菱形)表示,联系与其涉及的实体集之间以直线连接,并在直线端部标上联系的种类(1:

1,1:

n,m:

n)。

11.房屋租赁公司利用数据库记录房主的房屋和公司职员的信息。

其中房屋信息包括房屋编号、地址、面积、朝向、租金价格。

职员的信息包括员工编号、姓名、联系的客户、约定客户见面时间、约定客户看房的编号。

房屋租赁公司的E-R图如下图2.1l所示:

图2.1l房屋租赁公司的E-R图

在括号中填人正确的答案。

A:

(房屋)B:

(带客户看房)C:

(职员)D:

(地址)E:

(租金价格)F:

(联系的客户)

G:

(约定客户见面时间)H:

(约定客户看房的编号)

二.选择题

1.(B)是按照一定的数据模型组织的,长期储存在计算机内,可为多个用户共享的数据的聚集。

A.数据库系统B.数据库C.关系数据库D。

数据库管理系统

2.数据库系统的基础是(D)。

A.数据结构B.数据库管理系统C.操作系统D.数据模型

3.(C)处于数据库系统的核心位置。

A.数据字典B.数据库C.数据库管理系统D.数据库管理员

4.有了模式/内模式映象,可以保证数据和应用程序之间的(B)。

A.逻辑独立性B.物理独立性C.数据一致性D.数据安全性

5.(A)是数据库中全部数据的逻辑结构和特征的描述。

A.模式B.外模式C.内模式D.存储模式

6.(C)是数据库物理结构和存储方式的描述。

A.模式B.外模式C.内模式D.概念模式

7.(B)是用户可以看见和使用的局部数据的逻辑结构和特征的描述。

A.模式B.外模式C.内模式D.概念模式

三.问答题

8.请为计算机经销商设计一个数据库,要求包括生产厂商和产品的信息。

生产厂商的信息包括名称、地址、电话等;产品的信息包括生产厂商、品牌、型号、价格等。

试用E-R图来描述这个数据库,注意要为所有的属性和联系选择适当的类型,并且指出每个实体集的键码。

9.假如习题8的数据库加入顾客的信息,包括姓名、地址、电话、身份证号等等,试修改数据库,把修改或增加的部分用E-R图分别加以描述。

[解答]第8题和第9题的E-R图

10.设计一个适合大学选课的数据库。

该数据库应包括学生、系、教师、课程,哪个学生选了哪门课,哪个教师教哪门课,学生的成绩,一个系提供哪些课程等信息。

请用E-R模型进行描述,注意为属性和联系选择适当的类型,并指出每个实体集的键码。

第2章部分习题解答

二.问答题

1.已知关系R和关系S,求下列运算结果。

[解答]

P

Q

R.T

R.Y

S.T

S.Y

B

7

g

e

f

c

d

m

7

g

e

f

c

d

n

7

g

e

f

e

f

n

7

g

c

d

c

d

m

7

g

c

d

c

d

n

7

g

c

d

e

f

n

P

Q

B

2

b

m

2

b

n

9

z

n

7

g

n

7

g

m

P

Q

2

b

7

g

2.设两个关系模型为:

S(S#,Name,Sex,Age),SC(S#,C#,Grade),用关系代数语言实现下列操作(假设每门课都有人选)。

[解答]

(l)求课程不及格学生的课号、姓名及成绩;

(2)求学习全部课程的所有学生姓名;

(3)求’01’号课成绩大于80分的所有男生的姓名。

3.已知四个关系模式:

学生(学号,姓名,年级,专业)、选课(学号,课号,成绩)、

课程(课号,课名,学时数)、必修课(课号,必修专业),请用关系代数实现下列操作:

[解答]

(1)给出学习全部课程的学生名单;

(2)将学号为’S45’的同学的’C6’课程的成绩改为90分。

4、设有三个关系:

S(S#,SNAME,AGE,SEX),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER),试用关系代数表达式表示下列查询语句:

[解答]

(1)检索LIU老师所授课程的课程号、课程名。

(2)检索年龄大于23岁的男学生的学号与姓名。

(3)检索学号为”S1”学生所学课程的课程名与任课教师名。

(4)检索至少选修LIU老师所授课程中一门课的女学生姓名。

(5)检索WANG同学不学的课程的课程号。

(6)检索至少选修两门课程的学生学号。

(7)检索全部学生都选修的课程的课程号与课程名。

(8)检索选修课程包含LIU老师所授课程的学生学号。

5、在第4题的教学数据库S、SC、C中,用户有一查询语句“检索女同学选修课程的课程名和任课教师名”,请完成:

[解答]

(1)试写出该查询的关系代数表达式。

(2)画出该查询初始的关系代数表达式的语法树。

(3)使用优化算法,对语法树进行优化,并画出优化后的语法树。

(4)写出查询优化的关系代数表达式。

6、对某个教学数据库

S(SNO,SNAME,SAGE,SEX)

C(CNO,CNAME,HOURS)

SC(SNO,CNO,GRADE)

有如下关系代数查询:

请你给出一个较优的关系代数表达式。

[解答]

7.已知四个关系模式:

学生(学号,姓名,年级,专业),选课(学号,课号,成绩),

课程(课号,课名,学时数),必修课(课号,必修专业),假如有一关系代数查询为:

要求:

(1)写出上述查询块的含义;

(2)写出较优的等价关系代数表达式;

(3)假设学生关系有1000个元组,选课关系有10000个元组,其中选修”C1”课程的记录有20个,在内存中可容纳两个数据块进行计算,每个数据块可容纳10个学生记录,或者100个选课记录,或者10个学生×选课记录。

计算机每秒可读或写40个数据块,并忽略内存处理时间,试计算这种算法执行查询的总时间。

[解答]

(1)查询选修了‘C1’课程的学生的学号、姓名和成绩;

(2)

(3)在该算法中先进行选择运算,然后再进行自然连接和投影运算,其花费时间计算如下:

a)计算选择的时间

对选课表作选择运算,只需读一遍选课表,存取100块花费时间为100÷40=2.5(秒)。

因为满足条件的元组仅20个,可直接放在内存中。

b)计算自然连接的时间

读取学生表,把读入的学生元组和内存中的SC元组作连接,也只需读一遍学生表,存取100块花费时间为100÷40=2.5(秒)。

自然连接后的结果元组可全部放入内存中。

c)计算投影在内存中进行,时间忽略不计。

算法执行查询的总时间为:

2.5十2.5=5(秒)

第3章部分习题解答

二.问答题

1.设两个关系模式为:

S(sno,name,sex,age)、SC(sno,cno,grade),请用SQL语言实现下列操作(假设每门课都有人选):

(l)求“01”号课成绩大于80分的所有男生的姓名;

Selectname

FromS,SC

WhereS.sno=SC.snoandcno=’01’andgrade>80andsex=’男’;

(2)求至少选修“01”和“03”两门课的学生信息;

SelectS.*fromS

Wheresnoin

(selectsnofromSC

Wherecno=’01’andsnoin

(selectsnofromSC

Wherecno=’03’));

(3)建立一个新关系模式TSCC(sno,name,avggrade),并将学生的平均成绩存入该关系中;

Selectsno,name,avg(grade)asavggrade

IntoTSCC

FromS,SC

WhereS.sno=SC.sno

GroupbyS.sno,name

(4)求学习全部课程的所有学生姓名。

Selectsno,name

FromS,SC

WhereS.sno=SC.sno

GroupbyS.sno,namehavingcount(*)=(selectcount(distinctcno)

FromSC);

(5)求课程不及格学生的课号、姓名及成绩。

Selectcno,name,grade

FromS,SC

WhereS.sno=SC.snoandgrade<60;

2.已知四个关系模式:

学生(学号,姓名,年级,专业)、选课(学号,课号,成绩)、

课程(课号,课名,学时数)、必修课(课号,必修专业),请用SQL语言完成下列操作:

(1)列出选修“数据库原理”的学生名单;

Select姓名From学生,选课,课程

Where学生.学号=选课.学号and选课.课号=课程.课号and课名=’数据库原理’;

(2)将学生的学号、姓名及他的平均成绩定义为一个视图;

CreateviewPJCJ(学号,姓名,平均成绩)

AsSelect学号,姓名,avg(成绩)

From学生,选课

Where学生.学号=选课.学号

Groupby学生.学号,姓名;

(3)由

(2)建立的视图是否可更新?

请说明理由。

(2)建立的视图不可更新。

因为在一般情况下,只有行列子集视图才能更新,而由

(2)建立的视图不仅用到分组,而且还有avg函数,所以不能更新。

3、设有三个关系:

S(S#,SNAME,AGE,SEX),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER),试用SQL语言完成下列查询语句:

(1)检索LIU老师所授课程的课程号、课程名。

SelectC#,CNAME

FromC

WhereTEACHER=’LIU%’;

(2)检索年龄大于23岁的男学生的学号与姓名。

SelectS#,SNAME

FromS

WhereAGE>23andSEX=’男’;

(3)检索学号为’S1’学生所学课程的课程名与任课教师名。

SelectCNAME,TEACHER

FromSC,C

WhereSC.C#=C.C#andS#=’S1’;

(4)检索至少选修LIU老师所授课程中一门课的女学生姓名。

SelectSNAME

FromS,SC,C

WhereS.S#=SC.S#andSC.C#=C.C#andTEACHER=’LIU%’andSEX=’女’;

(5)检索WANG同学不学的课程的课程号。

(SelectC#

fromC

whereC#notin

(selectC#

FromS,SC

WhereS.S#=SC.S#andSNAME=’WANG%’);

(6)检索至少选修两门课程的学生学号。

SelectS#

FromSC

GroupbyS#havingcount(*)>=2;

*(7)检索全部学生都选修的课程的课程号与课程名。

[解法1]selectSC.C#,CNAME

FromS,SC,C

WhereS.S#=SC.S#andSC.C#=C.C#

GroupbySC.C#,CNAMEhavingcount(*)=

(selectcount(*)fromS);

[解法2]用p表示谓词:

学生y选修了课程x,上述题意可形式化表示如下。

意即:

没有一个学生y是不选修课程x。

SelectC#,CNAME

FromC

Wherenotexists

(select*

FromS

Wherenotexists

(select*

FromSC

WhereS#=S.S#andC#=C.C#));

*(8)检索选修课程包含LIU老师所授课程的学生学号。

查询学号为x的学生,对任一课程y,只要老师’LIU’讲授了课程y,则学生x也选修了课程y。

假设:

若用p表示谓词“老师’LIU’讲授了课程y”,用q表示谓词“学生x选修了课程y”,则上述题意可形式化表示如下:

意即:

不存在这样的课程y,老师’LIU’讲授了课程y,而学生x没有选修课程y。

SelectS#

FromSCSCX

Wherenotexists

(select*

FromCCY

WhereTEACHER=’LIU’andnotexists

(select*

FromSCSCZ

WhereCY.C#=SCZ.C#andSCZ.S#=SCX.S#));

4.今有两个关系模式:

学生(学号,姓名,性别,出生日期)、选修课程(学号,课号,成绩),请用SQL中的GRANT和REVOKE语句,完成以下授权定义或存取控制功能:

(1)用户王明对两个表有SELECT权力;

GrantSELECTon学生,选修课程to王明;

(2)用户刘刚对两个表有INSERT和DELETE权力;

GrantINSERT,DELETEon学生,选修课程to刘刚;

(3)用户金星对选修课表有SELECT权力,对学生表有更新姓名字段的权力;

GrantSELECTon选修课程,UPDATEon学生(姓名)to金星;

(4)用户周平具有对两个表的所有权力,并具有给其他用户授权的权力;

GrantALLon学生,选修课程to周平withgrantoption;

(5)对于上述每种授权情况,撤销为用户所授予的权力。

RevokeSELECTon学生,选修课程from王明;

RevokeINSERT,DELETEon学生,选修课程from刘刚;

RevokeSELECTon选修课程,UPDATEon学生(姓名)from金星;

RevokeALLon学生,选修课程from周平;

第4章部分习题解答

2、在自己的计算机上练习安装SQLServer2000数据库管理系统。

(实践练习题)

第5章部分习题解答

1、利用企业管理器创建teaching数据库和三个数据库表student、course和student_course。

(实践练习题)

2、利用查询分析器对第3章的相关习题进行验证。

(实践练习题)

第6章部分习题解答

二.问答题

1.设有关系模式R(A,B,C,D,E),F={AB→C,B→D,D→E,C→B},要求:

(l)通过闭包的计算来求出R的所有键码,并说明该模式是哪一类范式?

单属性:

A+=A,B+=BDE,C+=BCDE,D+=DE,E+=E

双属性:

AB+=ABCDE,AC+=ABCDE,AD+=ADE,AE+=AE,BC+=BCDE,

BD+=BDE,BE+=BDE,CD+=BCDE,CE+=BCDE,DE+=DE

三属性:

ABC+=ABCDE,BCD+=BCDE,CDE+=BCDE,ADE+=ADE,ABE+=ABCDE,

ABD+=ABCDE,BCE+=BCDE,ACD+=ABCDE,BDE+=BDE,ACE+=ABCDE

四属性:

ABCD+=ABCDE,BCDE+=BCDE,ACDE+=ABCDE,ABDE+=ABCDE,ABCE+=ABCDE

五属性:

ABCDE+=ABCDE

R的所有键码是:

AB,AC。

注:

R的所有超键码是:

ABC、ABE、ABD、ACD、ACE、ABCD、ACDE、ABDE、ABCE、ABCDE。

若选AB为主键码,由于D是部分函数依赖于AB,故RÎ1NF。

(2)R分解为R1(A,B,C)和R2(B,D,E),请问该分解是否保持函数依赖?

R1的键码为AB和AC,F1={AB→C,C→B};R2的键码为B,F2={B→D,D→E}。

因为F=F1∪F2,所以该分解保持函数依赖。

(3)指出R1和R2的范式等级,并给出证明。

因为R1没有非主属性,所以也不可能存在非主属性对键码的部分函数依赖和传递函数依赖,即:

R1Î3NF。

又由于F1中有违例C→B,故R1ÏBCNF。

因为D和E完全函数依赖于B,故R2Î2NF。

又由于E传递函数依赖于B,故R2Ï3NF。

(4)可否将R1和R2分解成若干个BCNF范式?

写出分解结果。

根据模式分解的方法,可以将R1和R2分解成若干个BCNF范式,其具体的分解结果如下:

将R1分解为:

R11(A,C)ÎBCNF,R12(B,C)ÎBCNF;

将R2分解为:

R21(B,D)ÎBCNF,R22(D,E)ÎBCNF。

3.已知一关系模式:

借阅(借书证号,姓名,所在系,书号,借书日期),要求:

(l)请给出你认为合理的数据依赖;

F={借书证号®姓名,借书证号®所在系,(借书证号,书号)®借书日期}

借阅关系的键码为:

(借书证号,书号)。

(2)该模式是第几范式?

请证明;

由于姓名部分函数依赖于(借书证号,书号),故借阅Ï2NF,显然借阅Î1NF。

(3)将它分解成3NF的关系模式。

根据模式分解的方法,可将借阅关系分解为:

R1(借书证号,姓名,所在系)Î3NF,R2(借书证号,书号,借书日期)Î3NF。

第7章部分习题解答

二.问答题

1.试把第1章习题三中的第8、9题的E-R图转换为关系模型。

[解答]第1章习题三中的第8、9题的E-R图如下:

转换后的关系模型(一组关系模式)如下:

生产厂商(名称、地址、电话),产品(品牌、型号、价格、生产商),顾客(身份证号、姓名、地址、电话),生产(名称,品牌、型号,数量1),购买(身份证号,品牌、型号,数量2)

2.对于第1题你设计关系模型中的每个关系模式,请用规范化理论来分析它们属于第几范式?

这些关系模式会产生什么更新异常吗?

在生产厂商中,键码是名称,F={名称→地址,名称→电话}。

根据模式分解的方法,可以判断出:

生产厂商ÎBCNF。

同理,产品ÎBCNF,顾客ÎBCNF,生产ÎBCNF,购买ÎBCNF。

生产厂商(名称、地址、电话)和顾客(身份证号、姓名、地址、电话)二个关系本身不会产生更新异常。

但产品(品牌、型号、价格、生产商)、生产(名称,品牌、型号,数量1)和购买(身份证号,品牌、型号,数量2)三个关系中的外键码若违反引用完整性的话,则就有可能产生更新异常。

第8章部分习题解答

三.应用题

1、参考本章资料室图书借阅管理系统的分析和设计过程,分析并设计一个高校人事管理系统,具备人员入校(毕业分配、调入等)、出校(调出、退休等)、基本情况查询和报表打印等功能。

此题可结合实验七和实验八(数据库综合设计练习)分组合作进行。

14

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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