数据库系统概论离线作业春.docx
- 文档编号:5011110
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:28
- 大小:443.27KB
数据库系统概论离线作业春.docx
《数据库系统概论离线作业春.docx》由会员分享,可在线阅读,更多相关《数据库系统概论离线作业春.docx(28页珍藏版)》请在冰豆网上搜索。
数据库系统概论离线作业春
浙江大学远程教育学院
《数据库系统概论》课程作业
姓名:
学号:
7
年级:
2014春
学习中心:
华家池
《数据库系统概论》课程作业1
第一章习题(2.6.10)3
2.使用数据库系统有什么好处?
3
6.数据库管理系统的主要功能有哪些?
3
10.试给出三个实际情况的E-R图,要求实体型之间具有一对一、一对多、多对多各种不同的联系。
3
第二章习题(4.5)4
4.试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?
什么情况下才可以为空?
4
5.设有一个SPJ数据库,包括S、P、J、SPJ4个关系模式:
4
第三章习题(3.4.5.11)9
3.用SQL语句建立第二章习题5中的4个表。
9
4.针对上题中建立的四个表试用SQL完成第二章习题5中的查询。
9
5.针对习题3中的四个表试用SQL完成以下各项操作;11
11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。
针对该视图完成下列查询;13
第四章习题(4.8.9.11)13
4.试述CC评估保证级划分的基本内容。
14
8.今有两个关系模式:
14
9.把习题8中(a)~(g)的每一种情况,撤销各用户所授权的权力。
15
11.理解并解释MAC机制中主体、客体、敏感度标记的含义。
16
第五章习题(2.5.6.7)16
2.数据库的完整性概念与数据库的安全性概念有什么区别和联系?
16
5.RDBMS在实现参照完整性时需要考虑哪些方面?
16
6.假设有下面两个关系模式:
17
7.在关系系统中,操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?
17
第六章习题(2.12)18
2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。
18
12.下面的结论哪些是正确的?
哪些是错误的?
对于错误的请给出一个反例说明之。
19
第七章习题(9.11.12)20
9.试述数据库概念结构设计的重要性和设计步骤。
20
11.什么是数据库的逻辑结构设计?
试述其设计步骤。
20
12.试把第一章习题12和习题13中的E-R图转换为关系模型。
20
第九章习题
(2)22
2.对学生-课程数据库有如下的查询:
22
第十章习题(6.7.8)23
6.数据库转储的意义是什么?
试比较各种数据转储方法。
23
7.什么是日志文件?
为什么要设立日志文件?
23
8.登记日志文件时为什么必须先写日志文件,后写数据库?
23
第十一章习题(4.7.9.10)24
4.如何用封锁机制保证数据的一致性?
24
7.请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?
24
9.设T1、T2、T3是如下的3个事务,设A的初值为0;24
10.今有3个事务的一个调度r3(B)r1(A)w3(B)r2(B)r2(A)w2(B)r1(B)w1(A),该调度是冲突可串行化的调度吗?
为什么?
26
第一章习题(2.6.10)
2.使用数据库系统有什么好处?
使用数据库系统的好处是由数据库管理系统的特点或优点决定的。
使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。
使用数据库系统可以大大提高应用开发的效率。
因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS来完成。
用一个通俗的比喻,使用了DBMS就如有了一个好参谋、好助手,许多具体的技术工作都由这个助手来完成。
开发人员就可以专注于应用逻辑的设计,而不必为数据管理的许许多多复杂的细节操心。
还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间的独立性,数据逻辑结构的改变是DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。
使用数据库系统可以减轻数据库系统管理人员维护系统的负担。
因为DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性、多用户并发控制、故障恢复等,都由DBMS执行。
总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。
6.数据库管理系统的主要功能有哪些?
(l)数据库定义功能;
(2)数据存取功能;
(3)数据库运行管理;
(4)数据库的建立和维护功能。
10.试给出三个实际情况的E-R图,要求实体型之间具有一对一、一对多、多对多各种不同的联系。
第二章习题(4.5)
4.试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?
什么情况下才可以为空?
关系模型的完整性规则是对关系的某种约束条件。
关系模型中有三类完整性约束:
实体
完整性、参照完整性和用户自定义完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称做是关系的两个不变性,应该由关系系统自动支持。
(1)实体完整性规则:
指若属性A是基本关系R的主属性,则属性A不能取空值。
(2)参照完整性规则:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
1)空值(F的每个属性值均为空值);
2)等于S中某个元组的主码值。
(3)用户自定义的完整性是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求。
在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件
是该外部码属性不是其所在关系的主属性。
例如,在下面的"学生"表中,"专业号"是一个外部码,不是学生表的主属性,可以为空,其语义是,该学生的专业尚未确定。
即属性”专业号”本身不是主属性,则可以取空值,否则不能取空值。
学生(学号,姓名,性别,专业号,年龄)
在下面的"选修"表中的"课程号"虽然也是一个外部码属性,但它又是"课程"表的主属性,所以不能为空,因为关系模型必须满足实体完整性。
课程(课程号,课程名,学分)
选修(学号,课程号,成绩)
5.设有一个SPJ数据库,包括S、P、J、SPJ4个关系模式:
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
今有若干数据如下:
S表
SNO
SNAME
STATUS
CITY
S1
S2
S3
S4
S5
精益
盛锡
东方红
丰泰盛
为民
20
10
30
20
30
天津
北京
北京
天津
上海
P表
PNO
PNAME
COLOR
WEIGHT
P1
P2
P3
P4
P5
P6
螺母
螺栓
螺丝刀
螺丝刀
凸轮
齿轮
红
绿
蓝
红
蓝
红
12
17
14
14
40
30
J表
JNO
JNAME
CITY
J1
J2
J3
J4
J5
J6
J7
三建
一汽
弹簧厂
造船厂
机车厂
无线电厂
半导体厂
北京
长春
天津
天津
唐山
常州
南京
SJP表
SNO
PNO
JNO
QTY
S1
S1
S1
S1
S2
S2
S2
S2
S2
S2
S3
S3
S4
S4
S4
S5
S5
S5
S5
P1
P1
P1
P2
P3
P3
P3
P3
P5
P5
P1
P3
P5
P6
P6
P2
P3
P6
P6
J1
J3
J4
J2
J1
J2
J4
J5
J1
J2
J1
J1
J1
J3
J4
J4
J1
J2
J4
200
100
700
100
400
200
500
400
400
100
200
200
100
300
200
100
200
200
500
试用关系代数、ALPHA语言、QBE语言完成如下查询:
(1)求供应工程J1零件的供应商号码SNO;
(2)求供应工程J1零件P1的供应商号码SNO;
(3)求供应工程J1零件为红色的供应商的号码SNO;
(4)求没有使用天津供应商生产的红色零件的工程号JNO;
关系代数
QBE语言
当不考虑没有使用任何零件的工程时
(5)求至少用了供应商S1所供应的全部零件的工程号JNO。
第三章习题(3.4.5.11)
3.用SQL语句建立第二章习题5中的4个表。
对于S表:
S(SNO,SNAME,STATUS,CITY);
建S表:
CREATETABLES(
SNOCHAR(3)UNIQUE,
SnameCHAR(10),
StatusCHAR
(2),
CityCHAR(20));
对于P表:
P(PNO,PNAME,COLOR,WEIGHT);
建P表:
CREATETABLEP(
PNOCHAR(3)UNIQUE,
PnameCHAR(10),
COLORCHAR
(2),
WEIGHTINT);
对于J表:
J(JNO,JNAME,CITY);
建J表:
CREATETABLEJ(
JNoCHAR(3)UNlQUE,
JNAMECHAR(10),
CITYCHAR(20))
对于SPJ表:
SPJ(SNo,PNo,JNo,QTY);
建SPJ表:
CREATETABLESPJ(
SNoCHAR(3),
PNoCHAR(3),
JNOCHAR(3),
QTYINT))
4.针对上题中建立的四个表试用SQL完成第二章习题5中的查询。
(1)求供应工程J1 零件的供应商号码 SNO
SELECTDISTINCTSNOFROMSPJWHEREJNO='J1'
(2)求供应工程J1零件 Pl 的供应商号码 SNO
SELECTDISTINCTSNO
FROMSPJ
WHEREJNO='J1'ANDPNO='P1'
(3)求供应工程 J1零件为红色的供应商号码 SNO
SELECTDISTINCTSNO
FROMSPJ,P
WHEREJNO='J1'ANDSPJ.PNO=P.PNOANDCOLOR='红'
(4)求没有使用天津供应商生产的红色零件的工程号 JNO;
或
(5)求至少用了供应商 Sl 所供应的全部零件的工程号 JNO
5.针对习题3中的四个表试用SQL完成以下各项操作;
(1找出所有供应商的姓名和所在城市;
SELECTSNAME,CITYFROMS
(2)找出所有零件的名称、颜色、重量;
SELECTPNAME,COLOR,WEIGHT
FROMP
(3)找出使用供应商S1所有供应零件的工程号码;
SELECTDISTINCTJNO
FROMSPJ
WHERESNO='S1'
(4)找出工程项目J2使用的各种零件的名称及其数量;
SELECTP.PNAME,SPJ.QTY
FROMSPJ,P
WHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2'
(5)找出上海厂商供应的所有零件号码;
(6)找出使用上海产的零件的工程名称;
(7)找出没有使用天津产的零件的工程号码;
(8)把全部红色零件的颜色改成蓝色;
UPDATEPSETCOLOR='蓝'
WHERECOLOR='红'
(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改;
UPDATESPJSETSNO='S3'
WHERESNO='S5'ANDJNO='J4'ANDPNO='P6'
(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;
DELETEFROMSPJWHERESNO='S2'
DELETEFROMSWHERESNO='S2'
(11)请将(S2,J6,P4,200)插入供应情况关系。
INSERTINTOSPJ(SNO,PNO,JNO,QTY)VALUES('S2','J6','P4',200)
或者INSERTINTOSPJVALUES('S2','J6','P4',200)
11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。
针对该视图完成下列查询;
(1)找出三建工程项目使用的各种零件代码及其数量;
(2)找出供应商S1的供应情况。
建视图:
CREATEVIEWV_SPJAS
SELECTSNO,PNO,QTY
FROMSPJ
WHEREJNO=
(SELECT]NO
FROMJ
WHEREJNAME='三建');
对该视图查询:
(1)SELECTPNO,QTY
FROMV_SPJ;
(2)SELECTPNO,QTY/*S1供应三建工程的零件号和对应的数量*/
FROMV_SPJ
WHERESNO='SI';
第四章习题(4.8.9.11)
4.试述CC评估保证级划分的基本内容。
CC提出国际公认的表述信息技术安全性的结构,把信息产品的安全要求分为安全功能
要求、安全保证要求。
CC文本由三部分组成:
简介和一般模型;安全功能要求;安全保证
要求。
CC评估保证级划分如下:
8.今有两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,地址,电话号)
请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能;
(a)用户王明对两个表有SELECT权力;
GRANTSELECTON职工,部门
TO王明
(b)用户李勇对两个表有INSERT和DELETE权力;
GRANTINSERT,DELETEON职工,部门
TO李勇
(c)每个职工只对自己的记录有SELECT权力;
GRANTSELECTON职工WHEN
USER()=NAME
TOALL;
(d)用户刘星对职工表有SELECT权力,对工资字段据具有更新权力;
GRANTSELECT,UPDATE(工资)ON职工
TO刘星
(e)用户张新具有修改这两个表的结构的权力;
GRANTALTERTABLEON职工,部门
TO张新;
(f)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力;
GRANTALLPRIVILIGESON职工,部门
TO周平
WITHGRANTOPTION;
(g)用户杨兰具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。
首先建立一个视图,然后对这个视图定义杨兰的存取权限:
CREATEVIEW部门工资AS
SELECT部门.名称,MAX(工资),MIN(工资),AVG(工资)
FROM职工,部门
WHERE职工.部门号=部门.部门号
GROUPBY职工.部门号;
GRANTSELECTON部门工资
TO杨兰;
9.把习题8中(a)~(g)的每一种情况,撤销各用户所授权的权力。
(a)
REVOKESELECTON职工,部门
FROM王明;
(b)
REVOKEINSERT,DELETEON职工,部门
FROM李勇;
(c)
REOVKESELECTON职工
WHENUSER()=NAME
FROMALI;
这里假定用户将自己的名字作为ID,且系统的REOVKE语句支持WHEN子句,系统也
支持USER()的使用。
(d)
REVOKESELECT,UPDATEON职工
FROM刘星;
(e)
REVOKEALTERTABLEON职工,部门
FROM张新;
(f)
REVOKEALLPRIVILIGESON职工,部门
FROM周平;
(g)
REVOKESELECTON部门工资
FROM杨兰;
DROPVIEW部门工资;
11.理解并解释MAC机制中主体、客体、敏感度标记的含义。
主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。
客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。
敏感度标记被分成若干级别,例如绝密(TopSecret)、机密(Secret)、可信(Confidential)、公开(Public)等。
主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级(ClassificationLevel)。
MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体。
第五章习题(2.5.6.7)
2.数据库的完整性概念与数据库的安全性概念有什么区别和联系?
数据的完整性和安全性是两个不同的概念,但是有一定的联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
5.RDBMS在实现参照完整性时需要考虑哪些方面?
RDBMS在实现参照完整性时需要考虑以下几个方面:
(l)外码是否可以接受空值。
(2)删除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:
l)级联删除(CASCADES);
2)受限删除(RESTRICTED);
3)置空值删除(NULLIFIES)。
(3)在参照关系中插入元组时的问题,这时系统可能采取的作法有:
l)受限插入;
2)递归插入。
(4)修改关系中主码的问题。
一般是不能用UPDATE语句修改关系主码值。
如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。
如果允许修改主码,首先要保证主码的惟一性和非空,否则拒绝修改。
然后要区分是参照关系还是被参照关系。
6.假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;
部门(部门号,名称,经理名,电话),其中部门号为主码;
用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:
(1)定义每个模式的主码;
(2)定义参照完整性;(3)定义职工年龄不得超过60岁。
CREATETABLEDEPT
(DeptnoNUMBER
(2)RIMARYKEY,
DeptnameVARCHAR(10),
ManagerVARCHAR(10),
PhoneNumberChar(12)
);
CREATETABLEEMP
(EmpnoNUMBER(4),
EnameVARCHAR(10),
AgeNUMBER
(2)
CONSTRAINTC1CHECK(Age<=60),
JobVARCHAR(9),
SalNUMBER(7,2),
DeptnoNUMBER
(2),
RIMARYKEY(Empno),
FOREIGNKEY(Deptno)REFFERENCESDEPT(Deptno));
7.在关系系统中,操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?
对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理。
而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。
第六章习题(2.12)
2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。
描述学生的属性有:
学号、姓名、出生年月、系名、班号、宿舍区;
描述班级的属性有:
班号、专业名、系名、人数、入校年份;
描述系的属性有:
系名、系号、系办公室地点、人数;
描述学会的属性有:
学会名、成立年份、地点、人数。
有关语义如下:
一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。
一个系的学生住在同一宿舍区。
每个学生可参加若干学会,每个学会有若干学生。
学生参加某学会有一个入会年份。
请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。
指出各关系的候选码、外部码,有没有全码存在?
12.下面的结论哪些是正确的?
哪些是错误的?
对于错误的请给出一个反例说明之。
(1)任何一个二目关系是属于3NF的。
√
(2)任何一个二目关系是属于BCNF的。
√
(3)任何一个二目关系是属于4NF的。
√
(4)当且仅当函数依赖A→B在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。
×
当A→B在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。
反之则不然。
正确的应当是:
当且仅当多值依赖A→→B在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。
(5)若R.A→R.B,R.B→R.C,则R.A→R.C√
(6)若R.A→R.B,R.A→R.C,则R.A→R.(B,C)√
(7)若R.B→R.A,R.C→R.A,则R.(B,C)→R.A√
(8)若R.(B,C)→R.A,则R.B→R.A,R.C→R.A。
×
第七章习题(9.11.12)
9.试述数据库概念结构设计的重要性和设计步骤。
重要性:
数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一DBMS实现这些需求。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 离线 作业