浙大远程数据库系统概论离线作业答案.docx

上传人:b****8 文档编号:10162224 上传时间:2023-02-08 格式:DOCX 页数:20 大小:107.92KB
下载 相关 举报
浙大远程数据库系统概论离线作业答案.docx_第1页
第1页 / 共20页
浙大远程数据库系统概论离线作业答案.docx_第2页
第2页 / 共20页
浙大远程数据库系统概论离线作业答案.docx_第3页
第3页 / 共20页
浙大远程数据库系统概论离线作业答案.docx_第4页
第4页 / 共20页
浙大远程数据库系统概论离线作业答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

浙大远程数据库系统概论离线作业答案.docx

《浙大远程数据库系统概论离线作业答案.docx》由会员分享,可在线阅读,更多相关《浙大远程数据库系统概论离线作业答案.docx(20页珍藏版)》请在冰豆网上搜索。

浙大远程数据库系统概论离线作业答案.docx

浙大远程数据库系统概论离线作业答案

浙江大学远程教育学院

《数据库系统概论》课程作业

姓名:

学号:

年级:

学习中心:

—————————————————————————————

第一章习题2、6、10

2.使用数据库系统有什么好处?

答:

使用数据库系统的好处是由数据库管理系统的特点或优点决定的。

使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。

使用数据库系统可以大大提高应用开发的效率。

因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS来完成。

用一个通俗的比喻,使用了DBMS就如有了一个好参谋、好助手,许多具体的技术工作都由这个助手来完成。

开发人员就可以专注于应用逻辑的设计,而不必为数据管理的许许多多复杂的细节操心。

还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间的独立性,数据逻辑结构的改变是DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。

使用数据库系统可以减轻数据库系统管理人员维护系统的负担。

因为DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性、多用户并发控制、故障恢复等,都由DBMS执行。

总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。

6.数据库管理系统的主要功能有哪些?

答:

数据库定义功能、数据存取功能、数据库运行管理、数据库的建立和维护功能。

 

10.试给出3个实际部门的E一R图,要求实体型之间具有一对一、一对多、多对多各种不同的联系。

答:

11

 

1n

 

nm

 

第二章习题4、5

4.试述关系模型的完整性规则。

在参照完整性中,为什么外部码属性的值也可以为空?

什么情况下才可以为空?

答:

实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:

或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。

即属性F本身不是主属性,则可以取空值,否则不能取空值。

5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:

(1)求供应工程J1零件的供应商号码SNO:

πSno(σSno=‘J1’(SPJ))

(2)求供应工程J1零件P1的供应商号码SNO:

πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))

(3)求供应工程J1零件为红色的供应商号码SNO:

πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))

(4)求没有使用天津供应商生产的红色零件的工程号JNO:

πJno(SPJ)-πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)

(5)求至少用了供应商S1所供应的全部零件的工程号JNO:

πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))

第三章习题3、4、5、11

3、用SQL语句建立第二章习题5中的四个表。

答:

对于S表:

S(SNO,SNAME,STATUS,CITY);CREATETABLES(SNOCHAR(3),

SNAMECHAR(10),STATUSCHAR

(2),CITYCHAR(10));

对于P表:

P((PNO,PNAME,COLOR,WEIGHT)CREATETABLEP(PNOCHAR(6),

PNAMECHAR(10),COLORCHAR

(2),WEIGHTMEMBER);

对于J表:

J(JNO,JNAME,CITY);

建J表:

CREATETABLEJ(JnoC

(2)UNlQUE,JNAMEC(8),CITYC(4))

对于sPJ表:

sPJ(sNo,PNo,JNo,QTY);

建SPJ表:

SPJ(SNO,PNO,JNO,QTY)

CREATETABLESPJ(SnoC

(2),PnoC

(2),JNOC

(2),QTYINT))

4.针对上题中建立的4个表试用sQL语言完成第二章习题5中的查询。

(l)求供应工程Jl零件的供应商号码SNO;

SELECTDISTSNOFROMSPJWHEREJNO=’J1’

(2)求供应工程Jl零件Pl的供应商号码SNO;

SELECTDISTSNOFROMSPJWHEREJNO='J1'ANDPNO='P1'

(3)求供应工程Jl零件为红色的供应商号码SNO;

SELECTSNOFROMSPJ,PWHEREJNO='J1'ANDSPJ.PNO=P.PNOANDCOLOR='红'

(4)求没有使用天津供应商生产的红色零件的工程号JNO;

SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROM

SPJ,P,SWHERES.CITY='天津'ANDCOLOR='红'ANDS.SNO=SPJ.SNOAND

P.PNO=SPJ.PNO)。

(5)求至少用了供应商Sl所供应的全部零件的工程号JNO;

由于VFP不允许子查询嵌套太深,将查询分为两步

A、查询S1供应商供应的零件号

SELECTDISTPNOFROMSPJWHERESNO='S1'结果是(P1,P2)

B、查询哪一个工程既使用P1零件又使用P2零件。

SELECTJNOFROMSPJWHEREPNO='P1'

ANDJNOIN(SELECTJNOFROMSPJWHEREPNO='P2')

5.针对习题3中的四个表试用SQL语言完成以下各项操作:

(1)找出所有供应商的姓名和所在城市。

(2)找出所有零件的名称、颜色、重量。

(3)找出使用供应商S1所供应零件的工程号码。

(4)找出工程项目J2使用的各种零件的名称及其数量。

(5)找出上海厂商供应的所有零件号码。

(6)找出使用上海产的零件的工程名称。

(7)找出没有使用天津产的零件的工程号码。

(8)把全部红色零件的颜色改成蓝色。

(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改。

(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。

(11)请将(S2,J6,P4,200)插入供应情况关系。

 答:

(1)找出所有供应商的姓名和所在城市。

SELECTSNAME,CITYFROMS;

(2)找出所有零件的名称、颜色、重量。

SELECTPNAME,COLOR,WEIGHTFROMP;

(3)找出使用供应商S1所供应零件的工程号码。

SELECTJNOFROMSPJWHERESNO=‘S1';

(4)找出工程项目J2使用的各种零件的名称及其数量。

SELECTP.PNAME,SPJ.QTYFROMP,SPJ

WHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2';

(5)找出上海厂商供应的所有零件号码。

SELECTDISTINCTPNOFROMSPJWHERESNOIN

(SELECTSNOFROMSWHERECITY='上海');

或:

SELECTPNOFROMS,SPJWHERES,SNO=SPJ.SNOANDS.CITY=’上海’

(6)找出使用上海产的零件的工程名称。

SELECTJNAMEFROMJ,SPJ,S

WHEREJ.JNO=SPJ.JNOANDSPJ.SNO=S.SNOANDS.CITY='上海';

(7)找出没有使用天津产的零件的工程号码。

SELECTDISTINCTJNOFROMSPJWHEREJNONOTIN

(SELECTJNOFROMS,SPJWHERES.SNO=SPJ.SNOANDS.CITY=’天津’)

(8)把全部红色零件的颜色改成蓝色。

UPDATEPSETCOLOR='蓝'WHERECOLOR='红';

(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改。

UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P6';

(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。

解析:

注意删除顺序,应该先从SPJ表中删除供应商S2所供应零件的记录,然后从从S表中删除S2。

DELETFROMSPJWHERESNO=‘S2’

DELETFROMSWHERESNO=‘S2’

(11)请将(S2,J6,P4,200)插入供应情况关系。

INSERTINTOSPJ(SNO,JNO,PNO,QTY)VALUES(‘S2’,‘J6’,‘P4’,200);

11.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。

CREATEVIEWVSPASSELECTSNO,PNO,QTYFROMSPJ,JWHERESPJ.JNO=J.JNOANDJ.JNAME='三建'

针对该视图VSP完成下列查询:

(1)找出三建工程项目使用的各种零件代码及其数量。

(2)找出供应商S1的供应情况。

答:

(1)找出三建工程项目使用的各种零件代码及其数量。

SELECTDISTPNO,QTYFROMVSP

(2)找出供应商S1的供应情况。

SELECTDIST*FROMVSPWHERESNO='S1'

第四章习题4、8、9、11

4.试述TcsEC(TDI)将系统安全级别划分为4组7个等级的基本内容。

答:

根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组

(division)7个等级,依次是D、C(CI,CZ)、B(BI,BZ,B3)、A(AI),按系统可靠或可信程度逐渐增高。

这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。

各个等级的基本内容为:

D级D级是最低级别。

一切不符合更高标准的系统,统统归于D组。

Cl级只提供了非常初级的自主安全保护。

能够实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。

C2级实际是安全产品的最低档次,提供受控的存取保护,即将Cl级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。

Bl级标记安全保护。

对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制。

B2级结构化保护。

建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MACo

B3级安全域。

该级的TCB必须满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。

Al级验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。

8.今有两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号)

部门(部门号,名称,经理名,地址,电话号)

请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:

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

GRANTSELECTON职工,部门

TO王明;

(b)用户李勇对两个表有INSERT和DELETE权力;

GRANTINSERT,DELETEON职工,部门

TO李勇;

(c)每个职工只对自己的记录有SELECT权力;

GRANTSELECTON职工

WHENUSER()=NAME

TOALL;

  这里假定系统的GRANT语句支持WHEN子句和USER()的使用。

用户将自己的名字作为ID。

注意,不同的系统这些扩展语句可能是不同的。

读者应该了解你使用的DBMS产品的扩展语句。

(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中

(1)---(7)的每一种情况,撤销各用户所授予的权力

答:

(1)REVOKESELECTON职工,部门FROM王明;

(2)REVOKEINSERT,DELETEON职工,部门FROM李勇;

(3)REOVKESELECTON职工WHENUSER()=NAMEFROMALI;

(4)REVOKESELECT,UPDATEON职工FROM刘星;

(5)REVOKEALTERTABLEON职工,部门FROM张新;

(6)REVOKEALLPRIVILIGESON职工,部门FROM周平;

(7)REVOKESELECTON部门工资FROM杨兰;DROPVIEW部门工资;

11、理解并解释MAC机制中主体、客体、敏感度标记的含义。

答:

主体是系统中的活动实体,既包括DBMS所管理的实际用户,也包括代表用户的各进程。

客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等。

对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。

敏感度标记被分成若干级别,例如绝密(TopSecret)、机密(Secret)•可信(Confidential)、公开(PubliC)等。

主体的敏感度标记称为许可证级别(ClearanCe玫vel),客体的敏感度标记称为密级(ClassificationLevel)。

 

第五章习题2、5、6、7

2.数据库的完整性概念与数据库的安全性概念有什么区别和联系?

答:

数据的完整性和安全性是两个不同的概念,但是有一定的联系。

前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba:

eInGarba:

eout)所造成的无效操作和错误结果。

后者是保护数据库防止恶意的破坏和非法的存取。

也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

5.RDBMS在实现参照完整性时需要考虑哪些方面?

答:

RDBMS在实现参照完整性时需要考虑以下几个方面:

1)外码是否可以接受空值

2)删除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:

(a)级联删除(CASCADES);

(b)受限删除(RESTRICTED);

(c)置空值删除(NULLIFIES)

3)在参照关系中插入元组时的问题,这时系统可能采取的作法有:

  (a)受限插入

  (b)递归插入

4)修改关系中主码的问题

  一般是不能用UPDATE语句修改关系主码的。

如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。

如果允许修改主码,首先要保证主码的唯一性和非空,否则拒绝修改。

然后要区分是参照关系还是被参照关系。

6.假设有下面两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号),其

中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。

用sQL语

言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:

定义每个模式的

主码;定义参照完整性;定义职工年龄不得超过60岁。

答:

CREATETABLEDEPT

(DeptnoNUMBER

(2),

DeptnameVARCHAR(10),

ManagerVARCHAR(10),

PhoneNumberChar(12)

CONSTRAINTPK_SCRIMARYKEY(Deptno));

CREATETABLEEMP

(EmpnoNUMBER(4),

EnameVARCHAR(10),

AgeNUMBER

(2),

CONSTRAINTC1CHECK(Aage<=60),

JobVARCHAR(9),

SalNUMBER(7,2),

DeptnoNUMBER

(2),

CONSTRAINTFK_DEPTNO

FOREIGNKEY(Deptno)

REFFERENCESDEPT(Deptno));

7.关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?

答:

对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理。

而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。

第六章习题2、12

2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。

描述学生的属性有:

学号、姓名、出生年月、系名、班号、宿舍区。

描述班级的属性有:

班号、专业名、系名、人数、入校年份。

描述系的属性有:

系名、系号、系办公地点、人数。

描述学会的属性有:

学会名、成立年份、办公地点、人数。

语义如下的:

一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。

一个系的学生住在同一宿舍区。

每个学生可参加若干学会,每个学会有若干学生。

学生参加某学会有一个入会年份。

请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。

指出各关系模式的候选码、外部码,有没有全码存在?

解:

(1)关系模式如下:

学生:

S(Sno,Sname,Sbirth,Dept,Class,Rno)

班级:

C(Class,Pname,Dept,Cnum,Cyear)

系:

D(Dept,Dno,Office,Dnum)

学会:

M(Mname,Myear,Maddr,Mnum)

(2)每个关系模式的最小函数依赖集如下:

A、学生S(Sno,Sname,Sbirth,Dept,Class,Rno)的最小函数依赖集如

下:

SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno

传递依赖如下:

由于SnoDept,而DeptSno,DeptRno(宿舍区)

所以Sno与Rno之间存在着传递函数依赖。

由于ClassDept,DeptClass,DeptRno

所以Class与Rno之间存在着传递函数依赖。

由于SnoClass,ClassSno,ClassDept

所以Sno与Dept之间存在着传递函数依赖。

B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:

ClassPname,ClassCnum,ClassCyear,PnameDept.

由于ClassPname,PnameClass,PnameDept

所以C1ass与Dept之间存在着传递函数依赖。

C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:

DeptDno,DnoDept,DnoOffice,DnoDnum

根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。

D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下:

MnameMyear,MnameMaddr,MnameMnum

该模式不存在传递依赖。

(3)各关系模式的候选码、外部码,全码如下:

A、学生S候选码:

Sno;外部码:

Dept、Class;无全码

B、班级C候选码:

Class;外部码:

Dept;无全码

C、系D候选码:

Dept或Dno;无外部码;无全码

D、学会M候选码:

Mname;无外部码;无全码

12.下面的结论哪些是正确的?

哪些是错误的?

对于错误的请给一个反例说明之。

(1)任何一个二目关系是属于3NF。

答:

正确。

因为关系模式中只有两个属性,所以无传递。

(2)任何一个二目关系是属于BCNF.

答:

正确。

按BCNF的定义,若XY,且Y不是X的子集时,每个决定因素都包含码,

对于二目关系决定因素必然包含码。

详细证明如下:

(任何二元关系模式必定是

BCNF)。

证明:

设R为一个二目关系R(A1,A2),则属性A1和A2之间可能存在以下几种依

赖关系:

A、A1A2,但A2A1,则关系R的码为A1,决定因素都包含码,所以,R是

BCNF。

B、A1A2,A2A1,则关系R的码为A2,所以决定因素都包含码,R是BCNF。

包含码。

R是BCNF。

C、R的码为(A1,A2)(即A1A2,A2A1),决定因素都

(3)任何一个二目关系是属于4NF.

答:

正确。

因为只有两个属性,所以无非平凡的多值依赖。

第七章习题9、11、12

9.试述数据库概念结构设计的重要性和设计步骤。

答:

重要性:

数据库概念设计是整个数据库设计的关键,将在需求分析阶段所得到的应用需求首先抽象为概念结构,以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一DBMS实现这些需求。

设计步骤:

概念结构的设计方法有多种,其中最经常采用的策略是自底向上方法,该方法的设计步骤通常分为两步:

第1步是抽象数据并设计局部视图,第2步是集成局部视图,得到全局的概念结构。

11.什么是数据库的逻辑结构设计?

试述其设计步骤。

答:

数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。

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

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1