数据库原理与技术作业参考答案_第1页
数据库原理与技术作业参考答案_第2页
数据库原理与技术作业参考答案_第3页
数据库原理与技术作业参考答案_第4页
数据库原理与技术作业参考答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《数据库原理与技术》作业参考答案

第1章作业

(1)解释如下概念:

实体,属性,DB,DBMS,DBA

(2)试述数据库系统的特点,并与之比较文件系统的缺点

(3)试述DBA的职责

答:

(1)

实体:客观存在并且可以唯一区别的物体,可以是一个具体的事物,也可以是一个具

体的事件。

属性:实体的某一特性或特征。

DB:即数据库,存放数据的仓库,在DBMS的集中管理下,有较好的数据独立性,较

少的冗余,相互间有联系的文件集合。

DBMS:即数据库管理系统,是介于数据库与操作系统之间的用于管理数据库的管理软

件,主要包括的功能见书。

DBA:即数据库管理员,负责管理与维护数据库系统的人员

(2)数据库系统主要包括面向全组织的数据库结构,有较好的数据与程序独立性,有较

少的冗余,有完整的控制技术,最小存取单位是数据项等特点。与之相对应的文件系统是:

独立性不高,冗余大,无控制技术,最小存取单位为记录。

(3)DBA主要有4个职责,主要的职责见书。

第2章作业

(1)试用关系代数、QBE写出如下查询:

找出张三的学号与年龄

找出成绩>=90的学生学号与姓名

找出选修数据库的所有学生的学号、姓名、年龄及成绩

表为:S(S#,SN,SA),C(C#,CN,ST),SC(S#,C#,G)

参考解答:

1.码,关系,元组:参见教材。

2(1)%0鼠肉架三国))

3;SS

#NA

>张三P

.义

(2)n(S|X|6(SC).QBE参见书

S#.SN6>-9O

(3)n(S|X|SC.|X|6(C)),QBE参见书

S#.SN.SA.GCN>='整桶W'

第3章作业

设有下列关系模式:

S(sno,SN,AGE,SEX,dno),S表示学生,其中sno表示学号,SN表示姓名,AGE表示年龄,SEX

表示性别,Dno表示学生所在系号,要求sno为主码,SEX为,,男”,女或淇它age在12至U65之

间.

C(cno,CN),C表示课程,其中eno表示课程编号,CN表示课程名祢,主码为eno;

SC(sno,eno,GRADE),SC表示学生选课,其中sno为选课的学生学号,cn。为学生所选课程

编号,GRADE表示学生成绩,0到100;主码为sno,eno,外部码分别为sno,eno

请用SQL语言完成下列操作:

(1)创建上面三个基本表;(考虑关系的完整性)

(2)每个表插入二个值,体现完整性

(3)完成以下查询:

①检索选修了课程号为C1或C2课程,且成绩高于或等于70分的学生的姓名,课程

名和成绩。

②检索所有学生的姓名、所选课程的课程名和成绩,并且按课程号的升序和成绩的降序进

行排列。

③检索选修了“C语言”课程的学生的姓名。

@检索所有学生中年龄最大的学生的姓名及年龄。

⑤求所有学生中年龄的最大值和最小值。

⑥求所有学生中女生的总人数。

⑦求选课在四门以上的学生所选课程的学号与平均成绩(不统计不及格的课程),按平

均成绩降序列出.

(4)将成绩达到55分的改为及格60分

(5)删除成绩为空的成绩记录并将相关的学生记录(只要有一门为空)转入到另一个表中

(ST)

(6)将01系的学生记录授权给用户zhang,liwenq;将C01课程的所有成绩记录及相关选

课的学生记录授权给用户wa

答:

createtableS(snochar(7)primarykey,

SNchar(8),

AGEnumber(2)check(agebetween12and65),

SEXchar(4)check(sexin,"女"其它

"),dnochar(3))

createtablec(cnochar(3)primarykey,cnvarchar2(32))

createtableSC(snochar(7)referencess.sno,

enochar(3)referencesc.eno,

GRADEnumber(3)check(gradebetween0and100),

Primarykey(sno,cno)

)

(2)

insertinfosvaluesf,,0203101"7-M男"「HOT)

insertintosvalues(„0202102"李岚风",18「女

"/D02")

insertintocvalues(„C01"数据库原理与编程")

insertintocvalues(„C02"离散数学")

insertintosc

values(„020310rC01",92)insertinto

scvalues(„0203101";C02",88)

insertintosc

values(„0202102"C01",52)insertinto

scvalues(„0202102";C02",89)

(3)完成以下查询:

①Selectsn,cn,gradefroms,c,sc

wheres.sno=o=oandgrade>=70and(cno=<*Cl"orcno="C2B)

®Selectsn,cn,gradefroms,c,sc

wheres.sno=sc.snoando=o

orderbyc.eno,gradedesc

③Selectsnfroms

wheresnoin(selectsnofromsc

whereenoin(selectenofromcwherecn-'C语言"))

④Selectsn,agefroms

whereage=(selectmax(age)froms)

(5)Selectmax(age),min(age)froms

⑥Selectcount)*)fromswheresex=M女"

⑦Selectdistinctavg(grade),snofromsc

wheregrade>=60

Groupbysno

Havingcount(cno)>4

(4)

updatescsetgrade=60wheregrade>=55

(5)

createtablestasselect*fromscwheregradeisnull

deletefromscwheregradeisnull

(6)

createviews_Olasselect*fromswheredno=01

createviewsc_c01asselectgrade,s.sno,s.sn,s.sex,s.agefromsc,swheres.sno=sc.sno

grantselect,updateons_01tozhang,liwenq

grantselectonsc_cO1towa

第4章作业

现有如下表,new_class(专业号,班号,人数)

值如(il,1,36),01,6,32),(i2,9,32),(pl,3,30)等.

编写程序(过程),实现如下要求:

产生下列学号,并插入到stud_no(no)中,

学号值如11041014-11041364,i2049014Tl049324,pl043014~pl043304等,其中第1,2位

为专业号,第3,4位为学年(可固定为04,也可随着年度不同而不同),第5位为班号,第6,7位为

序号(从01至班级人数),第8位为尾号,,4(固定).

提示:使用游标

答:首先建表:

createtablenew_student_class(specialty_codechar(2),

class_numberchar(l),student_numbernumber(2));

插入数据:

insertintonew_student_classvalues('ir,l,36);

insertintonew_student_classvalues('ir,6,32);

insertintonew_student_classvalues('i2',9,32);

insertintonew_student_classvalues('pr,3,30);

建立过程:

createorreplaceprocedurestud_no_create(s_yearinchar)/*s_year为学年*/

is

sp_codeCHAR(2);

cl_numCHAR(l);

st_numnumber(2);

jnumber(4);

spec_codechar(2):=ia;

CURSORc_Student_noIS

SELECTspecialty_code,c^ass_number,student_number

FROMnew_student_class

orderbyspecialty_code,class.number;

BEGIN

/*cursorprocessing.*/

OPENc_Student_no;

J:=0;

LOOP

-Retreiveonerow.

FETCHc_Student_noINTOsp_code,cl_num,st_num;

Ifspec_code<>sp_codethen

J:=0;

Spec_code:=sp_code;

Endif;

—Exittheloopafterallrowshavebeenretreived.

EXITWHENc_Student_no%NOTFOUND;

ForIin1..st_numloop

J:=j+1;

Ifi<10then

INSERTINTOstudent_no(no,sno)

selectj,sp_code||s_year||cl_num||0||to_char(i)||4fromdual;

Else

INSERTINTOstudent_no(no,sno)

Selectj,sp_code||s_year||cl_num||to_char(i)114fromdual;

Endif;

ENDLOOP;

ENDLOOP;

CLOSEc_Student_no;

END;

第5章作业

(1)查询优化的一般准则

(2)给出各类关系系统的定义:最小关系系统;关系上完备的系统;

答:

(1)选择尽可能先做,投影与选择一起做,先做预处理(如索引),将联接与笛卡尔

乘积尽可能最后做,对公共表达式进行处理等。

(2)最小关系系统:支持表结构,而且只有表这种结构;支持选择投影联接等关系运

算,而且不依赖任何物理路径。

关系上完备的系统或称完备式关系系统,在最小关系系统的基础上,增加了对关系中

的集合运算操作如并交差等操作即关系操作完备性。

第6章作业

(1)名词解释

码,部分函数依赖,传递函数依赖

(2)证明:

关系模式R为BCNF,则R一定为3NF,也一定为2NF;反之则不然。

(3)已知关系模型R(A,B,C,D,E),满足的函数依赖集为,F={AB-*C,D-E,

BD-A,A-*D}

求:R所有的码

R的最高范式

答:

(1)参见教材

(2)证明思路:假设R为BCNF,而R不为3NF,

则按3NF定义,一定存在R的码x,非主属性y,属性z,

有x->z,z->y,非z->x,y不包含在z中。

对于函数依赖z->y,因为y不包含在z中,

而R为BCNF,按BCNF定义,则z一定包含R的码,这样一定有z->x,矛盾。

所以假设R为BCNF,而R一定为3NF

对于设R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论