当前位置:文档之家› 数据库原理与应用作业及答案

数据库原理与应用作业及答案

数据库原理与应用作业参考答案第1章作业及参考答案1 解释如下概念:实体,属性,码,数据,DB,DBMS,DBS,DBA2 试述数据库系统的特点,并与之比较文件系统的缺点3 试述DBA的职责4 就你所知,用E-R图描述一个简单的应用系统(如学籍管理,物资收发存管理等)的概念模型。

答:1.DB:数据库,数据存储的”仓库”,在DBMS的集中管理下,有较高数据独立性,有较少冗余\相互间有联系的数据集合.DBS:包括数据库的计算机系统,包括计算机硬件、软件与人员,包含数据库,数据库管理系统,数据库应用系统等。

其它参见教材。

2.数据库系统主要包括面向全组织的数据库结构,有较好的数据与程序独立性,有较少的冗余,有完整的控制技术,最小存取单位是数据项等特点。

与之相对应的文件系统是:独立性不高,冗余大,无控制技术,最小存取单位为记录。

3.参见教材。

4.见电子教案例题,最好自己能描述一个。

第2章作业及参考答案1.名词解释码、关系、元组2.试用关系代数、QBE写出如下查询:(1)找出张三的学号与年龄(2)找出成绩>=90的学生学号与姓名(3)找出选修数据库的所有学生的学号、姓名、年龄及成绩表为:S(S#,SN,SA),C(C#,CN,ST),SC(S#,C#,G)参考解答:1.码,关系,元组:参见教材。

2 (1)ΠS#,SA(δSN=‘张三’(S) )(2)ΠS#,SN(S|ⅹ|δG>=90(SC ). QBE参见书(3) ΠS#,SN,SA,G(S|ⅹ|SC. |ⅹ|δCN>=’数据库’(C )), QBE参见书第3章作业及参考答案设有下列关系模式:S(sno,SN,AGE,SEX,dno),S表示学生,其中sno表示学号,SN表示姓名,AGE表示年龄,SEX表示性别,Dno表示学生所在系号,要求sno为主码,SEX为‘男’,‘女’或‘其它’;age在12到65之间.C(cno,CN),C表示课程,其中cno表示课程编号,CN表示课程名称,主码为cno;SC(sno,cno,GRADE),SC表示学生选课,其中sno为选课的学生学号,cno为学生所选课程编号,GRADE表示学生成绩,0到100;主码为sno,cno,外部码分别为sno,cno请用SQL语言完成下列操作:(1)创建上面三个基本表;(考虑关系的完整性)答:create table S(sno char(7) primary key,SN char(8),AGE number(2) check(age between 12 and 65),SEX char(4) check (sex in (‘男’,’女’,’其它’),dno char(3))create table c(cno char(3) primary key,cn varchar2(32))create table SC(sno char(7) references s.sno,cno char(3) references o,GRADE number(3) check(grade between 0 and 100),Primary key(sno,cno))(2)每个表插入二个值,体现完整性insert into s values(‘0203101’,’张三’,19,’男’,’D03’)insert into s values(‘0202102’,’李岚风’,18,’女’,’D02’)insert into c values(‘C01’,’数据库原理与编程’)insert into c values(‘C02’,’离散数学’)insert into sc values(‘0203101’,’C01’,92)insert into sc values(‘0203101’,’C02’,88)insert into sc values(‘0202102’,’C01’,52)insert into sc values(‘0202102’,’C02’,89)(3)完成以下查询:①检索选修了课程号为C1或C2课程,且成绩高于或等于70分的学生的姓名,课程名和成绩。

Select sn,cn,grade from s,c,scwhere s.sno=sc.sno and o=o and grade>=70 and (cno=’C1’ or cno=’C2’)②检索所有学生的姓名、所选课程的课程名和成绩,并且按课程号的升序和成绩的降序进行排列。

Select sn,cn,grade from s,c,scwhere s.sno=sc.sno and o=oorder by o,grade desc③检索选修了“C语言”课程的学生的姓名。

Select sn from swhere sno in (select sno from scwhere cno in (select cno from c where cn=’C语言’))④检索所有学生中年龄最大的学生的姓名及年龄。

Select sn,age from swhere age=(select max(age) from s)⑤求所有学生中年龄的最大值和最小值。

Select max(age),min(age) from s⑥求所有学生中女生的总人数。

Select count(*) from s where sex=’女’⑦求选课在四门以上的学生所选课程的学号与平均成绩(不统计不及格的课程), 按平均成绩降序列出.Select distinct avg(grade),sno from scwhere grade>=60Group by snoHaving count(cno)>4(4) 将成绩达到55分的改为及格60分update sc set grade=60 where grade>=55(5) 删除成绩为空的成绩记录并将相关的学生记录(只要有一门为空)转入到另一个表中(ST)create table st as select * from sc where grade is nulldelete from sc where grade is null(6) 将01系的学生记录查询与修改权授给用户zhang, liwenq; 将C01课程的所有成绩记录及相关选课的学生记录的查询权授给用户wacreate view s_01 as select * from s where dno=’01’create view sc_c01 as select grade,s.sno,s.sn,s.sex,s.age from sc,s where s.sno=sc.snogrant select ,update on s_01 to zhang, liwenqgrant select on sc_c01 to wa第4章作业及参考答案(1)查询优化的一般准则选择尽可能先做,投影与选择一起做,先做预处理(如索引),将联接与笛卡尔乘积尽可能最后做,对公共表达式进行处理等。

(2) 给出各类关系系统的定义:最小关系系统;关系上完备的系统;全关系系统参见教材。

第5章作业及参考答案(1)名词解释码,部分函数依赖,完全函数依赖参见教材(2)证明:关系模式R为BCNF,则R一定为3NF,也一定为2NF;反之则不然。

证明思路:假设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为BCNF,而R一定为2NF的证明,与上述证明类似。

(要用到2NF定义中的部分依赖, )如R不为2NF,则一定存在R的码x,非主属性y, x的真子集z, 有z->y.对于z->y 一定有y不包含在z中,因为y为非主属性,而z包含在码x中。

根据R为BCNF, z一定包含为R的码,这样一定有z->x,与x为码,z真包含在x中矛盾。

反之:举例s(sno,sn,sage,dno,dn)为2NF,而非BCNF;STJ(s,t,j)s:学生,t:教师,j:教室,{t->j, (s, j)->t },码为(s, t), (s, j), 全为主属性,是3NF, 但不是BCNF。

(3)已知关系模型R(A,B,C,D,E),满足的函数依赖集为:F={AB→C,D→E,BD →A,A→D}求:R所有的码R的最高范式答:码中一定含有B,码为:AB,BD因为码为BD,又D→E,E为非主属性,所以R不为2NF,即R的最高范式为1NF。

第6章作业及参考答案(1)简答:分步设计中各个步骤中的主要文档。

参见教材。

(2)为什么说,在进行系统设计时有“三分技术,七分管理,十二分基础数据”,试谈谈你的理解。

谈自己的想法即可,详见教材中需求分析的重要性,数据重要性,管理模式对系统成败与实施及运行效率的关键作用。

(3)试将一个ER图(如典型物资库存管理ER图)转化为关系模型(表及其关系)参见教材的典型ER图,将其转化为关系系统的表,同时体系关系(主键,外键)注意:实体为表,m:n联系一般为表。

1:1,1:n联系一般不为表。

相关主题