浙大远程教育数据库系统概论离线作业答案文档格式.docx
《浙大远程教育数据库系统概论离线作业答案文档格式.docx》由会员分享,可在线阅读,更多相关《浙大远程教育数据库系统概论离线作业答案文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
科室编号
科室名
职工号
姓名
研究方向
职工
实例3:
行政区域层次模型
国家
自治区
省
直辖市
市
第二章习题
5、答:
关系模型的完整性规则是对关系的某种约束条件。
关系模型中有三类完整性约束:
实体完整性、参照完整性和用户自定义完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称做是关系的两个不变性,应该由关系系统自动支持。
(1)实体完整性规则:
若属性A是基本关系R的主属性,则属性A不能取空值。
(2)参照完整性规则:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
1)空值(F的每个属性值均为空值);
2)等于S中某个元组的主码值。
(3)用户自定义的完整性是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求。
在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。
例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空,其语义是,该学生的专业尚未确定。
即属性”专业号”本身不是主属性,则可以取空值,否则不能取空值。
学生(学号,姓名,性别,专业号,年龄)
专业(专业号,专业名)
在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是"
课程"
表的主属性,所以不能为空,因为关系模型必须满足实体完整性。
课程(课程号,课程名,学分)
选修(学号,课程号,成绩)
(1)
关系代数:
ALPHA语言:
GETW(SPJ.SNO):
SPJ.JNO=’J1’
QBE语言:
SPJ
SNO
PNO
JNO
QTY
P.S1
J1
(2)
SPJ.JNO=’J1’∧SPJ.PNO=’P1’
P1
(3)
关系代数:
注:
是连在一起的,表示连接
P
PNAME
COLOR
WEIGHT
红
(4)
ALPHA语言:
S
SNAME
STATUS
CITY
S1
天津
P.J1
(5)
第三章习题
4、答:
a.建立四个表:
建立S表:
S(SNO,SNAME,STATUS,CITY)
CREATETABLES
(SNOCHAR(3),
SNAMECHAR(10),
STATUSCHAR
(2),
CITYCHAR(10));
建立P表:
P(PNO,PNAME,COLOR,WEIGHT0
CREATETABLEP
(PNOCHAR(3),
PNAMECHAR(10),
COLORCHAR(4),
WEIGHTINT);
建立J表:
J(JNO,JNAME,CITY);
CREATETABLEJ
(JNOCHAR(3),
JNAMECHAR(10),
CITYCHAR(10));
建立SPJ表:
SPJ(SNO,PNO,JNO,QTY);
CREATETABLESPJ
(SNOCHAR(3),
PNOCHAR(3),
JNOCHAR(3),
QTYINT));
b.查询:
(1)求供应工程J1
零件的供应商号码
SNO
SELECTDISTINCTSNOFROMSPJWHEREJNO='
J1'
(2)求供应工程J1零件
Pl
的供应商号码
SELECTDISTINCTSNO
FROMSPJ
WHEREJNO='
ANDPNO='
P1'
(3)求供应工程
J1零件为红色的供应商号码
FROMSPJ,P
ANDSPJ.PNO=P.PNOANDCOLOR='
红'
(4)求没有使用天津供应商生产的红色零件的工程号JNO;
SELECTJNO
FROMJ
WHERENOTEXISTS
(SELECT*
FROMSPJ
WHERESPJ.JNO=J.JNO
ANDSNOIN
(SELECTSNO
FROMS
WHERECITY=’天津’)
ANDPNOIN
(SELECTPNO
FROMP
WHERECOLOR=’红’));
(5)求至少用了供应商Sl所供应的全部零件的工程号JNO
SELECTDISTINCTJNO
FROMSPJSPJZ
FROMSPJSPJX
WHERESNO=’J1’
ANDNOTEXISTS
(SELECT*
FROMSPJSPJY
WHERESPJY.PNO=SPJX.PNO
ANDSPJY.JNO=SPJZ.JNO));
SELECTSNAME,CITY
FROMS;
SELECTPNAME,COLOR,WEIGHT
FROMP;
WHERESNO=’S1’;
SELECTP.PNAME,SPJ.QTY
FROMP,SPJ
WHEREP.PNO=SPJ.PNOANDSPJ.JNO=’J2’;
SELECTDISTINCTPNO
WHERESNOIN
(SELECTSNO
WHERECITY=’上海’);
(6)
SELECTJNAME
FROMJ,SPJ,S
WHEREJ.JNO=SPJ.JNO
ANDSPJ.SNO=S.SNO
ANDS.CITY=’上海’;
(7)
FROMJ
WHERENOTEXISITS
FROMSPJ,S
WHEREJ.JNO=SPJ.JNO
ANDS.CITY=’天津);
;
(8)
UPDATEP
SETCOLOR=’蓝’
WHERECLOOR=’红’;
(9)
UPDATESPJ
SETSNO=’S3’
WHERESNO=’S5’
ANDJNO=’J4’
ANDPNO=’P6’;
(10)
DELETE
WHERESNO=’S2’;
DELETE
FROMS
(11)
INSERTINTOSPJ(SNO,JNO,PNO,QTY)
VALUES(S2,J6,P4,200);
9、答:
CREATEVIEWV_SPJAS
SELECTSNO,PNO,QTY
WHEREJNO=
(SELECTJNO
WHEREJNAME=’三建’);
(1)SELECTPNO,QTY
FROMV_SPJ;
(2)SELECTPNO,QTY
FROMV_SPJ
第四章习题
3、答:
(1)信息安全标准的发展历史,如下图:
1993年加拿大可信计算机产品
评估准则
(CTCPEC)
1991年欧洲信息技术安全评估准则(ITSEC)
1993年
美国信息技术
安全联邦标准(FC)草案
1985年美国国防部可信计算机系统评估准则(TCSEC)
通用准则
(CC)
V1.01996年
V2.01998年
V2.11999年
1999年CCV2.1
成为国际标准
(ISO15408)
TCSEC是1985年美国国防部正式颁布的《DoD可信计算机系统评估准则》。
CC通用准则V2.1版于1999年被ISO纳为国际标准,2001年我国采用其为国家标准。
目前CC已经基本取代了TCSEC,成为评估信息产品安全性的主要标准。
TCSEC/TDI标准将TCSEC扩展到数据库管理系统,TCSEC/TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准,从安全策略、责任、保证和文档4各方面来描述安全性级别划分的标准。
CC提出了目前国际上公认的表述信息技术安全性的结构,即把对信息产品的安全要求分为安全功能要求和安全保证要求。
安全功能要求用以规范产品和系统的安全行为,安全保证要求解决如何正确有效地实施这些功能。
(2)CC评估保证级划分如下:
7、答:
GRAINTSELECT
ON职工,部门
TO王明;
GRAINTINSERT,DELETE
TO李勇;
ON职工
WHENUSER()=NAME
TOALL;
GRAINTSELECT,UPDATE(工资)
TO刘星;
GRAINTALTERTABLE
TO张新;
GRAINTALLPRIVILIGES
TO周平
WITHGRANTOPTION;
CREATEVIEW部门工资
AS
SELECT部门.名称,MAX(工资),MIN(工资),AVG(工资)
FROM职工,部门
WHERE职工.部门号=职工.部门号
GROUPBY职工.部门号
ON部门工资
TO杨兰
8、答:
REVOKESELECT
FROM王明;
REVOKEINSERT,DELETE
FROM李勇;
FROMALL;
REVOKESELECT,UPDATE(工资)
FROM刘星;
REVOKEALTERTABLE
FROM张新;
REVOKEALLPRIVILIGES
FROM周平;
FROM杨兰;
DROPVIEW部门工资
因为强制存取控制是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。
第五章习题
数据的完整性和安全性是两个既有联系又不尽相同的概念。
数据的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。
数据的安全性是保护数据库防止恶意破坏和非法存取。
安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。
关系数据库管理系统在实现参照完整性时需要考虑可能破坏参照完整性的各种情况,以及违约后的处理策略。
下表总结了可能破坏参照完整性的4种情况及可采取的违约策略:
4种情况分别是指:
在参照关系中插入元组、修改外码值时可能破坏参照完整性,在删除被参照表的元组、修改主码值时可能破坏参照完整性。
被参照表
参照表
违约处理
可能破坏参照完整性
插入元组
拒绝
修改外码值
删除元组
拒绝/级联删除/设置为空值
修改主码值
CREATETABLEDEPT
(DeptnoNUMBER(3)RIMARYKEY,
DeptnameVARCHAR(10),
ManagerVARCHAR(10),
PhoneNumberChar(12)
);
CREATETABLEEMP
(EmpnoNUMBER(10),
EnameVARCHAR(10),
AgeNUMBER
(2)
CONSTRAINTC1CHECK(Age<
=60),
JobVARCHAR(10),
SalNUMBER(9,2),
DeptnoNUMBER(3),
RIMARYKEY(Empno),
FOREIGNKEY(Deptno)REFFERENCESDEPT(Deptno)
对于违反实体完整性和用户定义的完整性的操作,一般都采用拒绝执行的方式进行处理。
而对于违反参照完整性的操作,并非都是简单的拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。
第六章习题
(1)关系模式如下:
学生:
S(Sno,Sname,Sbirth,Dept,Class,Rno)
班级:
C(Class,Pname,Dept,Cnum,Cyear)
系:
D(Dept,Dno,Office,Dnum)
学会:
M(Mname,Myear,Maddr,Mnum)
学生—学会:
SM(Sno,Mname,Date)
其中:
Sno——学号,Sname——姓名,Sbirth——出生年月,Dept——系名,Class——班号,Rno——宿舍区,Pname——专业名,Cnum——班级人数,Cyear——入校年份,Dno——系号,Office——系办公室地点,Dnum——系人数,Mname——学会名,Myear——成立年份,Maddr——地点,Mnum——学会会员人数,Date——入会年份
(2)每个关系模式的最小函数依赖集如下:
一、
学生S(Sno,Sname,Sbirth,Dept,Class,Rno)的最小函数依赖集如下:
Sno→Sname,Sno→Sbirth,Sno→Class,Class→Dept,Dept→Rno
传递依赖如下:
Sno→Class,Class→Dept,所以Sno与Dept之间存在着传递函数依赖Sno→Dept.
Class→Dept,Dept→Rno,所以Class与Rno之间存在着传递函数依赖Class→Rno.
Sno→Class,Class→Dept,Dept→Rno,所以Sno与Rno之间存在着传递函数依赖Sno→Rno.
(Pname,Cyear)→Class函数依赖左部具有两个属性,都是完全函数依赖,没有部分函数依赖的情况。
二、
班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:
Class→Pname,Class→Cnum,Class→Cyear,Pname→Dept,(Pname,Cyear)→Class.
由于Class→Pname,Pname→Class,Pname→Dept,所以C1ass与Dept之间存在着传递函数依赖Class→Dept。
三、
系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:
Dept→Dno,Dno→Dept,Dno→Office,Dno→Dnum
根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。
四、
学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下:
Mname→Myear,Mname→Maddr,Mname→Mnum
该模式不存在传递依赖。
五、学生—学会SM(Sno,Mname,Date)的最小函数依赖集如下:
(Sno,Mname)→Date
该模式不存在传递依赖。
函数依赖左部具有两个属性,都是完全函数依赖,没有部分函数依赖的情况。
(3)各关系模式的候选码、外部码,全码如下:
关系
候选码
外部码
全码
Sno
Dept,Class
无
C
Class和(Pname,Cyear)
Dept
D
Dept和Dno
M
Mname
SM
(Sno,Mname)
Sno,Mname
7、答:
(1)正确
(2)正确
(3)正确
(4)错误,正确应该是:
当且仅当多值依赖A→→B在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。
(5)正确
(6)正确
(7)正确
(8)错误。
反例:
课本P52页图3.4中SC表,关系模式SC(Sno,Cno,Grade),(Sno,Cno)→Grade,但是Sno,Cno
Grade,Cno
Grade
第七章习题
数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的数据库管理系统产品所支持的数据模型相符合的逻辑结构。
设计步骤为:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定数据库管理系统支持下的数据模型转换;
(3)对数据模型进行优化。
(1)习题7的E-R图为:
学校
系
班级
学生
教研室
教员
课程
校——系
系——班级
系——教研室
班级——学生
室——教员
选修
指导
1
n
m
各实体属性如下:
系:
系编号,系名,学校名
班级:
班级编号,班级名,年级,系编号
教研室:
教研室编号,名称,系编号
学生:
学号,姓名,性别,学历,班级编号,导师职工号
课程:
课程编号,课程名
教员:
职工号,姓名,职称,教研室编号
各联系的属性如下:
选修课:
成绩
转换的关系模型如下(带下划线的属性是主码属性):
系(系编号,系名,学校名)
班级(班级编号,班级名,年级,系编号)
教研室(教研室编号,名称,系编号)
学生(学号,姓名,性别,学历,班级编号,导师职工号)
课程(课程号,课程名)
教员(职工号,姓名,职称,教研室编号)
选课(学号,课程号,成绩)
(2)习题8的E-R图为:
产品
零件
材料
仓库
组成
制造
存储
存放
仓库:
仓库号,仓库名
产品:
产品号,产品名称,仓库号
零件:
零件号,零件名称
材料:
材料号,材料名称,材料类别,仓库号,存放量
产品组成:
使用零件数量
零件组成:
使用材料数量
零件储存:
存储量
材料存放:
存放量
仓库(仓库号,仓库名)
产品(产品号,产品名称,仓库号)
零件(零件号,零件名称)
材料(材料号,材料名称,材料类别,仓库号,存放量)
产品组成(产品号,零件号,使用零件数量)
零件组成(零件号,材料号,使用材料数量)
零件储存(零件号,仓库号,存储量)
第九章习题
第十章习题
把对数据库的修改写到数据库中和把这个修改的日志记录写到日志文件中是两个不同的操作。
有可能在这两个操作之间发生故障,即两个操作只完成了一个。
如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。
如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO操作,并不会影响数据库的正确性。
(1)如果系统故障发生在14之后,T1,T3需要重做,T2,T4需要回滚。
(2)如果系统故障发生在10之后,T1需要重做,T2,T3需要回滚。
(3)如果系统故障发生在9之后,T1需要重做,T2,T3需要回滚。
(4)如果系统故障发生在7之后,T1需要重做,T2需要回滚。
(1)如果系统故障发生在14之后,A=8,B=7,C=11;
(2)如果系统故障发生在12之后,A=10,B=0,C=11;
(3)如果系统故障发生在10之后,A=10,B=0,C=11;
(4)如果系统故障发生在9之后,A=10,B=0,C=11;
(5)如果系统故障发生在7之后,A=10,B=0,C=11;
(6)如果系统故障发生在5之后,A=0,B=0,C=0