数据库技术网上作业答案西南Word文档格式.docx

上传人:b****6 文档编号:19269134 上传时间:2023-01-04 格式:DOCX 页数:9 大小:23.56KB
下载 相关 举报
数据库技术网上作业答案西南Word文档格式.docx_第1页
第1页 / 共9页
数据库技术网上作业答案西南Word文档格式.docx_第2页
第2页 / 共9页
数据库技术网上作业答案西南Word文档格式.docx_第3页
第3页 / 共9页
数据库技术网上作业答案西南Word文档格式.docx_第4页
第4页 / 共9页
数据库技术网上作业答案西南Word文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

数据库技术网上作业答案西南Word文档格式.docx

《数据库技术网上作业答案西南Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库技术网上作业答案西南Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

数据库技术网上作业答案西南Word文档格式.docx

正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

第二次作业数据库技术(西南)

第二章

1、试述关系模型的完整性规则。

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

什么情况下才可以为空?

答:

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

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

或者取空值(F的每个属性值均为空值);

或者等于S中某个元组的主码值。

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

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

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。

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

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

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

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

πSno(σSno=‘J1'

(SPJ))

∧Pno=‘P1‘(SPJ))

πSno(σPno=‘P1‘(σCOLOR='

红‘(P)∞SPJ))

πJno(SPJ)-πJNO(σcity=‘天津'

∧Color=‘红‘(S∞SPJ∞P)

第三章

1、针对上题中建立的4个表试用SQL语言完成查询。

( 

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

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

 

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

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

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

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

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

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

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

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

SELECTDISTSNOFROMSPJWHEREJNO='

J1'

ANDPNO='

P1'

SELECTSNOFROMSPJ,PWHEREJNO='

ANDSPJ.PNO=P.PNOANDCOLOR='

红'

SELECTDISTJNOFROMSPJWHEREJNONOTIN(SELEJNOFROMSPJ,P,SWHERES.CITY='

天津'

ANDCOLOR='

ANDS.SNO=SPJ.SNOANDP.PNO=SPJ.PNO)。

SELECTPNAME,QTYFROMSPJ,P

WHEREP.PNO=SPJ.PNOANDSPJ.JNO='

J2'

SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='

上海'

SELECTJNAMEFROMSPJ,S,J

WHERES.SNO=SPJ.SNOANDS.CITY='

ANDJ.JNO=SPJ.JNO

A、DELETEFROMSWHERESNO='

S2'

B、DELETEFROMSPJWHERESNO=‘S2'

INSERTINTOSPJVALUES(‘S2'

,‘J6'

,‘P4'

,200)

2、什么是基本表?

什么是视图?

基本表是本身独立存在的表,在sQL中一个关系就对应一个表。

视图是从一个或几个基本表导出的表。

视图本身不独立存储在数据库中,是一个虚表。

即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。

视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。

第三次作业数据库技术(西南)

第四章

1、试述实现数据库安全性控制的常用方法和技术。

实现数据库安全性控制的常用方法和技术有:

(l)用户标识和鉴别:

该方法由系统提供一定的方式让用户标识自己的名字或身份。

每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。

(2)存取控制:

通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。

例如CZ级中的自主存取控制(DAC),Bl级中的强制存取控制(MAC)。

(3)视图机制:

为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。

(4)审计:

建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

(5)数据加密:

对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

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

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

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

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

(d)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。

(e)撤销各用户所授予的权力。

GRANTSELECTON职工,部门

TO王明

GRANTINSERT,DELETEON职工,部门

TO李勇

GRANTSELECTON职工WHENUSER()=NAME

TOALL;

GRANTALLPRIVILIGESON职工,部门

TO周平

WITHGRANTOPTION;

第五章

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

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

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

eInGarba:

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

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

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

2、假设有下面两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;

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

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

定义每个模式的主码;

定义参照完整性;

定义职工年龄不得超过60岁。

2.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));

第四次作业数据库技术(西南)

第六章

1、出下列术语的定义:

函数依赖、部分函数依赖、完全函数依赖、传递依赖、1NF、2NF、3NF、BCNF

定义1:

设R(U)是属性集U上的关系模式。

X,Y是属性集U的子集。

若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作Xà

Y。

(即只要X上的属性值相等,Y上的值一定相等。

)术语和记号:

Y,但Y不是X的子集,则称Xà

Y是非平凡的函数依赖。

若不特别声明,总是讨论非平凡的函数依赖。

Y,但Y是X的子集,则称Xà

Y是平凡的函数依赖。

若Xà

Y,则X叫做决定因素(Determinant)。

Y,Yà

X,则记作Xß

à

若Y不函数依赖于X,则记作Xà

Y。

定义2:

在R(U)中,如果Xà

Y,并且对于X的任何一个真子集X'

,都有X'

à

Y,则称Y对X完全函数依赖。

若Xà

Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖

定义3:

若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。

定义4:

若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF。

(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。

定义5:

关系模式R<

U,F>

中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得Xà

Y,Yà

X,Yà

Z成立,则称R<

∈3NF。

定义6:

∈1NF。

Y且Y不是X的子集时,X必含有码,则R<

∈BCNF。

第七章

1、试述数据库设计过程。

这里只概要列出数据库设计过程的六个阶段:

(l)需求分析;

(2)概念结构设计;

(3)逻辑结构设计;

(4)数据库物理设计;

(5)数据库实施;

(6)数据库运行和维护。

这是一个完整的实际数据库及其应用系统的设计过程。

不仅包括设计数据库本身,还包括数据库的实施、运行和维护。

设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。

2、请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:

读者号,姓名,地址,性别,年龄,单位。

对每本书存有:

书号,书名,作者,出版社。

对每本被借出的书存有读者号、借出日期和应还日期。

要求:

给出E一R图,再将其转换为关系模型。

读者(读者号,姓名,地址,性别)

书(书号,书名,作者,出版社)

借书(读者号,书号,借出日期,年龄,单位应还日期)

第五次作业数据库技术(西南)

第十章

1、试述事务的概念及事务的4个特性。

事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务具有4个特性:

原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)和持续性(Durability)。

这4个特性也简称为ACID特性。

原子性:

事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。

一致性:

事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

隔离性:

一个事务的执行不能被其他事务干扰。

即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性:

持续性也称永久性(Perfnanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

接下来的其他操作或故障不应该对其执行结果有任何影响。

2、什么是日志文件?

为什么要设立日志文件?

(1)日志文件是用来记录事务对数据库的更新操作的文件。

(2)设立日志文件的目的是:

进行事务故障恢复;

进行系统故障恢复;

协助后备副本进行介质故障恢复。

3、针对不同的故障,试给出恢复的策略和方法。

(即如何进行事务故障的恢复?

系统故障的恢复?

介质故障恢复?

事务故障的恢复:

事务故障的恢复是由DBMSDBMs执行恢复步骤是:

自动完成的,对用户是透明的。

(1)反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作;

(2)对该事务的更新操作执行逆操作,即将日志记录中"

更新前的值”写入数据库;

(3)继续反向扫描日志文件,做同样处理;

(4)如此处理下去,直至读到此事务的开始标记,该事务故障的恢复就完成了。

系统故障的恢复:

系统故障可能会造成数据库处于不一致状态:

一是未完成事务对数据库的更新可能已写入数据库;

二是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。

因此恢复操作就是要撤销(UNDO)故障发生时未完成的事务,重做(REDO)已完成的事务。

系统的恢复步骤是:

(1)正向扫描日志文件,找出在故障发生前已经提交的事务队列(REDO队列)和未完成的事务队列(uNDO队列)。

(2)对撤销队列中的各个事务进行UNDO处理。

进行UNDO处理的方法是,反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中"

更新前的值”BeforeImage)写入数据库。

(3)对重做队列中的各个事务进行REDO处理。

进行REDO处理的方法是:

正向扫描日志文件,对每个REDO事务重新执行日志文件登记的操作。

即将日志记录中"

更新后的值”Afte,Image)写入数据库。

介质故障的恢复:

介质故障是最严重的一种故障。

恢复方法是重装数据库,然后重做已完成的事务。

具体过程是:

(1)DBA装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到转储时的一致性状态;

(2)DBA装入转储结束时刻的日志文件副本;

(3)DBA启动系统恢复命令,由DBMS完成恢复功能,即重做已完成的事务。

第六次作业数据库技术(西南)

第十一章

1、并发操作可能会产生哪几类数据不一致?

用什么方法能避免各种不一致的情况?

并发操作带来的数据不一致性包括三类:

丢失修改、不可重复读和读"

脏'

夕数据。

(l)丢失修改(lostupdate)两个事务Tl和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)Tl提交的结果,导致Tl的修改被丢失。

(2)不可重复读(Non一RepeatableRead)不可重复读是指事务Tl读取数据后,事务几执行更新操作,使Tl无法再现前一次读取结果。

(3)读"

脏”数据(DirtyRead)读"

夕数据是指事务Tl修改某一数据,并将其写回磁盘,事务几读取同一数据后,Tl由于某种原因被撤销,这时Tl已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为"

脏”数据,即不正确的数据。

避免不一致性的方法和技术就是并发控制。

最常用的技术是封锁技术。

也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。

2、什么是封锁?

基本的封锁类型有几种?

试述它们的含义。

封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。

加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。

封锁是实现并发控制的一个非常重要的技术。

基本的封锁类型有两种:

排它锁(ExclusiveLocks,简称x锁)和共享锁(ShareLocks,简称S锁)。

排它锁又称为写锁。

若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。

这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。

共享锁又称为读锁。

若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。

这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

3、试述活锁的产生原因和解决方法。

活锁产生的原因:

当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。

避免活锁的简单方法是采用先来先服务的策略。

当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。

4、简述两段锁协议。

所谓两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。

在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。

在释放一个封锁之后,事务不再申请和获得任何其他封锁。

所谓"

两段"

锁的含义是,事务分为两个阶段,第一阶段是获得封锁,也称为扩展阶段。

在这阶段,事务可以申请获得任何数据项上的任何类型的锁但是不能释放任何锁。

第二阶段是释放封锁,也称为收缩阶段。

在这阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。

可以证明,若并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的。

需要说明的是,事务遵守两段锁协议是可串行化调度的充分条件,而不是必要条件。

也就是说,若并发事务都遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的;

若对并发事务的一个调度是可串行化的,不一定所有事务都符合两段锁协议。

另外要注意两段锁协议和防止死锁的一次封锁法的异同之处。

一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行,因此一次封锁法遵守两段锁协议;

但是两段锁协议并不要求事务必须一次将所有要使用的数据全部加锁,因此遵守两段锁协议的事务可能发生死锁

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

当前位置:首页 > 表格模板 > 合同协议

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

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