搜索
您的当前位置:首页(完整版)数据库原理课后题答案

(完整版)数据库原理课后题答案

来源:爱问旅游网
第1章

1.试恳数据、数据库、数据库系统、数据库管理系统的概念。

答:(1)数据:描述事物的符号记录成为数据。数据的种类有数字、文字、图形、 图像、声音、正文等。数据与其语义是不可分的。

(2) 数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。 数据库中的数据按照一定的数据模型组织。描述和储存,具有较小的冗余度、较 高的数据独立性和易扩展性,并可为各种用户共享。

(3) 数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成, 一般由数据库、数据库管理系统(及其开发人具)、应用系统、数据库管理员构 成。

(4) 数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据 管理软件,

用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要 功能包括数据定义功能、数据操作功能、数据库的建立和维护功能。

6. 试述数据库系统三级模式结构,这种结构的优点是什么?

答:数据库系统的三级模式机构由外模式、模式和内模式组成。

外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户) 能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视 图,是与某一应用有关的数据的逻辑表示。

模式亦称逻辑模式,是数据库中全体数据呃逻辑结构和特征的描述,是所有用 户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的 内部逻辑结构,通常是模式的子集。

内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和 存储方式的描述。

数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给 DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示 和存储。

为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式 之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像 保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

7. 定义并解释下列术语。

外模式:亦称子模式或用户模式,是数据库用户(包括应用程序员和最 终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的 数据视图,是与某一应用有关的数据的逻辑表示。

内模式:亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存 储方式的描述。

模式:亦称逻辑模式,是数据库中全体数据逻辑结构和特征的描述,是所有用户 的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内 部逻辑结构,通常是模式的子集。

DDL:数据库定义语言,用來定义数据库模式、外模式、内模式的语言。

DML:数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语 句。

8. 什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么 数据库系统具有数据与程序的独立性?

答:数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、 改变属性的数据类型等),由数据库管理员各个外模式/模式的映像做相应改变, 可以使外模式保持不

变。应用程序是依据数据的外模式编写的,从而应用程序不 必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

数据与程序的物理独立性:当数据库的存储结构改变了,有数据库管理员对 模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变, 保证了数据与程序的物理独立性,简称数据的物理独立性。

数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数 据具有较高的逻辑独立性和物理独立性。

第2章数据模型

3. 试描述数据模型的三个要素。

数据模型由数据结构、数据操作和完整性约束三部分组成。

(1) 数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。

(2) 数据操作:是对数据库中各种对象(型)的实例(值)允许进行的操作的集 合,包括操作及有关的操作规则,是对系统动态特性的描述。

(3) 数据的约束条件:是一组完整性规则的集合。完整性规则是给定的数据模型 中数据

及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态 以及状态的变化,以保证数据的正确、有效、相容。

7.试述关系模型的概念,定义并解释以下术语。

答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。 (1) 关系:一个关系对应通常说法的一张表

(2) 关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,…,属 性n) (3) 元祖:表中的一行即为一个元组 (4) 属性:表中的一列即为一个属性

(5) 码:表中的某个属性组,它可以惟一确定一个元组 (6) 域:属性的取值范围

(7) 分量:元组中的一个属性值

第3章关系数据库

3.定义并理解下列术语,说明它们之间的联系与区别。

(1) 域:域是一组具有相同数据类型的值的集合;

笛卡儿积:给定一组域DI, D2, Dn 的笛卡尔积为: 做一个分量。

关系:在域DI, D2, (DI, D2, ...Dn)

元组:关系中的每个元素是关系中的元组。

属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。 由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。

Dn上笛卡尔积DI D2 ... Dn的子集称为关系,表示为R

Dn,这些域中可以有相同的。DI, D2,

DlxD2x...xDn={ (dl, d2,…,dn) |dieDi, i=l, 2,

n}其中每一个元素(dl, d2,…,dn)叫做一个n元组或简称元组。元素中的 每一个值di叫

(2) 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性 组为候选

码。

主码:若一个关系有多个候选码,则选定其中一个为主码。

外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果 F与基本关

系S的主码Ks相对应,则称F是基本关系R的外部码,简称外码。

基本关系R称为参照关系,基本关系S称为被参照关系或目标关系。关系 R和S可以是相同的关系。

(3)关系模式:关系的描述称为关系模式。它可以形式化地表示为R(U,D,dom, F)其中R为关系-名,U为组成该关系的属性名集合,D为属性组U中属性所来 自的域,dom为属性向域的映像集合,F为属性间数据的依赖关系集合。

关系:在域DI, D2, ...,Dn上笛卡儿积DI D2 ... Dn的子集称为关系,表 示为R (DI, D2, ...Dn),关系是关系模式在某一时刻的状态或内容。关系模式 是静止的、稳定的;而关系是动态的、随时间不断变化的,因为关系操作在不断 更新着数据库中的数据。

关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据 库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若 干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通 常就称为关系数据库。

4. 试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可 以为空?什

么情况下才可以为空? 答:关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类 完整性约束:实体完整性、参照完整性和用户定义的完整性。

其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称 做事关系的两个不变性,应该由关系系统自动支持。

(1) 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空 值。 (2) 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基 本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R 中每个元组在F上的值必须为:

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

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

(3) 用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具 体应用

所涉及的数据必须满足的语义要求。

在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定, 但前提条件是该外部码属性不是其所在关系的主属性。

例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主 属性,可以为空,其语义是,该学生的专业尚未确定。

学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名)

而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它乂是 “课程”表的主属性,所以不能为空,因为关系模型必须满足实体完整性。

课程(课程号,课程名,学分)

选修(学号,课程号,成绩)

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

S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT);

J(JNOJNAMEZCITY);

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 S1 S2 S3 S4 S5

SNAME STATUS 20 10 30 20 30 CITY 精益 盛锡 东方红 丰泰盛 为民 天津 北京 北京 天津 上海 P表 PNO P1 P2 P3 P4 P5 PNAME COLOR WEIGHT 12 17 14 14 40 30 螺母 螺栓 螺丝刀 螺丝刀 凸轮 齿轮 红 绿 蓝 红 蓝 红 P6

JNO J1 J2 J3 J4 J5 J6 J7 SNO S1 J表 JNAME CITY 三建 一汽 弹簧厂 酬厂 机车厂 无线电厂 半导体厂 SPJ表 PNO P1 北京 长春 天津 夭津 唐山 常州 南京 JNO J1 J3 QTY 200 100 S1 P1 S1 S1 S2 S2 S2 S2 S2 S2 S3 S3 S4 S4 S4 S5 S5 S5 S5 P1 P2 P3 P3 P3 P3 P5 P5 P1 P3 P5 P6 P6 P2 P3 P6 P6 J4 J2 J1 J2 J4 J5 J1 J2 J1 J1 J1 J3 J4 J4 J1 J2 J4 700 100 400 200 500 400 400 100 200 200 100 300 200 100 200 200 500 试分别用关系代数完成如下查询:

(1)求供应工程J1零件的供应商号SNO; 答 关系代数

JTSNO( OjNO=jjr

(SPJ))

(2)求供应工程J1零件Pl的供应商号SNO; 答 关系代数

7TSNO(

O jNo=jr A PNO^PV

(SPJ))

HP)))

(3)求供应工程JI零件为红色的供应商号SNO; 答 关系代数

7TSNO(7T SN0,PN0(0jN0=Jr

(SPJ)) X RpNofa

COLOR』

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

关系代数

7TJNO(J )\"7TJNO(7TSNO(

0 CITY='天津'(S) ) X JTSNO,PNO. JNO(SPJ )

7TPNO(OCOLOR=,

HP)))

解析

减法运算中被减的部分是使用了天津供应商生产的红色零件的所有工程号,nJNO (J)是 全部工程的工程号,两者相减就是没有使用天津供应商生岀的红色零件的工程号,包括没有 使用任何零件的工程号。

⑸求至少用了 S1供应商所供应的全部零件的工程号JNO; 答 关系代数

TTJNO, PNO

(SPJ) HpN0(aSN0=Sl(SPJ))

解析

上面公式中除号前的部分是所有工程与该工程所用的零件,除号后的部分是S1所供应 的全部零件号。对于SPJ表中的某一个JNO,如果该工程使用的所有零件的集合包含S1所 供应的全部零件号,则该JNO符合本题条件,在除法运算的结果集中。可以看到,使用关 系代数的除法运算概念清晰,语言表达也很简单。

7.关系代数的基本运算有哪些? 选择、投影、并、差和笛卡儿枳五种。 第4章关系数据库的标准语言SQL

5. 针对习题3中的4个表试用SQL完成如下操作。

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

SELECT SNAME, CITY FROM S:

(5) 找出上海厂同提供的所有零件号码

SELECT DISTINCT PNO FROM SPJ WHERE SNO IN

(SELECT SNO FROM S WHERE CITY='上海');

(8) 把所有红色的零件的颜色改成蓝色

UPDATE P SET COLOR』蓝'WHERE COLOR』红'

(10)从供应商的关系中删除S2的记录,并从供应关系中删除相应记录。 DELETE FROM SPJ WHERE SNO= '2'; DELETE FROM S WHERE SNO= 'S2'; 6. 什么是基本表?什么是视图?两者的区别和联系是什么?

基本表是本身独立存在的表。

视图是人一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数 据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表 中。用户可以如同基本表那样使用视图,可以在视图上再定义视图。 7. 试述视图的优点。

1) 视图能简化用户的操作;

2) 视图使用户能以多种角度看待同一数据: 3) 视图对重构数据库提供了一定程度的逻辑独立性; 4) 视图能够对机密数据提供安全保护。

9. 哪类视图是可以更新的?

基本表的行列子集视图是可以更新的。

第5章数据库的安全性 1什么是数据库的安全性?

答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改过破坏。 试述实现数据库安全性控制的常见方法和技术 3实现数据库安全性控制的常见方法和技术有:

(1) 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次 用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。

(2) 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所 有未被授权的人无法存取数据。例如C2集中地自主存取控制(DAC), B1集中的强制存取控 制(MAC)。

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

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

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

6.什么是数据库的审计功能,为什么要提供审计功能?

答:审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到 系统的审计日志中。

因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用 数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件, 找出非法存取数据的人、时间和内容等。 第6章数据库的完整性

1. 什么是数据库的完整性?

答:数据库的完整性是指数据的正确性和相容性。

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

职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码; 部门(部门号,名称,经理名,地址,电话号),其中部门号是主码。

用SQL语言定义这两个关系模式,要求在模式中完成以卞完整性约束条件的定义: 定义每个模式的主码;定义参照完整性;定义职工年龄不超过60岁。 答:CREATE TABLE DEPT

(Deptno NUMBER(2), Deptname VARCHAR(IO), Manager VARCHAR(10)z PhoneNumber Char(12)

CONSTRAINT PK_SC PRIMARY KEY (Deptno));

CREATE TABLE EMP

(Empno NUMBER(4) primary key, Ename VARCHAR(IO), Age NUMBER(2),

CONSTRAINT Cl CHECK (Aage < =60), Job VARCHAR ⑼' Sal NUMBER(7Z2), Deptno NUMBER(2), CONSTRAINT FK_DEPTNO

FOREIGN KEY(Deptno)

REFERENCES DEPT(Deptno));

7关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般

是如何分别进行处理的?

答:对于违反实体完整性和用户定义完整性的操作,一般都采用拒绝执行的方式处理。而对 于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的 操作,以保证数据的正确性。 第7章数据库恢复技术

5.数据库的恢复技术有哪些?

数据转储和登录日志文件是数据库恢复的基本技术。

当系统运行过程中发生故障,利用转储的数据库后备副本和口志文件就可以将数据库恢复到 故障前的某个一致性状态。 第8章并发控制

1. 在数据库中为什么要并发控制?

答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取 数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制 就可能读取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必 须提供并发控制机制。 2. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情 况?

答:并发操作带來的数据不一致性包括三类:丢失修改、不可重复读和读“脏” 数据。

(1) 丢失修改

两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)

T1提交的结果,导致T1的修改被丢失。

(2) 不可重复读

不可重复读是指事务T1读取数据后,事务T2提交执行更新操作,使T1无 法再现前一次读取结果。

(3) 读”脏”数据

读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同 一数据后,T1由于某种原因被撤销,这时T1己修改过的数据恢复原值,T2读到 的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正 确的数据。

避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。也可 以用其他技术,例如在分布式数据库系统中可以采用时间戳方法來进行并发控 制 4. 基本的封锁类型有儿种?试述它们的含义。

答:基本的封锁类型有两种:排它锁和共享锁。

排它锁乂称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修 改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就 保证了其他事务在T释放A上的锁之前不能再读取和修改Ao

共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A 但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的 S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任 何修改。 5. 如何用封锁机制保证数据的一致性?

答:DBMS在对数据进行读、写操作之前首先对该数据执行封锁操作,例如下 图中事务T1在对进行修改之前先对A执行Xock (A),即对A加X锁。这样,当 T2请求对A加X锁是就被拒绝,T2只能等待T1释放A上的锁后才能获得对A 的X锁,这时它读到的A是T1更新后的值,再按此新的A值进行运算。这样 就 不会丢失T1的更新。

T1 T2 ① XlockA获得 ② 读A二16 Xlock A ③ A<-A-1 写回A=15 Commit 等待 等待 Un lock A ④ 等待 等待 获得Xlock A 读 A=15 A<-A-1 写回A=14 Commit Unlock A ⑤

DBMS按照一定的封锁协议,对并发控制进行控制,使得多个并发操作有序地执 行,就可以避免丢失修改、不可重复读和读“脏”数据等数据不一致性。 5.什么是封锁协议?不同级别的封锁协议的主要区别是什么?

答:在运用封锁技术对数据加锁时,要约定一些规则。例如,在运用X锁和S 锁对数据对象加锁时,要约定何时申请X锁或S锁、何时释放封锁等。这些约定 或者规则称为封锁协议。对封锁方式约定不同的规则,就形成了各种不同的封锁 协议、不同级别的封锁协议,例如三级封锁协议,三级封锁协议的主要区别在于

什么操作需要申请封锁,何时申请封锁以及何时释放锁(即持锁时间的长短)。 一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束 才释放。

二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S 锁,读完后即可释放S锁。

三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S 锁,直到事务结束才释放。

8. 什么是活锁?什么是死锁? 答:

T1

Lock R

Lock R

等待

Unlock

等待

lock R

Lock R

Lock R Unlock

等待 等待 等待

等待

等待 等待 等待

Lock R

如果事务T1封锁了 封锁R,当T1释放了 R 然后T4又请求封锁R,当T3释放了 R上,青求封锁R,于启T2等待。T3也请求 数据R,事务T2又 . …

的封锁之后系统又批准了 T4的请 求……T2有可能永远等待,这就是活锁的情形。活锁

上的封锁之后系统堵先批准了 T3的'请求,T2仍然等待。

的含义是该等待事务等待 时间太长,似乎被锁住了,实际上可能被激活。

如果事务T1封锁了数据R1, T2封锁了数据R2,然后「乂请求封锁R2, 因T2己封锁了 R2,于是T1等待T2释放R2上的锁。接着T2又申请分所R1, 因门己封锁了 R1,也只能T1释放R1上的锁。这样就出现了门在等待T2,而 T2 乂在等待T1的局面,「和T2两个事务永远不能结束,形成死锁。

T1 T2

lock R1

■ •

Lock R2

等待

• Lock R2

• ■ lock Rl.

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

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

避免活锁的简单方法是釆用先來先服务的策略。当多个事务请求封锁同一数 据对象时,

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

10. 请给出预防死锁的若干方法。

答:在数据库中,产生死锁的原因是两个或多个事务都己封锁了一些数据对象, 然后乂都请求已被其他事务封锁的数据加锁,从而出现死等待。

防止死锁的发生其实就是要破坏产生死锁的条件。预防死锁通常有两种方 法:

(1) 一次封锁法,要求每个事务必须一次将所有要使用的数据全部加锁, 否则就不能继续执行;

(2) 顺序封锁法,预先对数据对象规定一个封锁顺序,所有事务都能按这 个顺序实行封锁。

不过,预防死锁的策略不大适合数据库系统的特点,具体原因可参加《概论》 8.4 a 11. 请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?

答:数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。 DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。 超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。 超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时, 系统会误认为发生了死锁。若时限设置的太长,乂不能及时发现死锁发生。

DBMS并发控制子系统检测到死锁后,就要设法解除。通常釆用的方法是选 择一个处理死锁代价最小的事务,将其撤销,释放此事务持有的所有锁,使其他 事务得以继续运行下去。当然,对撤销的事务所执行的数据修改操作必须加以恢 复。

12. 什么样的并发调度是正确的调度? 答:可串行化的调度室正确的调度。

可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果 与按某一

次序串行执行它们时的结果相同,称这种调度策略为可串行化的调度。 13・设Tl, T2, T3是如下的3个事务:

Tl: A=A+2; T2: A=A*2; T3: A=A**2;(A<-A )

设A的初值为0.

(1) 若这三个事务允许并行执行,则有多少可能的正确结果,请一一列举 出來。 答:A的最终结果可能有2、4、8、16o

因为串行执行次序有T订2T3、T订3T2、T2T订3、T2T3「、T3T订2、T3T2「。 对应的执行结果是16、8、4、2、4、2c

(2) 请给出一个可串行化的调度,并给出执行结果。

答:

Slock A Y=A=0 Unlock A Xlock A

Slock A

A 二 Y+2

写回A (=2)

Unlock A

等待 等待 等待

Y=A=2 Unlock A Xlock A

Slock A

A=Y*2

等待 等待 等待

Y=A=4 Unlock A Xlock A A=Y**2

写回A (=4)

Unlock A

写回A (=16)

Unlock A

最后结果A为16,是可串行化的调度。

(3) 请给出一个非串行化的调度,并给出执行结果。

T1 Slock A Y=A=0 Unlock A

T2

T3

Xlock A

Slock A Y=A=0 Unlock A

等待 A 二 Y+2 写回A (=2)

Unlock A

Slock A

等待

Y=A=2 Unlock A Xlock A

Xlock A

等待 Y=Y**2

等待 写回A (=4) 等待 Unlock A

A=Y*2

写回A (=0)

Unlock A

最后结果A为0,为非串行化的调度。

(4) 若这3个事务都遵守两段锁协议,请给出一个不穿生死锁的可串行化调度。 答:

T1T2 T3

Slock A Y=A=0 Xlock A A 二 Y+2

Slock A

写回A (=2)

Unlock A

等待 等待

Y=A=2 Xlock A

Unlock A

等待

A=Y*2

Slock A

写回A(=4)

Unlock A Unlock A

等待 等待

等待

Y=A=4 Xlock A A=Y**2

写回A (=16)

Unlock A

Unlock A

⑸若这3个事务都遵守两段锁协议,请给出一个产生死锁的调度。 答:

Ti

T2

T3

Slock A Y=A=0

Slock A Y=A=0

Xlock A

等待

Xlock A

等待

Slock Y=A=0 Xlock

A

A

14.试述两段锁协议的概念。 等待

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

•在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁; •在释放一个封锁之后,事务不再申请和获得任何其他封锁。

“两段”的含义是,事务分为两个阶段:

第一阶段是获得封锁,也称为扩展阶段,在这个阶段,事务可以申请获得任何 数据项上的任何类型的锁,但是不能释放任何锁;

第二阶段是释放封锁,也称为收缩阶段,在这阶段,事务释放己经获得的锁, 但是不能再申请任何锁。

第十章概念模型与E-R方法

1.什么是概念模型?概念模型的作用是什么?

答:概念模型实际上是现实世界机器的一个中间层次。概念模型用于信息世界的建模,是现 实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据 库人员和用户之间进行交流的语言。

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

1

m

总经理

~aS~ ~~

教贝 课程 部门 科研项目 9. 学校总有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授

和副教授没人各带若干研究生,每个学生选修若干课程,每门课程可由若干学生选修。请用 E-R图画出此学校的概念模型。 答:

学校

课程

10・某工厂生产若干个产品,每种产品由不同的零件组成,有的零件可用在不同的产品

上。 这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品 分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品,零件,材 料,仓库的概念模型。 答:

产品

m

n

第十二章数据库设计步骤

1.试述数据库设计过程

(1) 需求分析 (2) 概念结构设计 (3) 逻辑结构设计 (4) 数据库物理设计 (5) 数据库实施

(6) 数据库运行和维护

这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本 身,还包括数据库的实施、运行和维护。

设计一个完善的数据库应用系统往往是上述六个阶段的不断重复。 5. 需求分析阶段的设计目标是什么?调查的内容是什么?

需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、 企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各 种需求,然后在此基础上确定新系统的功能。

调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求:

(1)信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求 可以导出数据要求,即在数据库中可以储存哪些数据;

(2) 处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求, 处理方式是批处理还是联机处理;

(3) 安全性与完整性要求。

6. 数据字典的内容和作用是什么?

数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:

(1) 数据项 (2) 数据结构 (3) 数据流 (4) 数据储存

(5) 处理过程五个部分

其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数 据字典通过对数据项和数据结构的定义來描述数据流和数据储存的逻辑内容。

数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立, 是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。 7. 什么是数据库的概念结构?试述其特点和设计策略。

概念结构是信息世界的结构,即概念模型,其主要特点是:

(1) 能真实、充分的反映现实世界,包括事物和事物之间的联系,能满足用户 对数据的处理要求,是对现实世界的一个真实模型;

(2) 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参 与是数

据库设计成功的关键;

(3) 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充; (4) 易于向关系、网状、层次等各种数据模型转换。

概念结构的设计策略通常有四种:

1) 自顶向下,即首先定义全局概念结构的框架,然后逐步细化;

2) 自底向上,即首先定义各局部应用的概念结构,然后将它们集成起來,得到 全局概念结构;

3) 逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方 式逐步声称其他概念结构,直至总体概念结构;

4) 混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局 概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。

12. 什么是数据库的逻辑结构设计?试述其设计步骤。

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

(1) 将概念结构转换为一般的关系、网状、层次模型;

(2) 将转换來的关系、网状、层次模型向特定DBMS支持下的数据模型转换; (3) 对数据模型进行优化

13. 试述把E-R图转换为DBTG模型和关系模型的转换规则:

E-R图向关系模型的转换规则: 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是 关系的码。 对于实体间的联系则有以下不同的情况:

(1) 一个1: 1联系可以转换为一个独立的关系模式,也可以与任意一端对应 的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的 码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选 码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入 另一个关系模式的码和联系本身的属性。

(2) —个1: n联系可以转换为一个独立的关系模式,也可以与n端对应的关 系模

式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以 及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

(3) 一个m: n联系转换为一个关系模式。与该联系相连的各实体的码以及 联系本身的属性均转换为关系的属性,各实体的码组合组成该关系的码,或码的 一部分。

(4) 3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该 多元联

系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的 码为各实体码的组合。

(5) 具有相同码的关系模式可以合并。 19.试述数据库物理设计的内容和步骤。

数据库在物理设备上的储存结构与储存方法称为数据库的物理结构,它依赖于 给定的DBMSo为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构, 就是数据库的物理设计的主要内容。

数据库的物理设计步骤通常分为两步:

(1) 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构; (2) 对物理结构进行评价,评价的重点是时间效率和空间效率。

24.请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括读 者号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出 版社。对每本被借出的书存有读者号、借出日期和应还日期。要求:给出E-R图,

借书(读者号,书号,接触日期,应还日期)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top