数据库期末复习总结

时间:2019-05-12 04:49:05下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《数据库期末复习总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《数据库期末复习总结》。

第一篇:数据库期末复习总结

数据库原理综合习题答案

1.1 名词解释

(1)DB:即数据库(Database),是统一管理的相关数据的集合。DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。

(2)DBMS:即数据库管理系统(Database Management System),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。

(3)DBS:即数据库系统(Database System),是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

(4)1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,那么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。

(5)1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。

(6)M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。

(7)数据模型:模型是对现实世界的抽象。在数据库技术中,表示实体类型及实体类型间联系的模型称为“数据模型”。它可分为两种类型:概念数据模型和结构数据模型。

(6)概念数据模型:是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。

(9)结构数据模型:是直接面向数据库的逻辑结构,是现实世界的第二层抽象。这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。它主要有:层次、网状、关系三种模型。

(10)层次模型:用树型结构表示实体类型及实体间联系的数据模型。

(11)网状模型:用有向图结构表示实体类型及实体间联系的数据模型。

(12)关系模型:是目前最流行的数据库模型。其主要特征是用二维表格结构表达实体集,用外鍵表示实体间联系。关系模型是由若干个关系模式组成的集合。

(13)概念模式:是数据库中全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成。概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。

(14)外模式:是用户与数据库系统的接口,是用户用到的那部

分数据的描述。

(15)内模式:是数据库在物理存储方面的描述,定义所有的内部记录类型、索引和文件的组成方式,以及数据控制方面的细节。

(16)模式/内模式映象:这个映象存在于概念级和内部级之间,用于定义概念模式和内模式间的对应性,即概念记录和内部记录间的对应性。此映象一般在内模式中描述。

(17)外模式/模式映象:这人映象存在于外部级和概念级之间,用于定义外模式和概念模式间的对应性,即外部记录和内部记录间的对应性。此映象都是在外模式中描述。

(18)数据独立性:在数据库技术中,数据独立性是指应用程序和数据之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两级。

(19)物理数据独立性:如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式/内模式映象也要进行相应的修改,使概念模式尽可能保持不变。也就是对模式的修改尽量不影响概念模式。

(20)逻辑数据独立性:如果数据库的概念模式要进行修改(如增加记录类型或增加数据项),那么外模式/模式映象也要进行相应的修改,使外模式尽可能保持不变。也就是对概念模式的修改尽量不影响外模式和应用程序。

(21)宿主语言:在数据库技术中,编写应用程序的语言仍然是一些高级程序设计语言,这些语言称为宿主语言(host language),简称主语言。

(22)DDL:数据定义语言(Data Definition Language),用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映象,定义数据的完整性、安全控制等约束。

(23)DML:数据操纵语言(Data Manipulation Language),由DBMS提供,用于让用户或程序员使用,实现对数据库中数据的操作。DML分成交互型DML和嵌入型DML两类。依据语言的级别,DML又可分成过程性DML和非过程性DML两种。

(24)交互型DML:如果DML自成系统,可在终端上直接对数据库进行操作,这种DML称为交互型DML。

(25)嵌入型DML:如果DML嵌入在主语言中使用,此时主语言是经过扩充能处理DML语句的语言,这种DML称为嵌入型DML。

(26)过程性DML:用户编程时,不仅需要指出“做什么”(需要什么样的数据),还需要指出“怎么做”(怎么获得数据)。层状、网状的DML属于过程性语言。

(27)非过程性DML:用户编程时,只需要指出“做什么”,不需要指出“怎么做”。

Notice:以上关于DML的各个概念单独出现时,首先要解释DML的含义。

(28)DD:数据字典(Data Dictionary),数据库系统中存放三级结构定义的数据库称为数据字典。对数据库的操作都要通过访问DD才能实现。

(29)DD系统:管理DD的实用程序称为“DD系统”。

1.2 文件系统阶段的数据管理有些什么缺陷?试举例说明。

文件系统有三个缺陷:

(1)数据冗余性(redundancy)。由于文件之间缺乏联系,造成每个应用程序都有对应的文件,有可能同样的数据在多个文件中重复存储。

(2)数据不一致性(inconsistency)。这往往是由数据冗余造成的,在进行更新操作时,稍不谨慎,就可能使同样的数据在不同的文件中不一样。

(3)数据联系弱(poor data relationship)。这是由文件之间相互独立,缺乏联系造成的。

1.3 数据库阶段的数据管理有些什么特点?

(1)采用复杂的数据模型表示数据结构

(2)有较高的数据独立性(数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级)

(3)数据库系统为用户提供方便的用户接口,可以使用查询语言、终端命令或程序方式操作数据,也可以用程序方式操作数据库。

(4)系统提供了四个方面的数据控制功能:数据库的恢复、并发控制、数据完整性和数据安全性,以保证数据库中数据是安全的、正确的和可靠的。

(5)对数据的操作不一定以记录为单位,还可以数据项为单位,增加了系统的灵活性。

1.4 你怎样理解实体、属性、记录、字段这些概念的类型和值的差别?试举例说明。

实体(entity):是指客观存在可以相互区别的事物。实体可以是具体的对象,如:一个学生,一辆汽车等;也可以是抽象的事件,如:一次借书、一场足球赛等。

属性(attribute):实体有很多特性,每一个特性称为属性。每个属性有一个值域,其类型可以是整数型、实数型、字符串型。比如,学生(实体)有学号、姓名、年龄、性别等属性,相应值域为字符、字符串、整数和字符串型。

字段(field):标记实体属性的命名单位称为字段或数据项。它是可以命名的最小信息单位,所以又称为数据元素或初等项。字段的命名往往和属性名相同,比如,学生有学号、姓名、年龄、性别等字段。

记录(record):字段的有序集合称为记录。一般用一个记录描述一个实体,所以记录又可以定义为能完整地描述一个实体的字段集。如:一个学生记录,由有序的字段集(学号、姓名、年龄、性别等)组成。

1.5 逻辑记录与物理记录,逻辑文件与物理文件有些什么联系和区别?

联系:

(1)逻辑记录与物理记录都是记录,是字段的有序集合;

(2)逻辑文件与物理文件都是文件,是同一类记录的汇集。

区别:

(1)逻辑记录与逻辑文件是逻辑数据描述,物理记录与物理文件是物理数据描述。

(2)物理数据描述是指数据在存储设备上的存储方式,物理记录、物理文件(还有物理联系、物理结构等术语),都是用来描述实际存储设备上的数据。

(3)逻辑数据描述是指程序员或用户用以操作的数据形式,是抽象的概念化数据。逻辑记录、逻辑文件(还有逻辑联系、逻辑结构等术语),都是用户观点的数据描述。

1.6 为某百货公司设计一个ER模型。

百 货管辖若干个连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。实体类型“商店”的属性有:商店编号,店名,店址,店经理。实体类型“商品”的属性有:商品编号,商品名,单价,产地。实体类型“职工”的属性有:职工编号,职工名,性别,工资。在联系中应反映出职工参加某商店工作的开始时间,商店销售商品的月销售量。

试画出反映商店、商品、职工实体类型及联系类型的ER图,并将其转换成关系模式集。

实体:商店(商店编号,店名,店址,店经理)

商品(商品编号,商品名,单价,产地)

职工(职工编号,职工名,性别,工资)

联系:SC(商店—商品之间1:N的联系,联系属性为“职工参加商店工作的开始时间”。

SE(商店—职工之间1:N的联系),联系属性为“月销售量”。

关系模式集:商店模式(商店编号,店名,店址,店经理)

商品模式(商品编号,商品名,单价,产地,商店编号,月销售量)

职工模式(职工编号,职工名,性别,工资,商店编号,开始时间)

1.7 试述ER模型、层次模型、网状模型、关系模型和面向对象模型的主要特点。

ER模型的主要特点:

(1)优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。

(2)缺点:只能说明实体间语义的联系,不能进一步说明详细的数据结构。

层次模型的特点:

(1)优点:记录之间的联系通过指针实现,查询效率较高。

(2)缺点:只能表示1:N联系,实现M:N结构较复杂;由于层次顺序的严格和复杂,引起数据的查询和更新操作也很复杂。

网状模型的特点:

(1)优点:记录之间联系通过指针实现,M:N联系也容易实现(每个M:N联系可拆成两个1:N联系),查询效率较高。

(2)缺点:编写应用程序比较复杂,程序员必须熟悉数据库的逻辑结构。

关系模型的特点:

用关鍵码而不是用指针导航数据,表格简单,用户易懂,编程时并不涉及存储结构、访问技术等细节。

1.8 试述概念模式在数据库结构中的重要地位。

概念模式是数据库中

全部数据的整体逻辑结构的描述。它由若干个概念记录类型组成。概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这两级的相对稳定的中间观点,并使得两级的任何一级的改变都不受另一级的牵制。

1.9 数据独立性与数据联系这两个概念有什么区别?

数据独立性是指应用程序与数据之间相互独立,不受影响。

数据联系是指同一记录内部各字段间的联系,以及记录之间的联系。

1.10 试述DBMS在用户访问数据库过程中所起的作用.用户对数据库进行操作,DBMS把操作从应用程序带到外部级、概念级、再导向内部级,进而操作存储器中的数据。

(结合P22“用户访问数据的过程”来理解)

1.11 试述DBMS的主要功能。

DBMS的主要功能有:

(1)数据库的定义功能

(2)数据库的操纵功能

(3)数据库的保护功能

(4)数据库的存储管理

(5)数据库的维护功能

(6)数据字典

1.12 试叙DBMS对数据库的保护功能。

DBMS对数据库的保护主要通过四个方面实现:

(1)数据库的恢复。

(2)数据库的并发控制。

(3)数据库的完整性控制。

(4)数据库的安全性控制。

1.13 试叙DBMS对数据库的维护功能。

DBMS中有一些程序提供给数据库管理员运行数据库系统时使用,这些程序起着数据库维护的功能。

主要有四个实用程序:

(1)数据装载程序(loading)

(2)备份程序(backup)

(3)文件重组织程序

(4)性能监控程序

1.14 从模块结构看,DBMS由哪些部分组成?

从模块结构看,DBMS由两大部分组成:查询处理器和存储管理器

(1)查询处理器有四个主要成分:DDL编译器,DML编译器,嵌入型DML的预编译器,查询运行核心程序

(2)存储管理器有四个主要成分:授权和完整性管理器,事务管理器,文件管理器,缓冲区管理器

(以上几题具体可参照书上p20-21)

1.15 DBS由哪几个部分组成?

DBS由四部分组成:数据库、硬件、软件、数据库管理员。

1.16 什么样的人是DBA?DBA应具有什么素质?DBA的职责是什么?

DBA是控制数据整体结构的人,负责DBS的正常运行。DBA可以是一个人,在大型系统中也可以是由几个人组成的小组。DBA承担创建、监控和维护整个数据库结构的责任。

DBA应具有下列素质:

(1)熟悉企

业全部数据的性质和用途;

(2)对用户的需求有充分的了解;

(3)对系统的性能非常熟悉。

DBA的主要职责有五点:

(1)概念模式定义

(2)内模式定义

(3)根据要求修改数据库的概念模式和内模式

(4)对数据库访问的授权

(5)完整性约束的说明

1.17 试对DBS的全局结构作详细解释。

参照教材p24-25。

1.18 使用DBS的用户有哪几类? 使用DBS的用户有四类:

1)DBA

2)专业用户

3)应用程序员

4)最终用户

1.19 DBMS的查询处理器有哪些功能?

DBMS的查询处理器可分成四个成分:

1)DML编译器

2)嵌入型DML的预编译器

3)DDL编译器

4)查询运行核心程序

(各成分功能参照P24)

1.20 DBMS的存储处理器有哪些功能?

DBMS的存储处理器提供了应用程序访问数据库中数据的界面,可分成四个成分:

1)授权和完整性管理器

2)事务管理器

3)文件管理器

4)缓冲区管理器

(各成分功能参照P25)

1.21 磁盘存储器中有哪四类主要的数据结构?

数据文件:存储了数据库中的数据;

数据字典(DD):存储三级结构的描述;

索引文件:为提高查询速度而设置的逻辑排序手段;

统计数据组织:存储DBS运行时统计分析数据。

(1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。

(2)关系模式:关系模式实际上就是记录类型。它的定义包括:模式名,属性名,值域名以及模式的主键。关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。

(3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。

(4)属性:实体的一个特征。在关系模型中,字段称为属性。

(5)域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。

(6)元组:在关系中,记录称为元组。元组对应表中的一行;表示一个实体。

(7)超键:在关系中能唯一标识元组的属性集称为关系模式的超键。

(8)候选键:不含有多余属性的超键称为候选键。

(9)主键:用户选作元组标识的一个候选键为主键。(单独出现,要先解释“候选键”)

(10)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。

(11)实体完整性规则:这条

规则要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了唯一标识元组的作用。

(12)参照完整性规则: 这条规则要求“不引用不存在的实体”。其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。这条规则在使用时有三点应注意: 1)外键和相应的主键可以不同名,只要定义在相同值域上即可。2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。3)外键值是否允许空应视具体问题而定。

(13)过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。如Pascal和C语言等。

(14)非过程性语言:编程时只须指出需要什么信息,不必给出具体的操作步骤。各种关系查询语言均属于非过程性语言。

(15)无限关系:当一个关系中存在无穷多个元组时,此关系为无限关系。如元组表达式{t|┐R(t)}表示所有不在关系R中的元组的集合,这是一个无限关系。

(16)无穷验证:在验证公式时需对无穷多个元组进行验证就是无穷验证。如验证公式(u)(P(u))的真假时需对所有的元组u进行验证,这是一个无穷验证的问题。

2.2 为什么关系中的元组没有先后顺序?

因为关系是一个元组的集合,而元组在集合中的顺序无关紧要。因此不考虑元组间的顺序,即没有行序。

2.3 为什么关系中不允许有重复元组?

因为关系是一个元组的集合,而集合中的元素不允许重复出现,因此在关系模型中对关系作了限制,关系中的元组不能重复,可以用键来标识唯一的元组。

2.4 关系与普通的表格、文件有什么区别?

关系是一种规范化了的二维表格,在关系模型中,对关系作了下列规范性限制:

1)关系中每一个属性值都是不可分解的。

2)关系中不允许出现相同的元组(没有重复元组)。

3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。

4)元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。

2.5 笛卡尔积、等值联接、自然联接三者之间有什么区别?

笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。

等值联接则是在笛卡尔积的结果上再进行选择操作,从关系R和S的笛卡儿积中选择对应属性值相等的元组;

自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。当两个关系没有公共属性时,自然连接就转化我笛卡尔积。

2.8 如果R是二元关

系,那么下列元组表达式的结果是什么? {t|(u)(R(t)∧R(u)∧(t[1]≠u[1]∨t[2]≠u[2]))}

这个表达式的意思是:从关系R中选择元组,该元组满足:第1分量值或第2分量值至少有一个不等于其他某元组。由于R是二元关系,只有两个分量,由于没有重复元组,上述条件显然满足。所以,这个表达式结果就是关系R。

2.9 假设R和S分别是三元和二元关系,试把表达式π1,5(σ2=4∨3=4(R×S))转换成等价的:(1)汉语查询句子;(2)元组表达式;(3)域表达式。

(1)汉语表达式:

从R×S关系中选择满足下列条件的元组:

第2分量(R中第2分量)与第4分量(S中第1分量)值相等,或第3分量(R中第3分量)与第4分量(S中第1分量)值相等;并取第1列与第5列组成的新关系。

(2)元组表达式:{t|(u)(v)(R(u)∧S(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])}(3)域表达式:{xv|(y)(z)(u)(R(xyz)∧S(uv)∧(y=u∨z=u))}

2.10 假设R和S都是二元关系,试把元组表达式{t|R(t)∧(u)(S(u)∧u[1]≠t[2])}转换成等价的:(1)汉语查询句子;(2)域表达式:(3)关系代数表达式。

(1)汉语表达式:选择R关系中元组第2分量值不等于S关系中某元组第1分量值的元组。

(2)域表达式:{xy|(u)(v)(R(xy)∧S(uv)∧(u≠y))}(3)关系代数表达式:π1,2(σ2≠3(R×S))

2.11 试把域表达式{ab|R(ab)∧R(ba)}转换成等价的:

(1)汉语查询句子;(2)关系代数表达式;(3)元组表达式。

(1)汉语查询句子:选择R中元组第1分量值与第2分量值互换后仍存在于R中的元组。

(2)关系代数表达式:π1,2(σ1=4∧2=3(R×R));

(3)元组表达式:{t|(u)(R(t)∧R(u)∧t[1]=u[2]∧t[2]=u[1])}

试用关系代数表达式表示下列查询语句。(见下一题)

2.14 试用元组表达式表示上题中各个查询语句。

(1)检索LIU老师所授课程的课程号、课程名。

πC#,CNAME(σTEACHER='LIU'(C))

{t|(u)(C(u)∧C[3]='LIU'∧t[1]=u[1]∧t[2]=u[2])}

(2)检索年龄大于23岁的男学生的学号与姓名。

πS#,SNAME(σAGE>'23'∧SEX='男'(S))

{t|(u)(S(u)∧u[3]>'23'∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}

(3)检索学号为S3学生所学课程的课程名与任课教师名。πCNAME,TEACHER(σS#='S3'(SCC))

{t|(u)(v)(SC(u)∧C(v)∧u[1]='S3'∧v[1]=u[2]∧t[1]=v[2]∧t[2]=v[3])}

(4)检索至少选修LIU老

师所授课程中一门课程的女学生的姓名。

πSNAME(σSEX='女'∧TEACHER='LIU'(SSCC))

{t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[4]='女'∧v[1]=u[1]∧v[2]=w[1]∧w[3]='LIU'∧t[1]=u[2])}

(5)检索WANG同学不学的课程号。

πC#(C)-πC#(σSNAME='WANG'(SSC))

或者,πC#(SC)-πC#(σSNAME='WANG'(SSC))(全部课程号减去WANG同学所学的课程号){t|(u)(v)(C(u)∧SC(v)∧(u[1]=v[2]=>(w)(s(w)∧w[1]=v[1]∧W[2]≠'wang'))∧t[1]=u[1])}

(从C中选择满足条件的元组:SC中的所有元组,如果学号与C中所选元组相同的话,其在S中对应的姓名肯定不是'wang'。)

Notice:“p1=>p2”的含义是:如果p1为真,则p2为真。

(6)检索至少选修两门课程的学生学号。

πS#(σ1=4∧2≠5(SC×SC))

SC自乘之后,再选择(同一个学号中两个课程号不同的元组),投影。

{t|(u)(v)(SC(u)∧SC(v)∧u[1]=v[1]∧u[2]≠v[2])∧t[1]=u[1]}

(7)检索全部学生都选修的课程的课程号与课程名。

πC#,CNAME(C(πS#,C#(SC)÷πS#(S)))(涉及到全部值时,应用除法,“除数”是“全部”){t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[1]=v[1]∧v[2]=w[1]∧t[1]=v[1]∧t[2]=V[2])}

(8)检索选修课程包含LIU老师所授课程的学生学号。

πS#(σTEACHER='LIU'(SCC))

{t|(u)(v)(SC(u)∧C(v)∧u[2]=v[1]∧v[3]='LIU'∧t[1]=u[1])}

如果LIU老师有多门课程,则选修课程包含LIU老师所授全部课程的学生学号为:

πS#,C#(SC)÷πC#(σTEACHER='LIU'(C))

2.15 在教学数据库S、SC、C中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。(1)试写出该查询的关系代数表达式;(2)试写出查询优化的关系代数表达式。

(1)πCNAME,TEACHER(σSEX='女'(SSCC))

(2)优化为:πCNAME,TEACHER(CπC#(πS#,C#(SC)πS#(σSEX='女'(S))))

(基本思路:尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值。

2.16 在2.15题中,(1)画出该查询初始的关系代数表达式的语法树。

(2)使用2.4.4节的优化算法,对语法树进行优化,并画出优化后的语法树。

该查询初始的关系代数表达式的语法树

优化后的语法树

2.17 为什么要对关系代数表达式进行优化?

在关系代数运算中,各个运算所费时间和空间是不一样的。如何安排若干关系的运算操作步骤,直接影响到整个操作所需要的时间和空间。对关系代数表达式进行优化,可以提高系统的操作效率,达到执行过程即省时间又省空间的目的。

3.1 名词解释

(1)SQL模式:SQL模式是表和授权的静态定义。一个SQL模式定义为基本表的集合。一个由模式名和模式拥有者的用户名或账号来确定,并包含模式中每一个元素(基本表、视图、索引等)的定义。

(2)SQL数据库:SQL(Structured Query Language),即‘结构

式查询语言’,采用英语单词表示和结构式的语法规则。一个SQL数据库是表的汇集,它用一个或多个SQL模式定义。

(3)基本表:在SQL中,把传统的关系模型中的关系模式称为基本表(Base Table)。基本表是实际存储在数据库中的表,对应一个关系。

(4)存储文件:在SQL中,把传统的关系模型中的存储模式称为存储文件(Stored File)。每个存储文件与外部存储器上一个物理文件对应。

(5)视图:在SQL中,把传统的关系模型中的子模式称为视图(View),视图是从若干基本表和(或)其他视图构造出来的表。

(6)行:在SQL中,把传统的关系模型中的元组称为行(row)。

(7)列:在SQL中,把传统的关系模型中的属性称为列(coloumn)。

(8)实表:基本表被称为“实表”,它是实际存放在数据库中的表。

(9)虚表:视图被称为“虚表”,创建一个视图时,只把视图的定义存储在数据词典中,而不存储视图所对应的数据。

(10)相关子查询:在嵌套查询中出现的符合以下特征的子查询:子查询中查询条件依赖于外层查询中的某个值,所以子查询的处理不只一次,要反复求值,以供外层查询使用。

(11)联接查询:查询时先对表进行笛卡尔积操作,然后再做等值联接、选择、投影等操作。联接查询的效率比嵌套查询低。

(12)交互式SQL:在终端交互方式下使用的SQL语言称为交互式SQL。

(13)嵌入式SQL:嵌入在高级语言的程序中使用的SQL语言称为嵌入式SQL。

(14)共享变量:SQL和宿主语言的接口。共享变量有宿主语言程序定义,再用SQL的DECLARE语句说明,SQL语句就可引用这些变量传递数据库信息。

(15)游标:游标是与某一查询结果相联系的符号名,用于把集合操作转换成单记录处理方式。

(16)卷游标:为了克服游标在推进时不能返回的不便,SQL2提供了卷游标技术。卷游标在推进时不但能沿查询结果中元组顺序从头到尾一行行推进,也能一行行返回。

3.2 对于教学数据库的三个基本表

学生 S(S#,SNAME,AGE,SEX)

学习SC(S#,C#,GRADE)

课程 C(C#,CNAME,TEACHER)

试用SQL的查询语句表达下列查询:

(1)检索LIU老师所授课程的课程号和课程名。

SELECT C#,CNAME

FROM C

WHERE TEACHER=‘LIU’

(2)检索年龄大于23岁的男学生的学号和姓名。

SELECT S#,SNAME

FROM S

WHERE(AGE>23)AND(SEX=‘M’)

(3)检索至少选修LIU老师所授课程中一门课程的女学生姓名。

SELECT SNAME

FROM S

WHERE SEX=‘F’ AND S# IN

(SELECT S#

FROM SC

WHERE C# IN

(SELECT C#

OM C

WHERE TEACHER=‘LIU’)

NOTICE:有多种写法,比如联接查询写法:

SELECT SNAME

FROM S,SC,C

WHERE SEX=‘F’ AND SC.S#=S.S#

AND SC.C#=C.C#

AND TEACHER='LIU' 但上一种写法更好一些。

(4)检索WANG同学不学的课程的课程号。

SELECT C#

FROM C

WHERE C# NOT IN

(SELECT C#

FROM SC

WHERE S# IN

(SELECT S#

FROM S

WHERE SNAME='WANG'))

FR

(5)检索至少选修两门课程的学生学号。

SELECT DISTINCT X.SNO

FROM SC X,SC Y

WHERE X.SNO=Y.SNO AND X.CNO<>Y.CNO Notice:对表SC进行自连接,X,Y是SC的两个别名。

(6)检索全部学生都选修的课程的课程号与课程名。

SELECT C#,CNAME

FROM C

WHERE NOT EXISTS

(SELECT *

FROM S

WHERE S# NOT IN

(SELECT *

FROM SC

WHERE SC.C#=C.C#))

要从语义上分解:(1)选择课程的课程号与课程名,不存在不选这门课的同学。

其中,“不选这门课的同学”可以表示为:

SELECT *

FROM S

WHERE S# NOT IN

(SELECT *

FROM SC

WHERE SC.C#=C.C#)

或者

SELECT *

FROM S

WHERE

NOT EXISTS

(SELECT *

FROM SC

WHERE S.S#=C.S# AND

SC.C#=C.C#)

(7)检索选修课程包含LIU老师所授课的学生学号。

SELECT DISTINCT S#

FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE TEACHER='LIU'))

3.3 设有两个基本表R(A,B,C)和S(D,E,F),试用SQL查询语句表达下列关系代数表达式:

(1)πA(R)

(2)σB='17'(R)

(3)R×S

(4))πA,F(σC=D(R×S))(1)SELECT A FROM R

(2)SELECT * FROM R WHERE B='17'(3)SELECT A,B,C,D,E,F FROM R,S

(4)SELECT A,F FROM R,S WHERE R.C=S.D

3.4 3.4 设有两个基本表R(A,B,C)和S(A,B,C)试用SQL查询语句表达下列关系代数表达式:

(1)R∪S

(2)R∩S

(3)R-S

(4)πA,B(R)πB,C(S)

(1)SELECT A,B,C

FROM R

UNION

SELECT A,B,C

FROM S

(2)SELECT A,B,C

FROM R

INTERSECT

SELECT A,B,C

FROM S

(3)SELECT A,B,C

FROM R

WHERE NOT EXISTS

(SELECT A,B,C

FROM S

WHERE R.A=S.A AND R.B=S.B AND R.C=S.C)

(4)SELECT R.A,R.B,S.C

FROM R,S

WHE

RE R.B=S.B

3.5 试叙述SQL语言的关系代数特点和元组演算特点。

(P61-62)

3.6 试用SQL查询语句表达下列对教学数据库中三个基本表S、SC、C的查询:

(1)统计有学生选修的课程门数。

SELECT COUNT(DISTINCT C#)FROM SC

(2)求选修C4课程的学生的平均年龄。

SELECT AVG(AGE)

FROM S

WHERE S# IN

(SELECT S#

FROM SC

WHERE C#='C4')或者,SELECT AVG(AGE)

FROM S,SC

WHERE S.S#=SC.S# AND C#='004'

(3)求LIU老师所授课程的每门课程的学生平均成绩。

SELECT CNAME,AVG(GRADE)

FROM SC ,C

WHERE SC.C#=C.C# AND TEACHER='LIU'

GROUP BY C#

(4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

SELECT DISTINCT C#,COUNT(S#)

FROM SC

GROUP BY C#

HAVING COUNT(S#)>10

ORDER BY 2 DESC, C# ASC

(5)检索学号比WANG同学大,而年龄比他小的学生姓名。

SELECT X.SNAME

FROM S AS X, S AS Y

WHERE Y.SNAME='WANG' AND X.S#>Y.S# AND X.AGE

(6)检索姓名以WANG打头的所有学生的姓名和年龄。

SELECT SNAME,AGE

FROM S

WHERE SNAME LIKE 'WANG%'

(7)在SC中检索成绩为空值的学生学号和课程号。

SELECT S#,C#

FROM SC

WHERE GRADE IS NULL

(8)求年龄大于女同学平均年龄的男学生姓名和年龄。

SELECT SNAME,AGE

FROM S AS X

WHERE X.SEX='男' AND X.AGE>(SELECT AVG(AGE)FROM S AS Y WHERE Y.SEX='女')

(9)求年龄大于所有女同学年龄的男学生姓名和年龄。

SELECT SNAME,AGE

FROM S AS X

WHERE X.SEX='男' AND X.AGE>ALL(SELECT AGE FROM S AS Y WHERE Y.SEX='女')

3.7 试用SQL更新语句表达对教学数据库中三个基本表S、SC、C的各个更新操作:

(1)往基本表S中插入一个学生元组(‘S9’,‘WU’,18)。

INSERT INTO S(S#,SNAME,AGE)VALUES('59','WU',18)

(2)在基本表S中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把检索到的值送往另一个已存在的基本表STUDENT(S#,SANME,SEX)。

INSERT INTO STUDENT(S#,SNAME,SEX)

SELECT S#,SNAME,SEX

FROM S WHERE NOT EXISTS

(SELECT * FROM SC WHERE

GRADE<80 AND S.S#=SC.S#)

(3)在基本表SC中删除尚无成绩的选课元组。

DELETE FROM SC

WHERE GRADE IS NULL(4)把WANG同学的学习选课和成绩全部删去。

DELE

TE FROM SC

WHERE S# IN

(SELECT S#

FROM S

WHERE SNAME='WANG')

(5)把选修MATHS课不及格的成绩全改为空值。

UPDATE SC

SET GRADE=NULL

WHERE GRADE<60 AND C# IN

(SELECT C#

FROM C

WHERE CNAME='MATHS')

(6)把低于总平均成绩的女同学成绩提高5%。

UPDATE SC

SET GRADE=GRADE*1.05

WHERE GRADE<(SELECT AVG(GRADE)FROM SC)AND S# IN(SELECT S# FROM S WHERE SEX='F')

(7)在基本表SC中修改C4课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDATE语句实现)。

UPDATE SC

SET GRADE=GRADE*1.05

WHERE C#='C4' AND GRADE<=75

UPDATE SC

SET GRADE=GRADE*1.04

WHERE C#='C4' AND GRADE>75

3.8 在第1章例1.4中提到“仓库管理”关系模型有五个关系模式:

零件 PART(P#,PNAME,COLOR,WEIGHT)

项目 PROJECT(J#,JNAME,DATE)

供应商 SUPPLIER(S#,SNAME,SADDR)

供应 P_P(J#,P#,TOTOAL)

采购 P_S(P#,S#,QUANTITY)

(1)试用SQL DDL语句定义上述五个基本表,并说明主键和外键。

CREATE TABLE PART

(P# CHAR(4)NOT NULL,PNAME CHAR(12)NOT NULL,COLOR CHAR(10),WEIGHT REAL,PRIMARY KEY(P#))

CREATE TABLE PROJECT

(J# CHAR(4)NOT NULL,JNAME CHAR(12)NOT NULL,DATE DATE,PRIMARY KEY(J#))

CREATE TABLE SUPLIER

(S# CHAR(4)NOT NULL,SNAME CHAR(12),SADDR VARCHAR(20),PRIMARY KEY(S#))

CREATE TABLE P_P

(J# CHAR(4),P# CHAR(4),TOTAL INTEGER,PRIMARY KEY(J#,P#),FOREIGN KEY(J#)REFERENCE PROJECT(J#),FOREIGN KEY(P#)REFERENCE PART(P#))

CREATE TABLE P_S

(P# CHAR(4),S# CHAR(4),QUANTITY INTEGER,PRIMARY KEY(P#,S#),FOREIGN KEY(P#)REFERENCE PART(P#),FOREIGN KEY(S#)REFERENCE SUPLIER(S#))

(2)试将PROGECT、P_P、PART三个基本表的自然联接定义为一个视图VIEW1,PART、P_S、SUPPLIER 三个基本表的自然联接定义为一个视图VIEW2。

CREATE VIEW VIEW1(J#,JNAME,DATE,P#,PNAME,COLOR,WEIGHT,TOTAL)

AS SELECT PROJECT.J#,JNAME,DATE,PART.P#,PNAME,COLOR,WEIGHT,TOTAL

FROM PROJECT,PART,P_P

WHERE PART.P#=P_P.P# AND P_P.J#=PROJECT.J

#CREATE VIEW VIEW2(P#,PNAME,COLOR,WEIGHT,S#,SNAME,SADDR,QUANTITY)

AS SELECT PART.P#,PNAME,COLOR,WEIGHT,SUPPLIER.S#,SNAME,SADDR,QUA

NTITY

FROM PART,P_S,SUPPLIER

WHERE PART.P#=P_S.P# AND P_S.S#=SUPPLIER.S#

(3)试在上述两个视图的基础上进行数据查询:

1)检索上海的供应商所供应的零件的编号和名字。

SELECT P#,PNAME FROM VIEW2 WHERE SADDR='SHANGHAI'

2)检索项目J4所用零件的供应商编号和名字。

SELECT S#,SNAME FROM VIEW2 WHERE P# IN(SELECT P# FROM VIEW1 WHERE J#='J4')

3.9 对于教学数据库中基本表SC,已建立下列视图:

CREATE VIEW S_GRADE(S#,C_NUM,AVG_GRADE)

AS SELECT S#,COUNT(C#),AVG(GRADE)

FROM SC

GROUP BY S#

试判断下列查询和更新是否允许执行。若允许,写出转换到基本表SC上的相应操作。

(1)SELECT *

FROM S_GRADE

允许

SELECT S#,COUNT(C#),AVG(GRADE)FROM SC GROUP BY S#

(2)SELECT S#,C_NUM

FROM S_GRADE

WHERE AVG_GRADE>80

允许

SELECT S#,COUNT(C#)FROM SC WHERE AVG(GRADE)>80

(3)SELECT S#,AVG_GRADE

FROM S_GRADE

WHERE C_NUM>(SELECT C_NUM

FROM S_GRADE

WHERE S#=‘S4’)

允许

SELECT S#,AVG(GRADE)

FROM SC AS X

WHERE COUNT(X.C#)>(SELECT COUNT(Y.C#)FROM SC AS Y WHERE Y.S#='S4')

GROUP BY S#

(4)UPDATE S_GRADE

SET C_NUM=C_NUM+1

WHERE S#=‘S4’

不允许

(5)DELETE FROM S_GRADE

WHERE C_NUM>4

不允许

3.10 预处理方式对于嵌入式SQL的实现有什么重要意义?

预处理方式是先用预处理程序对源程序进行扫描,识别出SQL语句,并处理成宿主语言的函数调用形式;然后再用宿主语言的编译程序把源程序编译成目标程序。这样,不用扩充宿主语言的编译程序,就能处理SQL语句。

3.11 在宿主语言的程序中使用SQL语句有哪些规定?

在宿主语言的程序中使用SLQ语句有以下规定:

(1)在程序中要区分SQL语句与宿主语言语句

(2)允许嵌入的SQL语句引用宿主语言的程序变量(称为共享变量),但有两条规定:

1)引用时,这些变量前必须加“:”作为前缀标识,以示与数据库中变量有区别。

2)这些变量由宿主语言的程序定义,并用SQL的DECLARE语句说明。

(3)SQL的集合处理方式与宿主语言单记录处理方式之间要协调。需要采用

游标机制,把集合操作转换成单记录处理方式。

3.12 SQL的集合处理方式与宿主语言单记录处理方式之间如何协调?

由于SQL语句处理的是记录集合,而宿主语言语句一次只能处理一个记录,因此需要用游标(cousor)机制,把集合操作转换成单记录处理方式。

2.13 嵌入式SQL语句何时不必涉及到游标?何时必须涉及到游标?

(1)INSERT、DELETE、UPDATE语句,查询结果肯定是单元组时的SELECT语句,都可直接嵌入在主程序中使用,不必涉及到游标。

(2)当SELECT语句查询结果是多个元组时,此时宿主语言程序无法使用,一定要用游标机制把多个元组一次一个地传送给宿主语言处理。

4.1 名词解释

(1)函数依赖:FD(function dependency),设有关系模式R(U),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y], 则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。

(2)函数依赖的逻辑蕴涵:设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y,记为F|=X→Y。

(3)部分函数依赖:即局部依赖,对于一个函数依赖W→A,如果存在XW(X包含于W)有X→A成立,那么称W→A是局部依赖,否则称W→A为完全依赖。

(4)完全函数依赖:见上。

(5)传递依赖:在关系模式中,如果Y→X,X→A,且XY(X不决定Y),AX(A不属于X),那么称Y→A是传递依赖。

(6)函数依赖集F的闭包F+: 被逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包(closure),记为F+。

(7)1NF: 第一范式。如果关系模式R的所有属性的值域中每一个值都是不可再分解的值, 则称R是属于第一范式模式。如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数据库模式。第一范式的模式要求属性值不可再分裂成更小部分,即属性项不能是属性组合和组属性组成。

(8)2NF: 第二范式。如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。(注:如果A是关系模式R的候选键的一个属性,则称A是R的主属性,否则称A是R的非主属性。)

(9)3NF:第三范式。如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF的数据库模式。

(10)BCNF:BC范式。如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R

是BCNF的模式。

(11)4NF:第四范式。设R是一个关系模式,D是R上的多值依赖集合。如果D中成立非平凡多值依赖X→→Y时,X必是R的超键,那么称R是第四范式的模式。

(12)推理规则的正确性和完备性:正确性是指,如果X→Y是从推理规则推出的,那么X→Y在F+中。完备性是指,不能从F使用推理规则导出的函数依赖不在F+中。

(13)依赖集的覆盖和等价:关系模式R(U)上的两个函数依赖集F和G,如果满足F+=G+,则称F和G是等价的。如果F和G等价,则可称F覆盖G或G覆盖F。

(14)最小依赖集:如果函数集合F满足以下三个条件:(1)F中每个函数依赖的右部都是单属性;(2)F中的任一函数依赖X→A,其F-{X→A}与F是不等价的;(3)F中的任一函数依赖X→A,Z为X的子集,(F-{X→A})∪{Z→A}与F 不等价。则称F为最小函数依赖集合,记为Fmin。

(15)无损联接:设R是一关系模式,分解成关系模式ρ={R1,R2...,Rk},F是R上的一个函数依赖集。如果对R中满足F的每一个关系r都有r=πR1(r)πR2(r)...πRk(r)则称这个分解相对于F是“无损联接分解”。

(16)保持依赖集:所谓保持依赖就是指关系模式的函数依赖集在分解后仍在数据库中保持不变,即关系模式R到ρ={R1,R2,...,Rk}的分解,使函数依赖集F被F这些Ri上的投影蕴涵。

(17)多值依赖:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,并且Z=U-X-Y, 用x,y,z分别代表属性集X,Y,Z的值,只要r是R的关系,r中存在元组(x,y1,z1)和(x,y2,z2)时,就也存在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖(MultiValued Dependency MVD)X→→Y在关系模式R中成立。

4.2 关系模式R有n个属性,在模式R上可能成立的函数依赖有多少个? 其中平凡的函数依赖有多少个?非平凡的函数依赖有多少个?

(要考虑所有可能的情况,数学排列组合问题。对于数据库本身而言,本题没多大意义)

所有属性相互依赖时,函数依赖最多。

·

平凡的函数依赖:对于函数依赖X→Y,如果YX,那么称X→Y是一个“平凡的函数依赖”。

4.3 建立关于系、学生、班级、社团等信息的一个关系数据库,一个系有若干个专业,每个专业每年只招一个班,每个班有若干个学生,一个系的学生住在同一宿舍区,每个学生可以参加若干个社团,每个社团有若干学生。

描述学生的属性有:学号、姓名、出生年月、系名、班级号、宿舍区。

描述班级的属性有:班级号、专业名、系名、人数、入校年份。

描述系的属性有:系名、系号、系办公地点、人数。

描述社团的属性有:社团名、成立年份、地点、人数、学生参加某社团的年份。

请给出关系模式,写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况,讨论函数依赖是完全函数依赖还是部分函数依赖。指出各关系的候选键、外部键,有没有全键存在?

各关系模式如下:

学生(学号,姓名,出生年月,系名,班级号,宿舍区)

班级(班级号,专业名,系名,人数,入校年份)

系(系名,系号,系办公地点,人数)

社团(社团名,成立年份,地点,人数)

加入社团(社团名,学号,学生参加社团的年份)

学生(学号,姓名,出生年月,系名,班级号,宿舍区)

●“学生”关系的最小函数依赖集为:

Fmin={学号→姓名,学号→班级号,学号→出生年月,学号→系名,系名→宿舍区} ●以上关系模式中存在传递函数依赖,如:学号→系名,系名→宿舍区

●候选键是学号,外部键是班级号,系名。

notice: 在关系模式中,如果Y→X,X→A,且XY(X不决定Y),A不属于X,那么称Y→A是传递依赖。

班级(班级号,专业名,系名,人数,入校年份)

●“班级”关系的最小函数依赖集为:

Fmin={(系名,专业名)→班级号,班级号→人数,班级号→入校年份,班级号→系名,班级号→专业名}

(假设没有相同的系,不同系中专业名可以相同)●以上关系模式中不存在传递函数依赖。

●“(系名,专业名)→班级号”是完全函数依赖。

●候选键是(系名,专业名),班级号,外部键是系名。

系(系名,系号,系办公地点,人数)

●“系”关系的最小函数依赖集为: Fmin={系号→系名,系名→系办公地点,系名→人数,系名→系号}

●以上关系模式中不存在传递函数依赖

●候选键是系名,系号

社团(社团名,成立年份,地点,人数)

●“社团”关系的最小函数依赖集为: Fmin={社团名→成立年份,社团名→地点,社团名→人数)

●以上关系模式中不存在传递函数依赖。

●候选键是社团名

加入社团(社团名,学号,学生参加社团的年份)

●“加入社团”关系的最小函数依赖集为: Fmin={(社团名,学号)→学生参加社团的年份)●“(社团名,学号)→学生参加社团的年份”是完全函数依赖。

●以上关系模式中不存在传递函数依赖。

●候选键是(社团名,学号)。

4.4 对函数依赖X→Y的定义加以扩充,X和Y可以为空属性集,用φ表示,那么X→φ,φ→Y,φ→φ的含义是什么?

根据函数依赖的定义,以上三个表达式的含义为:

(1)一个关系模式R(U)中,X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2, 由t1[X]=t2[X]必有t1[φ]=t2[φ]。即X→φ表示空属性函数依赖于X。这是任何关系中都存在的。

(2)φ→Y表示Y函数依赖于空属性。由此可

知该关系中所有元组中Y属性的值均相同。

(3)φ→φ表示空属性函数依赖于空属性。这也是任何关系中都存在的。

4.5 已知关系模式R(ABC),F={A→C,B→C},求F+。

可以直接通过自反律、增广律、传递律加以推广:

F+={φ→φ,A→φ,B→φ,C→φ,A→C,B→C,AB→φ,AB→A,AB→B,AB→C,AB→BC,AB→AB,AB→ABC,BC→φ,BC→C,BC→B,BC→BC,AC→φ,AC→C,AC→A,AC→AC,ABC→φ,ABC→A,ABC→B,ABC→C,ABC→BC,ABC→AB,ABC→ABC}

4.6 试分析下列分解是否具有无损联接和保持函数依赖的特点:

(1)设R(ABC),F1={A→B} 在R上成立,ρ1={AB,AC}。

首先,检查是否具有无损联接特点:

第1种解法--算法4.2:

(1)构造表

(2)根据A→B进行处理

结果第二行全是a行,因此分解是无损联接分解。

第2种解法:(定理4.8)设 R1=AB,R2=AC

R1∩R2=A

R2-R1=B

∵A→B,∴该分解是无损联接分解。

然后,检查分解是否保持函数依赖

πR1(F1)={A→B,以及按自反率推出的一些函数依赖}

πR2(F1)={按自反率推出的一些函数依赖}

F1被πR1(F1)所蕴涵,∴所以该分解保持函数依赖。

(2)设R(ABC),F2={A→C,B→C}在R上成立,ρ2={AB,AC}

首先,检查是否具有无损联接特点:

第1种解法(略)

第2种解法:(定理4.8)设 R1=AB,R2=AC

R1∩R2=A

R2-R1=C

∵A→C,∴该分解是无损联接分解。

然后,检查分解是否保持函数依赖

πR1(F2)={按自反率推出的一些函数依赖}

πR2(F2)={A→C,以及按自反率推出的一些函数依赖} ∵F1中的B→C没有被蕴涵,所以该分解没有保持函数依赖。

(3)设R(ABC),F3={A→B},在R上成立,ρ3={AB,BC}.首先,检查是否具有无损联接特点:

第1种解法:

(1)构造表

(2)根据A→B进行处理

没有一行全是a行。因此这个分解不具有无损联接特性。

第2种解法:(定理4.8)

设 R1=AB,R2=BC

R1∩R2=B

R2-R1=C,R1-R2=A

∵B→C,B→A不在F3中 ∴该分解不具有无损联接特性。

然后,检查分解是否保持函数依赖

πR1(F3)={A→B,以及按自反率推出的一些函数依赖}

πR2(F3)={按自反率推出的一些函数依赖}

F1被πR1(F3)所蕴涵,所以该分解保持函数依赖。

(4)设R(ABC),F4={A→B,B→C}在R上成立,ρ4={AC,BC}

首先,检查是否具有无损联接特点:

第1种解法(略)

第2种解法:(定理4.8)

设 R1=AC,R2=BC

R1(AC)∩R2(BC)=C

R2-R1=B,R1-R2=A

∵C→B,C→A不在F4中 ∴该分解不具有无损联接特性。

然后,检查分解是否保持函数依赖

πR1(F2)={按自反率推出的一些函数依赖}

πR2(F2)={B→C,以及按自反率推出的一些函数依赖}

∵F1中的A→B没有被蕴涵,所以该分解没有保持函数依赖。

4.7 设R=ABCD,R上的函数依赖集F={A→B,B→C,A→D,D→C},R的一个分解ρ={AB,AC,AD},求:(1)F在ρ的每个模式上的投影。(2)ρ相对于F是无损联接分解吗?(3)ρ保持依赖吗?(1)

πAB(F)={A→B,及按自反律所推导出的一些平凡函数依赖} πAC(F)={A→C,及按自反律所推导出的一些平凡函数依赖} πAD(F)={A→D,及按自反律所推导出的一些平凡函数依赖}(2)

(1)构造表

(2)根据A→B,B→C,A→D,D→C进行处理

每一行都是a,ρ相对于F是无损联接分解。

(3)πAB(F)∪πAC(F)∪πAD(F)={A→B,A→C,A→D}, 没有满足B→C,D→C函数依赖,因此ρ相对于F的这个分解不保持函数依赖。

4.8 设R=ABCD,R上的F={A→C,D→C,BD→A}, 试证明ρ={AB,ACD,BCD}相对于F不是无损联接分解。

根据算法4.2

(1)构造表

(2)根据A→C,D→C,BD→A进行处理

没有一行都是a,所以,ρ相对于F不是无损联接分解。

4.9 设R=ABCD,R上的F={A→B,B→C,D→B},把R分解成BCNF模式集。

(1)若首先把R分解成{ACD,BD},试求F在这两个模式上的投影。

(2)ACD和BD是BCNF吗?如果不是,请进一步分解。

(1)πACD(F)={A→C}

πBD(F)={D→B}

(2)因为根据BCNF的定义,要求关系模式是第一范式,且每个属性都不传递依赖于R的侯选键。BCD中(A,D)为候选键,可是(A,D)→A, A→C,所以它不是BCNF模式。

它可进一步分解为:{AC,DC},此时AC,DC均为BCNF模式。

BD是BCNF,因为R2(BD)是第一范式,且每个属性都不传递依赖于D(候选键),所以它是BCNF模式。

4.10 设R=ABCD,ρ={AB,BC,CD}。F1={A→B,B→C};F2={B→C,C→D};

(1)如果F1是R上的函数依赖集,此时ρ是无损联接分解吗?若不是,试举出反例。

(2)如果F2是R上的函数依赖集呢?

(1)不是无损联接。可由算法4.2判断或由定理4.8判断。

根据算法4.2

(1)构造表

(2)根据A→B,B→C进行处理

结果没有出现一行全a的情况,所以它不是无损联接。举例如下:

设模式R的一关系r为{(a1b1c1d1),(a2b2c1d2)} 则有:r1=πAB(r)={(a1b1),(a2b2)}

r2=πBC(r)={(b1c1),(b2c1)}

r3=πCD(r)={(c1d1),(c1d2)} 令a=r1r2r3={(a1b1c1d1),(a1b1c1d2),(a2b2c1d1),(a2b2c1d2)} r≠a,所以ρ不是无损联接。

(2)如果F2是R上的函数依赖,则可以判断,ρ是无损联接。判断过程同上。

4.11 设关系模式R(S#,C#,GRADE,TNAME,TADDR),其属性分别表示学生学号、选修课程的编号,成绩、任课教师地址等意义。如果规定,每个学生每学一门课只有一个成绩; 每门课只有一个教师任教;每个教师只有一个地址(此处不允许教师同名同姓)。

(1)试写出关系模式R基本的函数依赖和候选键。

(2)试把R分解成2NF模式集并说明理由。

(3)试把R分解成3NF模式集,并说明理由。

(1)F={(S#,C#)→GRADE,C#→TNAME,TNAME→TADDR} 侯选键是(S#,C#)。

(2)在模式R中,TNAME不完全依赖于键(S#,C#),因此需进行分解,可分解为下列两个关系。

SC={S#,C#,GRADE} C={C#,TNAME,TADDR} 分解后,SC中,GRADE完全依赖于侯选键(S#,C#),在C中,主属性是C#,TNAME、TADDR均完全依赖于C#。因此,该分解符合2NF模式。

(3)3NF:若每个关系模式是2NF,则每个非主属性都不传递于R的候选键。

按上述已分好的两个模式,SC中已满足“每个非主属性都不传递于R的候选键”,已是3NF,而在C中,C#→TNAME,TNAME→TADDR,TADDR传递依赖于C#,因此还需分成两个模式:CT(C#,TNAME), T(TNAME,TADD)。

分解后,总共有SC={S#,C#,GRADE},CT(C#,TNAME), T(TNAME,TADD)三个模式。

该分解符合3NF模式。

4.12 图4.6表示一个公司各部门的层次结构,对每个部门,数据库中包含部门号(唯一的)D#,预算费(BUDGET)以及此部门领导人员的职工号(唯一的)E#等信息。对每一个部门,还存有部门的全部职工,生产科研项目以及办公室的信息。

职工信息包括:职工号,他所参加的生产科研项目号(J#),他所在办公室的电话号(PHONE#)。

生产科研项目包含:项目号(唯一的),预算费。

办公室信息包含:办公室号(唯一的),面积。

对每个职工,数据库中有他曾担任过的职务以及担任某一职务时的工资历史。对每个办公室包含此办公室中全部电话号吗的信息。

请给出你认为合理的数据依赖,把这个层次结构转换成一组规范化的关系。

提示:此题可分步完成,先转换成一组1NF的关系,然后逐步转换成2NF,3NF,...。

先得到一个泛关系的模式如下:

D={D#,Manager_E#,Budget,E#,J#,Phone#,Business,Sa_History,Office#,Area} D#:部门号, Manager_E#:部门领导人员的职工号, E#:职工号, J#:生产科研项目号, Phone#:办公室的电话号,Business:职工职务,Sa_History:工资历史,Office#:办公室号,Area:办公室面积

根据所给信息,给出下列数据依赖:

F={D#→Manager_E#,E#→Office#,(E#,Business)→Sa_History,J#→Budget,E#→J#,Office#→Area,Office→D#,#Phone#→Office#}(假设一个部门可能有多个办公室,有多个项目,一个办公室只属于一个部门,有多部电话,一个员工只参加一个项目,一个项目可能属于多个部门)

只要保证每个属性值不可分割,以上范式即为1NF。候选键为(E#,Business,Phone#)

转换成2NF关系(消除局部依赖):

Em_Dep(E#,D#,Manager_E#,Office#,Area,J#,Budget)

对应 F={D#→Manager_E#,E#→Office#,J#→Budget,E#→J#,Office#→Area,Office→D#}

History(E#,Business,History)

对应 F={(E#,Business)→Sa_History} Phone(Phone#,Office#)

对应 F={Phone#→Office#}

转换成3NF关系(消除非主属性对侯选键的传递依赖):

Department(D#,Manager_E#)Office(Office#,Area,D#)Emproee(E#,J#,Office#)

History(E#,Business,History)Phone(Phone#,Office#)Project(J#,Budget)

注意:由于对题意理解的不同,可能答案不唯一。

4.13 设关系模式R(ABC)上有一个多值依赖A→→B。如果已知R的当前关系中存在三组(ab1c1)、(ab2c2)和(ab3c3),那么这个关系中至少还应存在哪些元组?

从多值依赖的定义可以得出,至少应存在下列元组:

(ab1c2)、(ab1c3)、(ab2c1)、(ab2c3)、(ab3c1)、(ab3c2)

5.1 名词解释

(1)数据库设计:数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。

(2)数据库工程:指数据库应用系统的开发,它是一项软件工程,但有数据库应用自身的特点。(3)评审:在数据库设计过程中,评审的目的是为了确认某一阶段的任务是否全部完成,避免重大的疏漏或错误,并在生存期的早期阶段给予纠正,以减少系统研制的成本。

(4)数据字典:是对系统中数据的详尽描述,它提供对数据库数据描述的集中管理。它的处理功能是存储和检索元数据,并且为数据库管理员提供有关的报告。对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的主要成果。数据字典主要包括四个部分:数据项、数据结构、数据流、数据存储。

5.2 数据系统的生存期分成哪几个阶段?数据库结构的设计在生存期中的地位如何?

分成七个阶段 :规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行和维护。

数据库结构的设计在生存期中的地位很重要,数据库结构的设计包括逻辑设计、物理设计,逻辑设计把概念模式转化为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构,而物理设计主要是设计DB在物理设备上的存储结构与存取方法等。

5.3 什么是数据库设计?数据库设计过程的输入和输出有哪些内容?

数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。

数据库设计过程的输入包括四部分内容:1)总体信息需求;2)处理需求;(3)DBMS的特征;(4)硬件和OS(操作系统)特征。

数据库设计过程的输出包括两部分:

(1)完整的数据库结构,其中包括逻辑结构和物理结构;

(2)基于数据库结构和处理需求的应用程序的设计原则。这些输出一般以说明书的形式出现。

5.4 基于数据库系统生存期的数据库设计分成哪几个阶段?

分为5个阶段:简记为(规需概逻物):规划、需求分析、概念设计、逻辑设计和物理设计五个阶段。

5.5 什么是比较好的数据库设计方法?数据库设计方法应包括哪些内容? 一个好的数据库设计方法应该能在合理的期限内,以合理的工作量产生一个有实用价值的数据库结构。

一种实用的数据库设计方法应包括以下内容:设计过程、设计技术、评价准则、信息需求、描述机制。

5.6 数据库设计的规划阶段应做哪些事情?

数据库设计中的规划阶段的主要任务是进行建立数据库的必要性及可行性分析,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的联系。

5.7 数据库设计的需求分析阶段是如何实现的?目标是什么?

数据库设计的需求分析通过三步来完成:即需求信息的收集、分析整理和评审。

其目的在于对系统的应用情况作全面详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据设计者都能够接受的文档。

5.8 评审在数据库设计中有什么重要作用?为什么允许设计过程中有多次的回溯与反复?

评审的作用在于确认某一阶段的任务是否全部完成,通过评审可以及早发现系统设计中的错误,并在生存期的早期阶段给予纠正,以减少系统研制的成本。

如果在数据库已经实现时再发现设计中的错误,那么代价比较大。因此应该允许设计过程的回溯与反复。设计过程需要根据评审意见修改所提交的阶段设计成果,有时修改甚至要回溯到前面的某一阶段,进行部分乃至全部重新设计。

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

数据字典的内容一般包括:数据项、数据结构、数据流、数据存储和加工过程。

其作用是对系统中数据做出详尽的描述,提供对数据库数据的集中管理。

5.10 对概念模型有些什么要求? 对概念模型一般有以下要求:

(1)概念模型是对现实世界的抽象和概括,它应真实、充分地反映现实世界中事物和事物之间的联系,具有丰富的语义表达能力,能表达用户的各种需求,包括描述现实世界中各种对象及其复杂联系、用户对数据对象的处理要求和手段。

(2)概念模型应简洁、明晰,独立于机器、容易理解、方便数据库设计人员与应用人员交换意见,使用户能积极参与数据库的设计工作。

(3)概念模型应易于变动。当应用环境和应用要求改变时,容易对概念模型修改和补充。

(4)概念模型应很容易向关系、层次或网状等各种数据模型转换,易于从概念模式导出也DBMS有关的逻辑模式。

5.11 概念设计的具体步骤是什么? 概念设计的主要步骤为:

(1)进行数据抽象、设计局部概念模式;

(2)将局部概念模式综合成全局概念模式;

(3)评审。

(具体解释参见教材p131)

5.12 什么是数据抽象?主要有哪两种形式的抽象?数据抽象在数据库设计过程中起什么作用?

数据抽象是对人、物、事或概念的人为处理,它抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。

数据抽象有两种形式:

(1)系统状态的抽象,即抽象对象;

(2)系统转换的抽象,即抽象运算。

数据抽象是概念设计中非常重要的一步。通过数据抽象,可以将现实世界中的客观对象首先抽象为不依赖任何具体机器的信息结构。

5.13 什么是ER图?构成ER图的基本要素是什么? ER图是用来表示数据库概念设计ER模型的工具,它提供了表示实体、属性和联系的方法。

构成ER图的基本要素是实体、属性和联系。

5.14 试述采用ER方法的数据库概念设计的过程.利用ER方法进行数据库的概念设计,可分成三步进行: 首先设计局部ER模式,然后把各局部ER模式综合成一个全局ER模式,最后对全局ER模式进行优化,得到最终的ER模式,即概念模式。

5.15 逻辑设计的目的是什么?试述逻辑设计过程的输入和输出

环境。

逻辑设计的目的是把概念设计阶段设计好的基本ER图转换为与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。

逻辑设计过程中的输入信息有:

(1)独立于DBMS的概念模式,即概念设计阶段产生的所有局部和全局概念模式;

(2)处理需求,即需求分析阶段产生的业务活动分析结果;

(3)约束条件,即完整性、一致性、安全性要求及响应时间要求等;

(4)DBMS特性,即特定的DBMS特性,即特定的DBMS所支持的模式、子模式和程序语法的形式规则。

逻辑设计过程输出的信息有:

(1)DBMS可处理的模式;

(2)子模式;

(3)应用程序设计指南;

(4)物理设计指南。

5.16 试述逻辑设计阶段的主要内容。

逻辑设计主要是把概念模式转换成DBMS能处理的模式。转换过程中要对模式进行评价和性能测试,以便获得较好的模式设计。

逻辑设计的主要步骤包括:

(1)初始模式的形成(2)子模式设计

(3)应用程序设计梗概

(4)模式评价

(5)修正模式。

5.17 规范化理论对数据库设计有什么指导意义?

在概念设计阶段,已经把关系规范化的某些思想用作构造实体类型和联系类型的标准,在逻辑设计阶段,仍然要使用关系规范化的理论来设计模式和评价模式。规范化的目的是减少乃至消除关系模式中存在的各种异常,改善完整性,一致性和存储效率。

5.18 什么是数据库结构的物理设计?试述其具体步骤。

数据库结构的物理设计是指对一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,所谓数据库的物理结构主要指数据库在物理设备上的存储结构和存取方法。

物理设计的步骤为:

(1)设计存储记录结构,包括记录的组成、数据项的类型和长度,以及逻辑记录到存储记录的映射;

(2)确定数据存储安排;

(3)设计访问方法,为存储在物理设备上的数据提供存储和检索的能力;

(4)进行完整性和安全性的分析、设计;

(5)程序设计。

5.19 数据实现阶段主要做哪几件事情? 数据库实现阶段的主要工作有以下几点:

(1)建立实际数据库结构

(2)试运行

(3)装入数据

(具体解释参见教材p150)

5.20 什么是数据的再组织设计?试述其重要性。

对数据的概念模式、逻辑结构或物理结构的改变称作数据再组织。

数据再组织,通常是由于环境,需求的变化或性能原因而进行的,如信息定义的改变,增加新的数据类型,对原有的数据提出了新的使用要求,改用具有不同物理特征的新存储设备以及数据库性能下降等都要求进行数据库的重新组织。

5.21 数据系

统投入运行后,有哪些维护工作?

数据系统投入运行后,主要维护工作有:

(1)维护数据库的安全性与完整性控制及系统的转储和恢复;

(2)性能的监督、分析与改进;

(3)增加新功能;

(4)发现错误,修改错误 6.1 名词解释

(1)事务:事务是指一个操作序列,这些操作要么什么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,相当于操作系统环境下的“进程”概念。

(2)封锁:封锁就是事务可以向系统发出请求,对某个数据对象加锁,此事务对这个数据对象有一定控制,而其他事务则不能更新数据直到事务释放它的锁为止。

(3)X封锁:如果事务T对数据R实现X封锁,那么其他的事务要等T解除X封锁以后,才能对这个数据进行封锁。只有获准X封锁的事务,才能对被封锁的数据进行修改。

(4)PX协议:X封锁的规则称为PX协议,其内容为:任何企图更新记录R的事务必须先执行LOCK X(R)操作,以获得对该记录进行寻址的能力,并对它取得X封锁。如果未获得X封锁,那么这个事务进入等待状态,一直到获准X封锁,事务继续进行。

(5)PXC协议:它由PX协议及一条规则“X封锁必须保留到事务终点(COMMIT或ROLLBACK)”组成。(6)死锁:有两个或以上的事务处于等待状态,每个事务都在等待另一个事务解除封锁,它才能继续执行下去,结果任何一个事务都无法执行,这种现象就是死锁。

(7)串行调度:多个事务依次执行,称为串行调度。

(8)并发调度:利用分时的方法,同时处理多个事务,称为事务的并发调度。

(9)可串行化调度:如果某事务集的一个并发调度的结果与某个串行调度等价,则称此并发调度是是可串行化调度。

(10)不可串行化调度:某事务集的一个并发调度结果,如果与任一串行调度均不等价,则该并发调度是不可串行化调度。

(11)S封锁:共享型封锁。果事务T对某数据R加上S封锁,那么其它事务对数据R的X封锁便不能成功,而对数据R的S封锁请求可以成功。这就保证了其他事务可以读取R但不能修改R,直到事务T释放S封锁。

(12)PS协议: 任何要更新记录R的事务必须先执行LOCK S(R)操作,以获得对该记录寻址的能力并对它取得S封锁。如果未获准S封锁,那么这个事务进入等待状态,一直到获准S封锁,事务才继续进行下去。当事务获准对记录R的S封锁后,在记录R修改前必须把S封锁升级为X封锁。

(13)PSC协议:由PS协议和“将S封锁保持到事务终点”组成。任何更新记录R的事务必须先执行LOCK S(R)操作,以获得对该记录寻址的能力并对它取得S封锁。如果未获准S封锁,那么这个事务进入等待状态,一直到

获准S封锁,事务才继续进行下去。并将S封锁保持到事务终点。

(14)两段封锁协议:(1)在对任何数据进行读写操作之前,事务首先要获得对该数据的封锁;(2)在释放一个封锁之后,事务不再获得任何其他封锁。

6.2 试叙事务的四个性质,并解释每一个性质对DBS有什么益处? 事务的四个性质是:原子性、一致性、隔离性和持久性。

(1)原子性(具体含义见教材):事务中所有操作应视为整体,不可分割。

(2)一致性(具体含义见教材):一个事务独立执行的结果将保证数据库的一致性,即数据不会因事务的执行而遭受破坏。

(3)隔离性(具体含义见教材):隔离性要求在并发事务被执行时,系统应保证与这些事务先后单独执行时结果一样,使事务如同在单用户环境下执行一样。

(4)持久性(具体含义见教材):要求事务对数据库的所有更新应永久地反映在数据库中。

6.3 事务的COMMIT操作和ROLLBACK操作各做些什么事情? COMMIT操作表示事务成功地结束(提交),此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都已交付实施。

ROLLBACK操作表示事务不成功地结束,此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的更新必须被撤销,数据库应恢复该事务到初始状态。

6.4 UNDO操作和REDO操作各做些什么事情? UNDO操作是反向扫描“日志”文件,撤销对数据库的更新操作,使数据库恢复到更新前的状态; REDO操作正向扫描日志文件,重新做一次更新,使数据库恢复到更新后的状态。

6.5 DBS中有哪些类型的故障?哪些故障破坏了数据库? 哪些故障未破坏数据库,但其中某些数据变得不正确? 数据库系统故障有事务故障、系统故障、介质故障。

其中介质故障破坏数据库,事务故障、系统故障未破坏数据库但使其中某些数据变得不正确。

6.6 什么是“运行记录优先原则”?其作用是什么?

在数据库系统中,写一个修改到数据库中和写一个表示这个修改的登记记录到日志文件中是两个不同的操作,在这两个操作之间有可能发生故障。这时,如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改,那么以后也就无法撤消这个修改。为了安全起见,采用“运行记录优先原则”。它包括两点:

(1)至少要等相应运行记录已经写入“日志”文件后,才能允许事务往数据库中写记录。

(2)直至事务的所有运行记录都已写入运行“日志”文件后,才能允许事务完成“END TRANSACTION”处理。

采用“运行记录优先原则”,可以保证所做的操作都记录在日志中,便于故障处理,维护数据库的一致性。

6.7 什么是数据库的恢复?恢复的基本原则是什么,恢复如何实现?

数据库的恢复是指当数据库系统发生故障时,通过一些技术,使数据库从被破坏、不正确的状态恢复到最近一个正确的状态。

恢复的基本原则就是冗余,即数据的重复存储。恢复的常用方法有:(1)定期对整个数据库进行复制或转储;(2)建立日志文件;(3)恢复。用REDO或UNDO处理。

6.8 数据库的并发操作会带来哪些问题?如何解决?

数据库的并发操作会带来三类问题:

(1)丢失更新问题;(具体内容见教材P158)

(2)不一致分析问题

(3)“脏数据”的读出。

解决的办法通常是采用“封锁”技术。

6.9 有哪些“丢失更新”问题?如何处理?

(1)并发调度引起的“丢失更新”问题。在并发调度中,如两个事务同时对某数据库进行更新操作,在操作中丢失了其中某个事务对某数据的更新操作。处理的办法就是对并发操作采用X封锁技术。

(2)由恢复引起的更新丢失现象。采用X封锁以后,先执行事务T1,再执行事务T2,此时,如果T2做ROLLBACK操作,就把事务T2的更新丢失了。处理方式是采用PXC协议,不允许事务T1执行解锁操作直到事务执行到终点(COMMIT或ROLLBACK)。

6.10 为什么DML只提供解除S封锁的操作,而不提供解除X封锁的操作?

为了防止由恢复引起的更新丢失现象,PXC协议规定:X封锁必须保留到事务终点(COMMIT或ROLLBACK)。因此在DML中,COMMIT或ROLLBACK的语义中包含了X封锁的解除,不用提供解除X封锁的操作。

而对于S封锁而言,它是一种共享型的封锁(读取但不能修改),其数据不可能是未提交的修改,封锁不必等提交后才能解除,因此可以由事务用UNLOCK解除各自对数据的封锁。

6.11 为什么有些封锁需保留到事务终点,而有些封锁可随时解除? 因为有的封锁需要更新数据,保留到终点才能确认是否提交或回退以避免脏数据的读出,所以这些封锁需要保留到事务终点。

而有些事务全部或部分操作只是读取数据,不涉及更新数据操作,因此这一部分操作的封锁可以随时解除。

6.12 死锁的发生是坏事还是好事?试说明理由。如何解除死锁状态? 死锁的发生即是坏事又是好事。

(1)使并发事务不能继续执行下去,造成时间开销却不产生结果。

(2)在某些时候我们要利用它来解决更新操作导致的数据库不一致状态。

解除死锁状态:抽出某个事务作为牺牲品,把它撤消,做回退操作,解除它的所有封锁,并恢复到初始状态。

6.13 试叙述“串行调度”与“可串行化调度”的区别。

串行调

度是多个事务按照一定的次序依次执行;在某一时刻只有一个事务在执行。

而可串行化调度是并发调度中的一个概念。在并发调度中,某一时刻有多个事务同时被处理。如果某事务集的一个并发调度的结果与某个串行调度等价,则称此并发调度是是可串行化调度。

(以上几题具体可参照书上p20-21)

6.14 什么是数据库的完整性? DBMS的完整性子系统的功能是什么?

数据库的完整性是指数据的正确性和相容性。DBMS完整性子系统的功能是:

(1)监督事务的执行,并测试是否违反完整性规则;

(2)如有违反,则采取恰当的操作,如拒绝、报告违反情况,改正错误等方法进行处理。

6.15 完整性规则由哪几个部分组成?关系数据库的完整性规则有哪几类? 完整性规则由三部分组成:

触发条件:即什么时候使用规则进行检查;

约束条件:即要检查什么样的错误;

ELSE子句:即查出错误后该如何处理。

完整性规则有以下三类:

域完整性规则,用于定义属性的取值范围;

域联系的规则,定义一个或多个关系中,属性值间的联系、影响和约束。

关系完整性规则,定义更新操作对数据库中值的影响和限制。

6.16 试详述SQL中的完整性约束机制?

SQL中的完整性约束规则有主键约束、外键约束、属性值约束和全局约束等多种形式。

△主键约束。它是数据中最重要的一种约束。在关系中主键值不允许空,也不允许出现重复,体现了关系要满足实体完整性规则。主键可用主键子句或主键短语进行定义。

△ 外键约束。根据参照完整性规则,依赖关系中外键或者为空值,或者是基本关系(参照关系)中的该键的某个值。外键用外键关系子句定义,并考虑删除基本关系元组或修改基本关系的主键值的影响,依赖关系可按需要采用RESTRICT、SET NULL、CASCADE方式。

△属性值约束。当要求某个属性的值不允许空值时,那么可以在属性定义后加上关键字:NOT NULL,这是非空值约束。还可以用CHECK子句对一个属性值加以限制以及使用域约束子句CREAT DOMAIN 定义新域并加以属性值检查。

△全局约束。在关系定义时,可以说明一些比较复杂的完整性约束,这些约束涉及到多个属性间的联系 或不同关系间的联系,称为全局约束。主要有基于元组的检查子句和断言。前者是对单个关系的元组值加以约束,后者则可对多个关系或聚合操作有关的完整性约束进行定义。

6.17 参照完整性规则在SQL可以用哪几种方式实现?删除基本关系的元组时,依赖关系可以采取的做法有哪三种?修改基本关系的主键值时,依赖关系可以采取的做法有哪三种? 参照完整性规

则要求“不引用不存在的实体”,参照完整性规则在SQL可用以下几种方式实现:

(1)在SQL中采用外键子句定义外键,并考虑删除基本关系元组或修改基本关系的主键值,对依赖关系产生的影响;

(2)在属性值上进行约束如基于属性的检查;

(3)全局约束中的基于元组的检查子句等。

删除基本关系元组或修改基本关系的主键值时,依赖关系可以采用的做法有:

△RESTRICT方式:只有当依赖关系中没有一个外键值与基本关系中要删除/修改的主键值相对应时,系统才能执行删除/修改操作,否则拒绝删除或修改。

△SET NULL方式:删除基本元组时,将依赖关系中所有与基本关系中被删除主键值相对应的外键值置为空值。修改基本关系的主键值时,将依赖关系中所有与基本关系中被修改主键值相对应的外键值置为空值。

△CASCADE方式:若删除则将依赖关系中所有外键值与基本关系中要删除的主键值相对应的元组一并删除,若修改则将依赖关系中所有与基本关系中要修改的主键值相对应的外键值一并修改为新值。

6.18 试对SQL2中的基于属性的检查约束、基于元组的检查约束和断言 三种完整性约束进行比较:各说明什么对象?何时激活?能保证数据库的一致性吗?

约束形式

说明对象

激活条件

是否保证一致性

基于属性的检查

只对一个属性值加以约束

插入或修改属性值时

不一定

基于元组的检查

对单个关系的元组值加以约束

在插入或修改元组时 不一定

断言

多个关系或聚合操作

任何变动

保证

6.19 设教学数据库的模式如下:

S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)

C(C#,CNAME,TEACHER)

试用多种方式定义下列完整性约束:

(1)在关系S中插入学生年龄值应在16~25岁之间

(2)在关系SC中插入元组时,其S#值和C#值必须分别在S和C中出现。

(3)在关系SC中修改GRADE值时,必须仍在0~100之间。

(4)在删除关系C中一个元组时,首先要把关系SC中具有同样C#的元组全部删去。

(5)在关系S中把某个S#值修改为新值时,必须同时把关系SC中那些同样的S#值也修改为新值。

(1)定义S时采用检查子句:

CREAT TABLE S(S# CHAR(4),SNAME char(10)NOT NULL ,AGE SMALLINT ,PRIMARY key(S#),CHECK(AGE>=16 and AGE<=25))

(2)采用外键子句约束

CREAT TABLE SC(S# CHAR(4),C# CHAR(4),GRADE SMALLINT,FOREIGN key(S#)REFERENCE S(S#),FOREIGN key(C#)REFERENCE C(C#))

(3)采用元组检查

CREAT TABLE SC(S# CHAR(4),C# CHAR(4),GRADE SMALLINT,FOREIGN key(S#)REFERENCE S(S#),FOREIGN key(C#)RE

FERENCE C(C#),CHECK(GRADE>=0 and AGE<=100))

(4)采用外键约束

CREAT TABLE SC(S# CHAR(4),C# CHAR(4),GRADE SMALLINT,FOREIGN key(S#)REFERENCE S(S#),FOREIGN key(C#)REFERENCE C(C#))

若改为:在删除关系C中一个元组时,同时把关系SC中具有同样C#的元组全部删去,则为:

......FOREIGN key(C#)REFERENCE C(C#)ON DELETE CASCADE

......(5)采用外键约束

CREAT TABLE SC(S# CHAR(4),C# CHAR(4),GRADE SMALLINT,FOREIGN key(S#)REFERENCE S(S#)ON UPDATE CASCADE ,FOREIGN key(C#)REFERENCE C(C#))

6.20 在教学数据库的关系S、SC、C中,试用SQL2的断言机制定义下列两个完整性约束:(1)学生必须在选修Maths课后,才能选修其他课程。(2)每个男学生最多选修20门课程

(1)

CREAT ASSERTION ASSE1 CHECK

(NOT EXISTS

(SELECT S FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE CNAME<>'MATHS')

AND S# NOT IN

(SELECT S# FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE CNAME='MATHS')));(2)

CREAT ASSERTION ASSE2 CHECK

(ALL(SELECT COUNT(SC.C#)

FROM S,SC

WHERE S.S#=SC.S AND SEX='M'

GROUP BY S#)<=20);

6.21 什么是数据库的安全性?有哪些安全措施?

数据库的安全性是指保护数据库防止不合法的使用,以免数据的泄漏、非法更改和破坏。

可以从以下方面设置数据库的安全措施:环境级、职员级、OS级、网络级和数据库系统级。

(具体可参见教材P173)

6.22 对银行的数据库系统应采取哪些安全措施?分别属于哪一级?

答案基本同上一题。

6.23 什么是“权限”?用户访问数据库可以有哪些权限?对数据库模式有哪些修改权限? 用户使用数据库的方式称为权限。

用户访问数库的权限有:读权限、插入权限、修改权限、删除权限。

用户修改数据库模式的权限有索引权限、资源权限、修改权限、撤销权限。

6.24 试解释权限的转授与回收。

在数据库系统中,为了保证数据的安全性,用户对数据的操作必须首先从DBA处获得权限,才能进行对数据的操作。同时数据库系统也允许用户将获得的权限转授给其他用户,也允许把已授给其他用户的权限再回收上来。但应保证转授出去的权限能收得回来。

6.25 SQL 语言中的视图机制有哪些优点?

视图机制使系统具有三个优点:数据安全性、数据独立性和操作简便性。

6.26 SQL2中用户权限有哪几类?并作必要的解释。

SQL2中定义了六类用户权限,分别是:

(1)SELECT :允许用户对关系或视图执行SELECT操作。

(2)INSERT :允许用户对关系或视图执行INSERT操作,如果还说明了一个属性表,那么表示只能插入这些属性的值,关系中其他属性值将置为缺省值或为空值。

(3)DELETE:允许用户对关系或视图执行DELETE操作。

(4)UPDATE:允许用户对关系或视图执行UPDATE操作,如果还说明了一个属性表,那么表示只能修改这些属性的值,否则表示可以修改关系中任一属性值。

(5)REFERENCES:允许用户定义新关系时,引用其他关系的主键作为外键。

(6)USAGE:允许用户使用定义的域。

6.27 数据加密法有些什么优点?如何实现?

数据加密可以更好地保证数据的完全性。加密采用一定的加密算法给把源文变为密文来实现。

常用的加密算法有“替换方法”和明键加密法。

7.1 名词解释

(1)集中式DBS:是指数据库中的数据集中存储在一台计算机上,数据的处理集中在一台计算机上完成。

(2)分布式DBS:是指数据存放在计算机网络的不同场地的计算机中,每一场地都有自治处理能力并完成局部应用;而每一场地也参与(至少一种)全局应用程序的执行,全局应用程序可通过网络通信访问系统中的多个场地的数据。

(3)分布式DB:分布式数据库,是指计算机网络环境中各场地上数据库的逻辑集合。

(4)分布式DBMS:分布式数据库管理系统。是指分布式数据库系统中的一组软件,它负责管理分布环境下逻辑集成数据的存取、一致性、有效性和完备性。同时,由于数据的分布性,在管理机制还必须具有计算机网络通信协议上的分布管理特性。

(5)局部自治性:是指有独立处理能力并能完成的局部应用。

(6)数据分配(数据分布):是指数据计算机网络各场地上的分配策略。

(7)数据复制:是指数据在每个场地重复存储。

(8)数据分片:是指分布式数据库中的数据可以被分割和复制在网络场地的各个物理数据库中。一般数据存放的单位不是关系而是片段,一个片段是关系的一部分。数据分片是通过关系代数的基本运算实现的。

(9)水平分片:是指按一定条件把全局关系的所有元组划分成若干不相交的子集,每个

子集为关系的一个片段。

(10)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,每个投影为垂直分片。

(11)分布透明性:指用户不必关系数据的逻辑分片,不必关系数据物理位置的细节,也不必关心各个场地上的数据库的数据模型。

(12)分片透明性:分片透明性是最高层次的分布透明性,是指用户或应用程序只对全局关系进行操作而不必考虑数据的分片。

(13)位置透明性:位置透明性位于分片视图与分配视图之间。是指用户或应用程序应当了解分片情况,但不必了解片段的存储场地。

(14)局部数据模型透明性:这个透明性位于分配视图与局部概念视图之间,指用户或应用程序要了解分片及各片段存储的场地,但不必了解局部场地上使用的是何种数据模型。

(15)复制透明性:即用户不必关心数据库在网络中各个结点的数据库复制情况,更新操作引起的波及由系统去处理。

7.2 试叙数据从集中存储、分散存储到分布存储的演变过程。

早期的数据库系统都是属于集中式数据库系统,数据集中存储在一台计算机上。该方式有一定优点,比如,价格合理,易于管理,数据冗余少等等。但是,随着数据库应用的不断发展,数据库规模不断扩大,如采用集中存储的数据库,其系统的设计和操作都比较复杂,系统显得不灵活而且安全性 也较差。因此采用了数据分散存储的办法,将数据库分成多个,建立在多台计算机上,此时的各个数据库的管理和应用程序均是分开并独立的。它们之间不存在数据通信联系。随着计算机网络通信的发展,有可能把分散在各处的数据库系统通过网络通信连接起来,这样形成的系统称为分布式的数据库系统,这时的数据库虽然分别存在各地的计算机上,但它们之间通过分布式数据管理系统可以进行联系。

7.3 与集中式DBS、分散式DBS相比,分布式DBS有哪些特点?

与集中式DBS相比,分布式DBS中数据库的存储是分布性的,即数据不是存储在同一场地,而是分布存储在多个场地。与分散式DBS相比,分布式DBS中数据库具有“逻辑整体性”,即表面上看,分布式数据的数据库分散在各个场地,但这些数据在逻辑上却是一个整

体,如同一个集中式数据库。

7.4 试解释下列术语:同构同质型DDBS,同构异质型DDBS,异构DDBS。

(1)同构同质型DDBS:是指各个场地都采用同一类型的数据模型,并且是同一型号数据库管理系统。

(2)同构异质型DDBS:是指各个场地都采用同一类型的数据模型,但是数据库管理系统是不同型号的。

(3)异构型DDBS:是指各个场地的数据模型是不同的类型。

7.5 分布式数据库系统有哪些优点和缺点? 分布式数据库系统的优点:

(1)具有灵活的体系结构

(2)适应分布式的管理和控制机构

(3)经济性能优越

(4)系统的可靠性高、可用性好

(5)局部应用的响应速度快

(6)可扩展性好,易于集成现有系统

分布式数据库系统的缺点:

(1)系统开销大,主要花在通信部分;

(2)复杂的存取结构,原来在集中式系统中有效存取数据的技术,在分布式系统中都不再适用;

(3)数据的安全生和保密性较难处理。

7.6 分布式数据库中,“数据分配”有哪些策略?“数据分片”有哪些策略? 数据分片的准则是什么?

数据分配是指数据在计算机网络各场地上的分配策略。包括:

(1)集中式:所有数据均安排在同一个场地上。

(2)分割式:所有数据只有一份,分别被安置在若干个场地。

(3)全复制式:数据在每个场地重复存储。

(4)混合式:数据库分成若干可相交的子集,每一子集安置在一个或多个场地上,但是每一场地未必保存全部数据。

数据分片的方式有以下三种:

(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。

(2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上做投影运算,每个投影为垂直分片。

(3)混合型分片:将水平分片与垂直分片方式综合使用则为混合型分片。

数据分片应遵循的准则为:

(1)完备性条件:必须把全局关系的所有数据映射到各个片段中,绝不允许发生属于全局关系的某个数据不属于任何一个片段。

(2)重构条件:划分所采用的方法必须确保能够由各个片段重建全局关系。

(3)不相交条件:要求一个全局关系被划分后得到的各个数据片段互相不重

叠。

7.7 试叙述分布式DBS的体系结构,它有什么特征?

分布式DBS的体系结构分为四级:全局外模式、全局概念模式、分片模式和分配模式。

(1)全局外模式:它们是全局应用的用户视图,是全局概念模式的子集。

(2)全局概念模式:全局概念模式定义了分布式数据库中所有数据的逻辑结构。

(3)分片模式:分片模式定义片段以及定义全局关系与片段之间的映象。这种映象是一对多的,即每个片段来自一个全局关系,而一个全局关系可分成多个片段。

(4)分配模式:片段是全局关系的逻辑部分,一个片段在物理上可以分配到网络的不同场地上。分配模式根据数据分配策略的选择定义片段的存放场地。

分布式DBS的分层体系结构有三个特征:

(1)数据分片和数据分配概念的分离,形成了“数据分布独立性”概念。

(2)数据冗余的显式控制。

(3)局部DBMS的独立性。

7.8 试叙述分布式DBMS的功能及组成。

主要功能有:

(1)接受用户请求,并判定把它送到哪里,或必须访问哪些计算机才能满足该请求。

(2)访问网络数据字典,或者至少了解如何请求和使用其中的信息。

(3)如果目标数据存储于系统的多个计算机上,就必须进行分布式处理。

(4)通信接口功能,在用户、局部DBMS和其他计算机的DBMS之间进行协调。

(5)在一个异构型分布式处理环境中,还需提供数据和进程移植的支持。这里的异构型是指各个场地的硬件、软件之间存在一定差别。

DDBMS组成——应包括以下四个子系统:

(1)查询子系统

(2)完整性子系统

(3)调度子系统

(4)可靠性子系统

7.9 分布式系统中影响查询的主要因素是什么?

分布式系统中,影响查询的主要因素数据经网络的传输时间,数据传输量是衡量查询时间的一个主要指标,不同场地间的联接操作和并操作是影响数据传输量的主要原因。

7.10 基于半联接的查询优化策略的基本思想是什么?

数据在网络中传输时,如果以整个关系传输,则传输数据量大,是一种冗余的做法,而实际上,在联接时并非每个数据都参与操作或有用。因此,考虑到不参与操作的值或无用的值不必经网络来回传输,则可以减少传输的数据量。

第二篇:数据库期末复习教案[定稿]

15计科本《数据库系统原理与应用》期末复习纲要

一、题型与分值分布1、2、3、4、单项选择20题,计20分 填空题,每空1分,计10分 简答题4小题,计20分 综合应用题2题,计50分

(1)概念模型(ER图),转化成相关的关系模型并写出主码与外码,并建立相关的关系表(20分)(2)T—SQL语名的作用,6小题,计30分

二、具体知识要点及课后习题

具体知识点: 第一章

1、数据库中的数据具有哪些基本特点。(永久存储、有组织、可共享)

2、数据库系统具有哪些基本特点。(数据共享、数据完整性、数据独立性及较小的冗余度)

3、4、数据库系统与数据库、数据库管理系统之间的关系? 数据库中的数据独立性分为物理独立性和逻辑独立性,分别指的是什么?P11-125、6、模式

7、数据库管理系统的功能结构为P16 数据库系统的三级数据模式结构:逻辑模式、外模式、内数据库系统的二级映象技术是指外模式与模式之间的映象,它不仅在三级数据模式之间建立了联系,同时也保证了数据的独立性。

8、数据的正确、有效和相容称之为数据的完整性 第二章

1、信息的三种世界是指现实世界、信息世界和计算机世界(数据世界)。

2、数据库系统的核心是数据模型,、概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是实体-关系模型。

3、数据模型的三要素是:数据结构、数据操作和完整性约束条件。如“实体完整性”约束规则,要求关系中的“主码”不允许取空值

4、数据库系统中常见的数据模型有:层次模型、网状模型和关系模型

5、概念模型的特点是:对现实世界的第一层抽象;与软、硬件无关;从用户观点对数据建模。逻辑模型的特点是:对现实世界的第二层抽象;与硬件无关,与软件有关;从计算机实现观点对数据建模。第三章

1、数据库的概念结构设计(E-R图)P55-58: E-R模型是对现实世界的一种抽象,E-R图的主要成分是实体、联系和属性;各分E-R图之间的冲突主要有属性冲突、命名冲突和结构冲突三类。

2、概念模型向关系模型的转换(逻辑结构设计)P62

3、概念数据模型不依赖于任何数据库管理系统。实体-关系模型是概念模型中最著名的一种。第四章

1、数据库中关系的类型有基本表、视图表和查询表三种,它们各有何不同P91

2、关系中的基本名词:元组、属性、候选码和主码、全码、主属性和非主属性P91 一个关系只有一个主码

3、数据库中基本关系的性质P92

4、关系的完整性 P95

5、关系操作语言的种类:关系代数语言、关系演算语言、基于映象的语言(如SQL是一种映象,是非过程化的)。SQL包含数据定义、数据操作和数据控制三种功能

5、关系模型的完整性约束有三类:实体完整性、参照完整性和用户定义的完整性 P96 主要掌握主码、外码等

6、专门的关系运算:选择、投影、连接

7、关系代数运算中,传统的集合运算有笛卡尔积、并、交和差

8、数据库数据具有永久存储、有组织、可共享三个基本特点。重点掌握4.2.3用关系代数表示检索的实例 第五章

1、SQL语句分类,按功能分为数据定义语句、数据操纵语句、数据控制语句

2、SQL的数据定义包括基本表、索引、视图和数据库(重点掌握视图的建立和用SQL语句写出查询程序),如在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建视图

学会同时用SQL语言和关系代数实现下列相关操作

P119 例5-

1、5-

2、5-3

3、SQL的数据更新语句有插入(INSERT)、修改(UPDATE)与删除(DELTE)三种

4、数据控制是系统通过对数据用户的使用权限加以限制而保证数据安全的重要措施。SQL的数据控制语句包括授权(Grant)、收权(Revoke)和拒绝访问(Deny)三种。用户权限包含数据对象和操作类型两个要素;而数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合

5、利用游标进行查询需要4种语句,分别是说明游标、打开游标、推进游标、关闭游标

第六章

1、数据库对象包含哪些?P156 SQL Server2008的数据库对象有很多,例如:表、视图、角色、索引(或存储过程、默认值、数据类型、触发器、约束)

2、数据库类别P157

3、数据库对象是数据库的逻辑文件。SQL Server2008的数据库对象包括表、视图、角色、索引、数据类型、默认值、存储过程、触发器和约束等。了解各自的含义。

4、SQL Server2008的数据库中有3种物理文件:基本数据文件、辅助数据和日志文件

5、掌握视图的创建和维护方法。视图是根据子模式建立的虚拟表。视图的有哪些优点呢?

如:视图能够简化用户的操作;视图使用户能以多种角度看待同一数据;视图对重构数据库提供了一定程度的逻辑独立性;视图能够对机密数据提供安全保护 P247

6、掌握存储过程和触发器的创建和维护.P179

7、Trantsact-SQL语言:重点放在数据操纵语言P192 第七章

1、关系模式应满足的基本要求P214

2、已知关系模式R及其上的相关函数依赖集合,会求出该关系模式对应的候选码。

例1:已知关系模式R(A,B,C,D,E)及其上的函数依赖集合F={A→D,B→C,E→A },该关系模式 的候选码是(BE)

例2:学生表(id,name,sex,age,depart_id,depart_name),存在的函数依赖是id→{name,sex,age,depart_id}; dept_id→dept_name,其满足2NF

3、重点掌握课本习题P239 3 P240 15(1)第八章

1、数据库安全性是指什么?P244

2、数据库安全性控制的一般方法有哪些?P244

3、数据库完整性是指数据的正确性和相容性。P259(1)数据完整性约束分为表级约束、元组约束和属性约束

(2)SQL server使用约束、默认、规则和触发器4种方法定义和实施数据库完整性功能

4、数据库并发控制。数据库的并发控制就是控制数据库,防止多用户并发使用数据库时造成数据错误和程序运行错误,保证数据的完整性。解决事务并发操作带来的数据不一致性,常用封锁机制。

5、事务的概念和特征P265 并发操作带来的数据不一致性包括3类:丢失修改、不可重复读和读“脏”数据。

6、封锁:封锁机制作为并发控制的重要手段,利用封锁的特性和封锁协议,它在并发操作保证事务的隔离性,用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致。

(1)锁的类型:排他锁(X锁)和共享锁(S锁),它们各自的特点是什么。P268(2)封锁协议:一级封锁协议、二级封锁协议(如1:事务T对要修改数据必须先加X锁,直到事务结束才释放X锁;对要读取数据必须先加S锁;如2:若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁)、三级封锁协议;

封锁出现的问题及解决的方法。举例说明何谓活锁,如何解决活锁?P270

7、数据库恢复技术

恢复机制涉及的两个关键问题是:第一,如何建立备份数据;第二,如何利用这些备份数据实施数据恢复。建立备份数据最常用的技术是数据转储和登录日志文件。

数据库的备份方法通常有完整备份、差异备份、事务日志备份

8、何谓两段锁协议 P271

9、何谓“并发调度可串行化” P270;何谓“可串行化调度” P271

10、用户权限是由两个要素组成的,分别是数据对象和操作类型

11、数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。

课后习题1、2、3、第1章P19:

一、4;5;10

二、全部 第2章P42:

二、全部

第3章P85:

一、19、22、23

二、全部

4、第4章P111:

一、14、15、16

二、8、911、21、22、24、25、32、33

5、第5章 P127 46、7、8、第6章P176:

一、2、3

二、1、4、6、7、8、9、10、11、12 第7章P205:

二、1、6、7、8、9 第8章P252:

一、1、3、12、13、15、26

二、8、12、13、15、16、18

第三篇:数据库复习总结

数据管理技术的发展经历了3个阶段:人工管理阶段、文件系统阶段、数据库管理阶段。数据库的三级模式由[模式]、[外模式]、[内模式]组成。(模式又叫概念模式、逻辑模式,外模式又叫子模式、用户模式,内模式又叫存储模式)外模式/模式映像反映了数据的逻辑独立性,模式/内模式映像反映了数据的物理独立性 数据模型由数据结构、数据操作、和完整性约束三要素组成

关系模型是第二代数据库的主要特征,其结构比较简单,数据本身以二维表形式进行存储,表之间的数据联系是通过一个表的码与另一个表的码的连接来实现的。数据逻辑独立性是指模式改变,外模式和应用程序不变。物理独立性是指内模式改变,模式不变

数据库系统中,用概念模式(即模式)描述全部数据的整体逻辑结构

数据库系统中用户使用的数据视图用外模式描述,它是用户与数据库系统的接口 ∏是投影运算,倒写的6字是选择运算 笛卡尔积重点看一下P27中间部分举的例子 记录是字段的有序集合

字段:标记实体属性的命名单位称为字段如学生有学号、姓名、年龄、性别等字段 元祖:二维表中的行即记录值称为元祖

增删改查语句对应的关键字分别为INSERT、DELETE、UPDATE、SELECT 修改表的结构使用的是ALTER TABLE语句添加一列用ADD关键字、修改一列用ALTER COLUMN 删除一列用DROP COLUMN 如ALTER TABLE student ADD 身份证号 VARCHAR(18);表示修改student表的结构,在其中添加身份证号一列(主)数据文件的扩展名为.mdf ,日志文件的扩展名是.ldf 开启事务:BEGIN TRANSATION 提交事务:COMMIT TRANSACTION 回滚事务:ROLLBACK TRANSACTION 主键:PRIMARY KEY 外键:FOREIGN KEY 实体之间的联系有1:

1、1:m、m:n,即1对1,一对多、多对多 聚合函数:

SUM:求和 MAX:求最大值 COUNT:计数 AVG:求平均值 GRANT:授权 REVOKE:收回权限 CONSTRAINT:约束

数据库设计的步骤:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、数据库实现阶段、数据库的运行与维护阶段

事务具有四个特征原子性、一致性、隔离性、持久性 P116参考答案:

1. 题干:数据库中有四张表客户表:Customers、代理人表Agents、产品表Products和订单表Orders;

其中客户表Customers各属性如下:

Cid 客户编号、Cname客户名、City客户所在城市 代理人表Agents各如下属性

Aid代理人编号、Aname代理人姓名、City代理人所在城市 产品表Products中各属性如下

Pid产品编号、Pname产品名称、Quantity产品销售数量、Price产品单价 订单表Orders表中各属性如下 Ord_no订单号、Month订单月份,Cid客户编号、Aid代理人编号、Pid产品编号、Qty订货数量、Amount订货总金额;

根据以上四个表编写存储过程实现如下要求:

①给指定产品编号的单价增加0.5元

CREATE PROCEDURE pro_update_products @pid CHAR(10)AS UPDATE products SET price=price+0.5 WHERE pid=@pid GO ②插入一个新的产品记录到产品表Products中

CREATE PROCEDURE pro_insert_products @pid CHAR(10), @pname VARCHAR(30), @quantity INT, @price FLOAT AS INSERT INTO products VALUES(@pid,@pname,@quantity,@price)GO

③查询某客户通过某代理订购产品的订货总量 CREATE PROCEDURE pro_Query_Amount @cname VARCHAR(20), @aname VARCHA(20)AS SELECT Amount FROM Customers c,Orders o,Agents a WHERE c.cid=o.cid AND a.aid=o.aid AND c.cname=@cname AND a.anane=@aname GO

2.根据第一题的四个表用触发器实现以下操作

①当向产品表products插入数据时,规定产品单价不得低于0.5元,若低于0.5元则统一调整为0.5元,同时提示用户“产品单价不得低于0.5元” CREATE TRIGGER tri_products ON products FOR INSERT AS DECLARE @pid CHAR(10),@price FLOAT SELECT @pid=pid,@price=price FROM INSERTED IF @price<0.5 BEGIN UPDATE products SET price=0.5 WHERE pid=@pid PRINT ‘产品单价不得低于0.5元’ END GO

②当订单表Orders中的订货数量有变动时,触发器自动修改该项订单的订货总金额Amount CREATE TRIGGER tri_orders ON Orders FOR UPDATE AS DECLARE @ord_no CHAR(10),@pid CHAR(10),@Qty INT,@price FLOAT IF UPDATE(Qty)BEGIN SELECT @ord_no,@pid=pid,@Qty=Qty FROM INSERTED SELECT @price=price FROM products WHERE pid=@pid UPDATE Orders SET Amount=@price*@Qty WHERE Ord_no=@ord_NO END GO

第四章第2题的参考答案P91 设有三个关系

S(S#,SNAME,SEX,AGE)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)用select语句完成下列查询

①检索LIU老师所受课程的课程号和课程名

SELECT C#,CNAME FROM C WHERE TEACHER=’LIU’;

②检索年龄大于23岁的男同学的学号和姓名

SELECT S#,SNAME FROM S WHERE SEX=’男’ AND AGE>23;

③检索学号为S3的学生所学课程的课程名与授课老师名

SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#=C.C# AND SC.S#=’S3’;

④检索至少选修LIU老师所受课程中一门课程的女学生姓名

SELECT DISTINCT SNAME FROM S,SC WHERE S.SEX=’女’ AND S.S#=SC.S# AND SC.C# =ANY(SELECT C# FROM C WHERE TEACHER=’LIU’); ⑤检索WANG同学不学课程的课程号

SELECT C# FROM C WHERE C# NOT IN(SELECT C# FROM SC,S WHERE SC.S#=C.C# AND S.SNAME=’WANG’);

⑥检索至少选修两门课的学生学号

SELECT S# FROM SC GROUP BY S# HAVING COUNT(C#)>=2; ⑦检索全部学生都选修的课程的课程号和课程名

SELECT C#,CNAME FROM C WHERE C# IN(SELECT C# FROM SC WHERE S#=ALL(SELECT S# FROM S))⑧检索选修课程包含LIU老师所受全部课程的学生学号

SELECT S# FROM SC WHERE C# =ALL(SELECT C# FROM C WHERE TEACHER=’LIU’)

第四篇:数据库复习总结

第一章

数据库系统概论

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

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

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

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

数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。

2.什么是数据独立性?数据独立性又分为哪两个层次?为什么需要数据独立性?

数据独立性是用来描述数据与应用程序之间的依赖程度,包括数据的物理独立性和数据的逻辑独立性,依赖程度越低则独立性越高

物理独立性是指用户的应用程序与存储在磁盘上的数据库的数据时相互独立的。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。

作用:数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。数据独立性是通过数据库管理系统的两层映像功能来实现 3.什么是数据模型?数据模型的基本要素有哪些?为什么需要数据模型?

数据模型是描述数据语义、数据与数据之间联系(数据结构)、数据操作,以及一致性约束的概念和工具的集合数据模型的基本要素:

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

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

③数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。

作用:一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。

4.为什么数据模型要分为概念模型,逻辑模型和物理模型三类?试分别解释概念模型、逻辑模型和物理模型

为什么:数据模型应满足3方面的要求:一是能比较真实的模拟现实世界;二是容易被人所理解;三是便于在计算机上实现。一种数据模型要很好地同时满足这3个方面的要求是很困难的,因此,在数据库管理系统中这对不同的使用对象和应用目的,采用不同的数据模型。

概念模型:指概念层次的数据模型,也称为信息模型,它按用户的观点或认识对现实世界的数据和信息进行建模,主要用于数据库设计。常用的概念模型有实体联系模型(E-R模型)和面向对象OO模型

逻辑模型;用来描述数据库数据的整体逻辑结构。传统的逻辑数据模型有层次模型、网状模型和关系模型,非传统的逻辑数据模型有面向对象模型、XML模型等

物理模型用来描述数据的物理存储结构和存取方法 5.关系模型中的主要概念有哪些,试分别解释之。

关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表。关系模型中的常用术语有:关系、元组、属性、码、域、分量和关系模式等。关系模型要求关系必须是规范化的,即关系的每一个分量必须是一个不可分的数据项。关系数据模型的操作主要包括查询、插入,删除和修改(更新数据)。关系数据模型的完整性约束条件包括实体完整性、参照完整性和用户自定义完整性

6.试解释数据库的三级模式结构和两层映像。为什么数据库管理系统要提供数据库的三级模式结构和两层映像?

数据库管理系统的数据抽象一般包括物理层抽象、逻辑层抽象和视图层抽象三个级别。对应于数据抽象的三个级别,数据库管理系统一般也提供观察数据库的三个不同角度,以方便不同的而用户使用数据库的需要,这就是数据库的三级模式结构;内模式、模式和外模式

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

内模式也称存储模式,对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式

模式也称为逻辑模式,赌赢与逻辑层数据抽象,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图

外模式也成子模式或用户模式,对应于视图层数据抽象,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与莫以具体运用有关的数据的逻辑表示

数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。一个数据库模式包含该数据库中所有实体的描述定义。这些定义包括结构定义、操作方法定义等。

数据操纵语言DML,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。具体是指是SELECT查询、UPDATE更新、INSERT插入、DELETE删除。

第二章 关系模型与关系代数

1.名词解释

域:一组具有相同数据类型的值的集合

笛卡尔积:两个分别为N目和m目的关系R和S的笛卡尔积是一个n+m目元组的集合 超码:属性集A能唯一标识关系r中的一个元组,则称A为关系R的一个超码 候选码:对于关系r中一个或多个属性的集合A,若属性集A中的任意真子集都不能成为关系r的超码,则、、、、、主码:在实体集中区分不同实体的候选码。

外码:用于建立和加强两个表数据之间的关系而引用另一个关系的主码。

关系模式:是型的概念,它定义了元组集合的结构,即定义了一个元组由哪些属性构成 关系数据库:在一个给定的应用领域中,所有实体以及实体之间的联系所对应的关系的集合 空值:是所有可能的域的一个取值,表明值未知或不存在。

2.关系模式的完整性:实体完整性、参照完整性和用户自定义完整性。实体完整性:若属性A是关系r中的主码,则A不能取空值

参照完整性:若属性F是关系r的外码,它与关系s的主码Ks相对应,则对于关系r中的每一个元组在属性F上的取值,要么为空值,要么等于关系s中的某个元组的值 3.自然连接和等值连接的区别于联系

等值连接:是从两个关系的笛卡尔积中选取连接属性满足相等条件的所有元组。

自然连接:是一种特殊的等值连接,它要求两个参与连接的关系具有公共的属性集,并且在结果中把重复的属性列去掉

第四章

数据库建模(实体-联系模型)

1.请简要解释下列术语:实体、实体集、属性、域、联系、联系集、角色、映射基数、超码、候选码、主码、弱实体、类层次、聚合

实体是客观世界中可区别于其他事物的“事物”或“对象”。实体既可以是有形的,实在的事物,也可以是抽象的、概念上存在的事物。相同类型的实体组成的集合称为实体集

实体是通过一组属性来描述的,其属性是实体集中给每个实体都具有的性质。每个属性所允许的取值范围或集合称为该属性的域

联系两个或两个以上实体之间的联系。相同类型联系组成的集合称为联系集。联系也可拥有自身的描述性属性

由于参与一个联系的实体集通常是不同的,因而角色是隐含的并且常常不需声明。但是,当参与联系的实体来自相同的实体集,则需要声明角色

映射基数指一实体集中的一个实体通过一个联系集能同时与另一个实体集相联系的实体数目。映射基数可决定联系集的主码属性,甚至可能影响到一个事物是作为实体还是联系的选择

超码是指能够唯一的标识实体集或联系集中的一个实体或一个联系的一个或多个属性的集合。当一个超码的任意真子集都不能成为超码时,称该最小超码为候选码。候选码和超码是实体集客观存在的特性,而主码是被数据库设计者主观选中,用来区分同一实体集中不同实体的候选码

当一个实体集的所有属性都不足以形成主码,就称该实体集为弱实体集。相反,其属性可以形成主码的实体集称为强实体集。弱实体集所以来的强实体集称为标识实体集。标识实体集和弱实体集之间必须是一对多关系,并且弱实体集中的实体在联系集中是全部参与的

E-R模型使用继承和ISA联系来描述实体集之间概念上的层次关系。当欲建立联系间的联系时,可使用聚合实现

聚合是一种抽象,它将一个联系集及其相关联的实体集抽象为一高层实体集对待,然后建立该高层实体集与其他实体集之间的联系集 2.综合题:需求分析----E-R图---关系模式

第七章

数据库存储结构

1.数据库系统的存储访问方式是什么?为什么要这样? 一个数据库映射为多个不同的文件,这些文件由底层的操作系统来维护,永久地存放在磁盘上,并且具有三级存储介质上的备份。每个文件分成定长的存储单元,称为块。块是存储分配和数据传输的基本单位

当数据库系统中的程序需要磁盘上的块时,它向缓冲区管理器发出请求(即调用)。如果这个块已经在缓冲区中,缓冲区管理器将这个块在主存储器中的地址返回给请求者。如果这个块不再缓冲区中,缓冲区管理器首先在缓冲区中为这个块分配空间,如果需要的话会把其他块移出主存储器为这个新块腾出空间,移出的块仅当它在最近一次写回磁盘后修改过才需要写回磁盘;然后,换红区管理器把这个块从磁盘读入缓冲区,并将这个块在主存储器中的地址返回给请求者。缓冲区管理器的内部动作对发出磁盘块请求的程序是透明的。原因:数据库系统的一个主要目标就是减少磁盘和主存储器之间传输的块数。减少磁盘访问次数的一种方法是在主存储器中保留尽可能多的块,目的是最大化要访问的块已经在主存储器中的几率,这样就不再需要访问磁盘了

2.什么是聚集文件组织、什么是多表聚集文件组织?为什么需要多表聚集文件组织?为什么要慎用多表聚集文件组织?

聚集文件组织:很多关系数据库系统将各个关系存储在一个个独立的文件中,不同关系中有联系的数据是通过关系间的联接操作得到的,但是当数据的数量比较大时,这种方法速度会很慢。而在聚集文件组织方式中,一个文件可以存储多个关系的记录,不同关系中有联系的记录存储在一起可以提高查找速度。

多表聚集文件组织:在一个块中存储两个或多个关系的相关记录,以加速特定连接的处理。但是它将会导致其他类型查询的处理变慢

3.为什么需要索引?什么是顺序索引和散列索引?什么是主索引和辅助索引?稠密索引和稀疏索引有什么不同?什么是索引顺序文件?

许多查询只涉及到文件中的少量记录,索引能使系统直接定位这些满足查询条件的记录。DBMS首先会查找索引,找到对应记录所在的位置(即所在磁盘的块地址),然后读取该磁盘块,得到所需的记录

顺序索引是基于搜索码的值的顺序排列,用于支持快速地对文件中的记录进行顺序或随机的访问。散列索引时通过搜索码值的散列函数的值将所有记录平均、随机地分布到若干个散列桶中,用于支持快速地对文件中的记录进行随机地访问

如果索引文件中的记录按照某个搜索码值指定的顺序物理存储,那么该搜索码对应的索引就称为主索引,也叫聚集索引。与此相反,搜索码值顺序与索引文件中记录的物理顺序不同的那些索引称为辅助索引或非聚集索引

如果索引文件中的每一个不同的搜索码值,在索引中都有一个索引记录(或称为索引项),则该索引称为稠密索引。如果只对索引文件中的部分搜索码值,在索引中存在一个索引记录,则该索引称为稀疏索引。每一个索引项包含搜索码值和指向具有该搜索码值的第一个数据记录的指针。利用稠密索引通常可以比稀疏索引能够更快地定位一条记录的位置,但是稀疏索引占用空间更小,插入、删除和更新的开销也会更小

建立了主索引的索引文件称为索引顺序文件:稠密索引、稀疏索引 4.B+树索引的根结点,非叶结点和叶结点都具有相同的数据结构,那它们之间有什么不同? 非叶结点的结构与叶结点结构相同,只不过非叶结点中的所有指针都是指向B+树种下一层节点的指针,根结点与其他非叶结点不同,它包含的指针书可以小于n/2,但至少包含两个指针

5.散列文件组织和散列索引有什么不同? 在散列文件组织中,通过计算一条记录的搜索码值的散列函数值,可以直接获得包含该记录的磁盘块(桶)的地址。在散列索引组织中,把搜索码值以及与它们先关联的记录指针组织成一个散列文件结构

6.在考虑用索引时,是选择B+树索引还是散列索引?为什么? 散列其实就是一种不通过值的比较,而通过值的含义来确定存储位置的方法,它是为有效地实现等值查询而设计的。不幸的是,基于散列技术不支持范围检索。而基于B+树索引技术能有效的支持范围检索,并且它的等值检索效果也很好。但是,散列技术在等值连接中是很有用的,尤其是在索引嵌套循环连接方法中,基于散列的索引和基于B+树的所以在代价上会有很大差别

7.数据库物理设计的主要内容是什么?数据库物理设计的目标是什么?

数据库物理设计的目标是:提高数据库性能,以满足应用的性能需求;有效利用存储空间;在性能和代价之间做出最优平衡 数据库物理设计的内容包括:确定数据库性能,以满足应用的性能需求;有效利用存储空间;在性能和代价之间做出最优平衡

第八章 查询处理

1.查询处理的过程分为哪几个步骤

语法分析与翻译查询优化查询执行 2.查询代价如何度量?为什么?

查询处理的代价可以通过该查询对各种资源的使用情况进行度量,主要包括磁盘存取时间和执行一个查询所用CPU时间以及在并行/分布式数据库系统中的通信开销等 3.如何实现选择运算?

用于选择运算的搜索方法不用索引的搜索算法----文件扫描使用索引的搜索算法---索引扫描

4.题见书(1)最坏情况下,缓冲区只能容纳每个关系的一个数据块,因而算法的代价为:EJ = nr * bs + br。这里,nr = 20000,bs =1500,br=800,所以所需要的块存取数为20000*1500+800,约为30M个块存取。最好情况下,两个关系都能放到内存里,因而算法代价为:EJ = bs + br。大约需要2.3K个块存取。

5.为什么需要查询优化?什么是查询执行计划?查询优化器的输入和输出分别是什么? 处理一个给定的查询,尤其是复杂的查询,通常会有许多种策略。查询优化就是从这多种策略中找出最有效的查询执行计划的处理过程。

给定一个关系代数表达式,查询优化器的任务就是产生一个查询执行计划,该计划能获得与原关系代数表达式相同的结果,并且执行代价是接近最小的

6.题见书:由于是计算三个关系的自然连接,且连接属性中的C、E是各自关系的主码,因此r1r2r3的大小最多为1000个元组。有效地计算这个连接的策略就是让连接结果较小的连接运算先执行,即:(r1r2)r3。原因就是:由于A是r1的主码,C是连接属性,因此r1r2的最大结果为1000个元组;而C是r2的主码,E是连接属性,因此r2r3的最大结果为1500个元组。所以,要让(r1r2)先做连接运算,以减少结果集的大小。7.画树

其它章节零散习题

列级约束和元组级约束的区别在哪里?

如果在定义属性的同时定义约束条件,则为列级约束;如果单独定义约束条件,则为元组级约束

什么是事物的ACID特性?

①原子性:事务的所有操作要么全部都被执行,要么都不被执行②一致性;即一个单独执行的事务应保证其执行结果的一致性,即总是将数据库从一个一致性状态转化到另一个一致性状态③隔离性:即当多个事务并发执行时,一个事务的执行不能影响另一个事务,即并发执行的各个事务不能相互干扰④持久性:即一个事务成功提交后,它对数据库的改变必须是永久的,即使随后系统出现故障也不会受到影响 当前主流的数据库访问技术是ADO Web服务器的职责是什么?数据库服务器的职责又是什么? Web服务器负责监听客户的请求,一旦收到客户请求,数据库服务器 三级数据库考点分析之计算机基础知识

1.1计算机系统组成与应用领域

考点1计算机系统组成

一个完整的计算机系统,包括硬件和软件两个部分。

硬件系统是指组成一台计算机的各种物理装置,它是计算机的物质基础,由各种器件组成,如主板、CPU、硬盘、显示器、内存和线路等。

软件系统是运行在计算机硬件设备上的各种程序及相关资料的总称。

以存储程序原理为基础的冯·诺依曼结构的计算机,一般由五大功能部件组成,它们是运算器、控制、存储器、输人设备以及输出设备。

下面分别对各种设备进行介绍。

1运算器

运算器是用于对数据进行加工的部件,它可以对数据进行算术运算和逻辑运算。算术运算包括加、减、乘、除、求余及复合运算。逻辑运算包括一般的逻辑判断和逻辑比较。

2控制器

控制器是计算机的控制部件。它控制计算机各部分自动协调地工作,用于对程序的指令进行解释和执行,协调输人、输出设备,以实现数据输人、运算和输出等操作。

3存储器

存储器的主要功能是存放程序和数据,是计算机的记忆存储装置。它分为内部存储器和外部存储器。

4输入设备

输人设备是计算机从外部接收、获取信息的装置。其功能是将数据、程序及其他信息,从人们所熟知的形式转换成计算机能识别的信息形式,并输人到计算机内部。

常见输人设备有鼠标、键盘、扫描仪、纸带输人机、模/数转换器(A/D转换器)等

5输出设备

输出设备的主要功能是将计算机处理过的二进制形式的信息转换成人们所需要的形式或其他设备接受并可以识别的信息形式。常见的输出设备有显示器、打印机、声音合成输出、绘图仪和数/模转换器(D/A转换器)等

一般把运算器和控制器合称为中央处理器(Central Processor Unit,简称CPU),中央处理器与内存储器统称为主机.输人设备、输出设备和外存储器合称为外部设备,外部设备通过接口与主机相连。考点2计算机的应用领域

l 科学和工程计算

主要是用数值方法对一些数学问题的求解。计算机不仅可以提高计算的速度,还可以使一些人工不能解决的数学问题得到解决。在科学实验和工程设计中,经常会遇到一些数学方程和函数问题,这些问题人们不能从理论上得出其准确解,但利用计算机可以得到它们的近似解。这种应用称为科学和工程计算,其特点是计算量大,而逻辑关系相对简单。

2数据和信息处理

数据处理是指对数据的收集、存储、加工、分析和传送的一系列过程。

计算机的一个非常重要的应用领域就是对数据和信息的处理。数据的含义是相当广泛的,包括声、像、文字和图表等,它们都可以用计算机来进行处理。

3过程控制

过程控制是自动化技术的重要技术内容和手段.指计算机对所采集到的数据按一定的方法经过计算,然后输出到指定的执行设备中去控制生产的过程。

4辅助设计

计算机辅助设计(Computer Aided Design,简称CAD)是用计算机来帮助设计人员进行产品、工程设计的重要技术手段,可以节省人力和物力,且速度快,质量高,能有效缩短产品的设计周期。

这里有必要提一下这几个名词:计算机辅助制造(Computer Aided Manufacturing,简称CAM)、计算机辅助测试(Computer Aided Testing,简称CAT)和计算机辅助教学(Computer Aided Instruction,简称CAI)。

5人工智能

人们把用计算机模拟人脑思维的过程称为人工智能,并利用计算机程序来实现这些过程。

1.2计算机软件 考点3计算机语言

计算机语言是面向计算机的人工语言,它是进行程序设计的工具,又称为程序设计语言。现有的程序设计语言一般可分为机器语言、汇编语言及高级语言,下面分别加以介绍。

1机器语言

机器语言是最初级的计算机语言,它依赖于硬件,是由0,I组成的二进制编码形式的指令集合。不易被人识别,但可以被计算机直接执行。

2汇编语言

汇编语言指使用助记符号和地址符号来表示指令的计算机语言,也称之为符号语言。每条指令有明显的标识,易于理解和记忆。

用汇编语言编写的程序,直观且易理解,这是汇编语言的优点。但是汇编语言仍是面向机器的,编程工作量大,程序可移植性差。计算机不能识别和直接运行汇编语言,必须翻译成机器语言程序后才能识别并运行。这种翻译程序即称为汇编程序,其关系如图l一1所示。

图1-1汇编过程

高级语言

高级语言是一类面向问题的程序设计语言,且独立于计算机的硬件,对具体的算法进行描述,所以又称为算法语言,它的特点介绍如下:

(I)脱离具体的计算机硬件。

(2)通用性及可移植性好。

下面介绍几种常用的高级语言。

(I)BASIC语言:多用于教学及小型应用程序的开发工作。

(2)FORTRAN语言:多用于科学及工程计算程序的开发工作。

(3)PASCAL语言:多用于专业教学及应用程序的开发工作。

(4)C语言:多用于系统程序的开发。

(5)C十+语言:多用于面向对象程序的开发。

(6)COBOL语言:多用于商业、交通及银行等应用程序的开发。

(7)PROLOG语言:多用于人工智能程序的开发。

(8)FoxPro语言:多用于专业教学及应用程序的开发。

高级语言程序一般又称为源程序,不能直接在计算机上运行,需要翻译成机器语言程序(又称为目标程序)才可执行。这种翻译是由编译程序来完成的,翻译过程如图1-2所示。

图1一2编译过程

考点4系统软件

系统软件指负责管理、监控和维护计算机资源(含硬件资源和软件资源)的程序。

1操作系统

操作系统(Operating System,简称OS)是系统软件的核心,也是用户同计算机之间的接口,是一组程序模块的集合:它们有效地控制和管理计算机系统中的硬件和软件资源;合理地组织计算机工作流程,以改善系统的性能;提供一个易于使用、功能强大的工作环境,从而在计算机和其他用户之间起到接口的作用。

2语言处理程序

语言处理程序就是将各种语言编写的源程序翻译成机器语言表示的目标程序。按处理方式的不同可解释型程序与编译型程序两大类。

3数据库管理系统

数据库管理系统(DataBase Management System,简称DBMS)是组织、管理和查询计算机中的存绪数据并提供一定处理功能的大型系统软件,是计算机信息系统和应用系统的基础,可分为两类:

(1)基于微型计算机的小型数据库管理系统可解决数据量不大且功能要求较简单的数据库应用。

(2)大型的数据库管理系统功能齐全,安全稳定,支持对大数据量的管理并提供相应开发工具。

4服务性程序

服务性程序属于辅助性的程序.比如用于程序的装人、连接和编辑,调试用的装人程序、连接程序、编辑程序及调试程序,以及故障诊断程序、纠错程序等。考点5应用软件

应用软件是指人们为了解决某泞、领域的实际问题而编制的计算机程序。除了系统软件以外的所有软件都称为应用软件。随着计算机应用在不同领域的深人发展,应用软件的类型也不断增多,如各种用于计算的软件包、字处理软件、CA D软件、CAI软件、CAM软件,以及各种绘图软件等。

计算机硬件、软件及汁算机系统的组成情况如图1一3所示。

图1-3计算机系统组成 考点6计算机网络概述

1计算机网络的基本概念

计算机网络是通信技术与计算机技术紧密结合的产物,通过通信线路及通信设备将分布在不同地点的具有独立功能的多个计算机系统连接起来,并在网络软件支持下实现相互的数据通信及资源共享的硬件系统。计算机网络按规模大小可分为局域网、城域网和广域网。

2计算机网络的发展厉史

(l)具有通信功能的单机系统阶段。

(2)具有通信功能的多机系统阶段。

(3)计算机网络阶段。

3计算机网络的主要特点

在不同的发展阶段,人们对网络的定义是不同的,这些定义大致可分为3类:广义的观点、资源共享的观点和用户透明性的观点。从目前计算机网络的特点来看,资源共享观点能比较准确地描述计算机网络的基本特征。下面简单介绍一卜资源共享的含义:

(1)资源共享。网络用户可以通过网络访问联网的远程计算机资源,也可以调用不同计算机共同完成任务。

(2)独立的计算机。网络中的计算机可以联网工作,也可以脱离网络独立工作。

(3)遵循共同的网络协议。为保证网络中的计算机能有序地工作,每台计算机在交换数据的过程中遵守共同的通信规则,一个网络协议主要由语法、语义与时序组成。

考点7计算机网络的分类

1分类方法

(1)根据传输技术分类:可分为广播式网络与点一点式网络。

(2)根据网络的覆盖范围与规模分类:可分为局域网、城域网及广域网。

2广域网

广域网(Wide Area Network,简称WAN)也称为远程网,其覆盖范围从几十千米到几千千米甚至上万千米,广域网具有以下特点。

(1)适应大容量与突发性通信要求

(2)适应综合业务服务要求

(3)开放的设备接口与规范化的协议

(4)完善的通信服务与网络管理。

随着通信技术的不断发展,数据通信的环境也发生了变化,主要表现在以下3个方面。

(1)传输介质由原有的电缆逐步走向误码率很低且带宽很宽的光纤

(2)局域网内部的数据传输速率已经达到IOMb/s一1 Gb/s,多个局域网之间高速互联的要求越来越强烈。

(3)用户设备性能大大提高,可以承担部分原来由数据通信网承担的通信处理功能

3局域网

局域网(Local Area Network,简称LAN)指网络服务区域在一个局部的范围内,可以有一台或多台计算及多个工作站通过其进行通信。它有以太网(Ethernet)、令牌总线(Token Bus)和令牌环(Token ring)3种工作原理。

局域网的技术特点主要表现在以下几个方面。

(1)覆盖范围有限,多用于公司、机关、校园等范围内的计算机终端与信息处理设备之间的联网需求。

(2)提供高数据传输速率、低误码率、高质量数据传输环境。

(3)易于建立、维护与扩展,一般为一个单位所有。

(4)决定局域网特性的主要技术要素为网络拓扑、传输介质与介质访问控制方法。

(5)从介质访问控制方法角度,可分为共享式与交换式局域网。

城域网

城域网(Metropolitan Area Network,简称MAN)是介于广域网与局域网之间的一种高速网络。早期的城域网主要采用光纤分布式数据接口(Fiber Distributed Data Interface,简称FDDI),它主要有以下几个技术特点。

(1)使用基于IEEE 802.5的单令牌的环网介质访问控制MAC协议。

(2)使用IEEE 802.2协议,与符合IEEE 802标准的局域网兼容。

(3)数据传输速率为100 Mb/s,联网的节点数`1 000,环路长度为100 km,(4)可以使用双环结构,具有容错能力。

(5)可以使用多模或单模光纤。

(6)具有动态分配带宽的能力,能支持同步和异步数据传输。

考点8Internet基础 Internet的形成与发展

(1)TCP/IP协议与ARPAnet的结合,使ARPAnet成为Internet的主干网。

(2)NSFnet从一开始就使用TCP/IP协议,是第一个使用TCP/IP协议的广域网。

(3)Internet实现了TCP/IP协议参考模型与协议的结合。TCP/IP协议使网络不受主机、用户微型计算机及所使用的操作系统的限制。

Internet的结构与组成

从技术角度上来看,Internet主要是由通信线路、路由器、主机、信息资源几个主要部分组成的。

(1)通信线路。将Internet中的路由器与路由器、路由器与主机连接起来。

(2)路由器。是Internet中最重要的通信设备之一,它的作用是将Internet中的各个局域网、城域网或广域网,以及主机互联起来

(3)主机。是Internet中信息资源与服务的载体。

(4)信息资源是用户最关心的问题,它会影响到Internet中站点受欢迎的程度。

TCP/IP协议、域名与IP地址

TCP/IP协议是为保证Internet正常工作而要求所有Internet中的主机都必须遵守的通信协议。它具有 以下几个特点

(1)开放的协议标准,独立于特定的计算机硬件与操作系统。

(2)独立于特定的网络硬件,可以运行在局域网和广域网,更适用于互联网中。

(3)标准化的高层协议,可以提供多种可靠的用户服务。

(4)统一的网络地址分配方字模,使得整个TCP/IP设备在网中都具有唯一的IP地址。

在TCP/IP参考模型中,应用层包括了所有的高层协议,且一直有新的协议加人。应用层协议主要有下面几种。

(1)网络终端协议TELNET,实现网络互联中远程登录的功能二

(2)文件传送协议FTP,实现因特网中交互式文件传送的功能。

(3)域名服务DNS,实现网络设备名字与IP地址相互映射的网络服务。

(4)路由信息协议RIP,网络设备间交换路由信息的协议。

(5)电子邮件协议SMTP,实现网络中电子邮件的传送功能。

(6)HTTP协议,用于www.xiexiebang.comF 1.第一范式(1NF)及进一步规范化

关系模式需要满足一定的条件,不同程度的条件称做不同的范式,最低要求的条件是元组的每个分量必须是不可分的数据项,这叫第一范式,简称1NF,是最基本的范式。对于各种范式之间的联系有5NF C4NF仁BCNFC3NF仁2NFCINF成立。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这个过程就叫规范化。2.第二范式(2NF)若R EINF,且每一个非主属性完全函数依赖于码,则R∈2NFo 2NF就是不允许关系模式的属性之间有这样的函数依赖X-.Y。其中X是码的真子集,Y是非主属性,也就是说,不允许有非主属性对码的部分函数依赖。3.第三范式(3NF)关系模式R,<U,F>中若不存在这样的码X,属性组Y及非主属性Z(Z不包含于均使得X→Y,(Y函数依赖于X)Y→Z成立,则称R<U, F>∈3NF 4.Boyce一Codd范式(BCNF)若关系模式REINF,且对于每个非平凡的函数依赖X-} Y都有X包含码,则R EBCNF。在函数依赖的范围内,BCNF达到了最高的规范化程度。

考点35多值依赖和4NF 1.多值依赖

设R(U)是属性集U上的一个关系模式X、Y,Z是U的子集,并且Z=U一X一Y}关系模式R(U)中多值依赖X→→Y成立,当且仅当对R(U)功的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。4.第四范式(4NF)关系模式R<U,F>司NF,如果对于R的每个非平凡多值依赖X→→Y(Y不包含于X),X都含有码,则称R<U,F>∈4NF。

如果一个关系模式是4NF,则必为BCNF。

4.14关系模式的分解

考点36模式分解的等价标准

常用的等价标准要求分解是具有无损连接性的,并且是保持函数依赖的。

考点37关于模式分解的几个事实

(1)分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。(2)若要求分解具有无损连接性,那么模式分解一定可以达到BCNF)。

(3)若要求分解保持函数依赖,刀厂么模式分解可以达到3NF,但不一定能达到BCNF。(4)若要求分解既具有无损连接性,又保持PA数依赖,则模式分解可以达到3NF,但不一定能达到BCNF。

4.15数据库设计的内容、方法和步骤

考点38关于数据库设计的概述

数据库设计是指对于一个给定的应用环境,包括硬件环境、操作系统和数据库管理系统(DBMS)等软件环境,如何使用这个环境来表达用户的要求,构造最优的数据库模式,建立数据库及围绕数据库展开的应用系统,使之能够有效地收集、存储、操作和管理数据,满足企业组织中各类用户的应用需求。

数据库设计方法中比较著名的有新奥尔良(New Orleans)方法。它将数据库设计过程分为4个阶段:需求分析、概念结构设计

一、逻辑结构设计和物理设计。4.16需求分析

考点39需求分析的任务

需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)的下作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。需求分析的阶段成果是产生系统需求说明书。考点40需求分析的基本步骤

需求分析的步骤有以下几个方面:

(1)需求的收集:数据,发生时间、频率,发生的规则、约束条件、相关联系、计划控制及决策过程。

(2)需求的分析整理二包括数据流程分析、数据分析结果描述、数据分析统计及分析围绕数据的各种业务处理功能,并以带说明的系统功能结构图形式给出。

4.17概念结构设计

考点41概念结构设计的目标和策略

概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述。

设计概念结构通常有4类方法:自顶向下、自底向上、由里向外和混合策略。无论采用哪种设计方法,一般都以E-R模型为工具来描述概念结构。最常用的设计策略是自底向上设计策略。

考点42采用E-R方法的数据概念模型设计 1数据抽象与局部视图设计

以自底向上设计概念结构的方法为例,它通常分为两步:

(1)根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图即E-R图。(2)集成局部视图。

设计E-R图的步骤如下:

(1)选择局部应用(2)逐一没计E-R图二 2视图的集成

集成局部E-R图时需要两步。

(1)合并E-R图,生成初步E7R图。

各E-R图之间的冲突主要有3类:属性冲突、命名冲突和结构冲突:(2)修改与重构,生成基本E-R图。

修改、重构初步E-R图以消除冗余,主要采用分析方法。除分析方法外,还可以用规范化理论来消除冗余。

4.18逻辑结构设计

考点43 E-R模型向关系数据模型的转换

将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换的规则包括以下几点:(1)一个实体型转换为一个关系模式。(2)一个m: n联系转换为一个关系模式。

(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。(4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

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

(6)同一实体集的实体间的联系,即自联系,也可按上述1: 1,1: n和m: n三种情况分别处理。

(7)具有相同码的关系模式可以合并。

考点44关系数据库的逻辑结构设计过程 关系数据库的逻辑结构设计过程如下:

(1)从E-R图导出初始关系模式。(2)规范化处理。

(3)模式评价。(4)优化模式。(5)形成逻辑结构设计说明书。

4.19物理结构设计

考点45物理设计的内容

(1)存储记录的格式设计。对数据项类型特征进行分析,并对存储记录进行格式化

决定如何进行数据压缩或代码优化。

(2)存储方法的设计。物理设计中最重要的一个考虑是把存储记录在全范围内进行物理安排,包括顺序存放、散列存放和聚列存放。物理设计的结果是物理设计说明书。(3)存取方法设计。存取方法设计为存储在物理上的数据提供数据访问的路径。DBMS产品一般都提供了一些存储分配参数,供数据人员和DBA对数据库进行物理优化。

考点46物理设计的评价

数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。

在数据库应用系统生存期中,总的开销包括:规划开销、设计开销、实施和测试开销、操作开销、运行维护开销。评价物理数据库的方法完全依赖于所选用的DBMS。

4.20实现和维护

考点47数据库的实现

数据库实现的主要工作有以下几个方面:(1)定义数据库结构。(2)编制与调试应用程序。(3)数据装载。

(4)数据库试运行。

考点48其他设计

其他设计工作包括加强数据库的安全性、完整性控制,以及保证一致性、可恢复性等,总是以牺牲效率为代价的。设计人员的任务就是要在实现代价和尽可能多的功能之间进行合理平衡。其他设计包括数据库的再组织设计、故障恢复方案设计、安全性考虑和事务控制等。

考点49数据库的运行和维护

在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括以下几个方面:

(1)数据库的转储和恢复。

(2)数据库的安全性、完整性控制。(3)数据库性能的监督、分析和改进。(4)数据库的重组织和重构造。

4.21数据库管理系统概述

考点50 DBMS的系统目标

数据库管理系统(DBMS)是操作和管理数据库的软件系统,它由一组计算机程序构成,管理并控制数据资源的使用。数据库管理系统是数据库系统的核心DBMS的目标是用户界面友好、结构清晰和开放性。

考点51 DBMS的基本功能

DBMS主要是实现对共享数据有效的组织、管理和存取。因此,DBMS具有如下几个方面的基本功能。

(1)数据库定义功能。(2)数据存取功能。

(3)数据组织、存储和管理。(4)数据库运行管理。(5)数据库的建立和维护。

(6)通信功能和数据转换功能等。

考点52 DBMS程序模块的组成

大致来说,DBMS的程序模块可按功能划分为以下5个模块:(1)数据定义方面的程序模块。(2)数据操纵方面的程序模块

(3)数据库运行管理方面的程序模块

(4)数据库组织、存储和管理方面的程序模块。(5)数据库建立、维护和其他方面的程序模块。

考点53 DBMS的层次结构

可以将DBMS划分成若干层次,这样可以帮助我们更清晰地认识DBMS,更重要的是有助于DBMS的设计和维护。

(1)最上层是应用层位于DBMS核心之外。

(2)第二层是语言翻译处理层它处理的对象是数据库语言}A SQL,(3)第三层是数据存取层:该层处理的对象是单个元组。

(4)第四层是数据存储层。该层处理的对象是数据页和系统缓冲区。(5)操作系统是DBMS的基础。它处理的对象是数据文件的物理块。4.22新的应用需求对DBMS的挑战

考点54新的应用需求对DBMS的挑战

由于现在以关系型数据库管理系统(RDBMS)为主流。这些新应用需求要求数据库管理系统应该具有支持分布式操作、联机事务处理能力、决策支持能力、支持多媒体、大容量、复杂数据应用、兼容性和集成能力、异种数据库之间的互访能力、系统可靠性、安全性、大型系统等方面的管理能力。

在我国,当前流行的数据库管理系统绝大多数是关系型数据库管理系统,一般可分为如下3类:

(1)以PC机、微型机系统为运行环境的数据库管理系统。(2)以Oracle为代表的数据库管理系统,这类系统还有IBM DB2,Sybase等,也被称为主流数据库管理系统。

(3)以Microsoft SQI.Server为代表的介于以上两类之间的数据库管理系统。

4.23 Oracle数据库系统

考点55Oracle数据库系统简介

Oracle关系型数据库管理系统是美国Oracle公司的优秀软件产品,它采用SQL语言作为数据库语言。该公司于1979年推出了世界上第一个商业化的关系型数据库系统。Oracle数据库的特点包括兼容性、可移植性、可连接性及高的生产率。

考点56 Oracle的主要产品及其功能 1Oracle数据库服务霖功能及其特色

Oracle数据库服务器包括标准服务器和许多可选的服务器选件,选件用于扩展标准服务器的功能,以适应特殊的应用需求。

(1)标准服务器主要具有下列特色:多进程多线索的体系结构、高性能核心技术、高可用性和SQL的实现。

(2)并行服务器选件(paralle server option)和并行查询选件(paralle query option)。

第五篇:数据库考试期末总结

第1章 数据库系统概述

1、基本概念

• 数据库、数据库管理系统、数据库系统 • 数据库系统的特点和功能 • 数据抽象

– 三种数据抽象能力 – 三种数据库模式 – 两种数据独立性

• 数据库系统的用户 • 数据模型、数据库语言 • 数据库管理系统的结构

2、重点

• 数据库、数据库管理系统、数据库系统 • 两种数据独立性

第2章 关系数据库系统

1、知识点

• 关系数据模型

– 数据结构 – 完整性约束 – 操作

• 关系运算的安全性

• 关系代数、元组关系演算、域关系演算的等价性 • SQL – 交互式 – 嵌入式

2、基本概念

• 关系、属性、元组、关系模式、关系实例 • 关系的性质

• 候选键、主键、键属性、非键属性、外部键 • 实体完整性约束、关联完整性约束 • 关系代数操作的定义

• 关系代数的基本操作和附加操作 • 专门的关系运算 • SQL语言的子语言

• 每个SQL语句的功能及语法格式

3、重点

• 关系数据模型 • 关系代数 • SQL语句

第3章 数据库的安全性与完整性

1、知识点 • 安全性

– 定义

– 需要解决的问题 – 解决的方法

• 完整性

– 定义 – 类型

– 定义和验证方法

2、基本概念 • 安全性的定义 • 完整性的定义 • 完整性的类型

第4章 数据库设计概述与需求分析

1、基本概念 • DB设计的任务 • DB的生命周期 • DB的设计过程 • DB的需求分析的任务、目标、步骤

第5章 概念数据库设计

1、知识点

• 实体联系模型(ER模型)• 实体、实体型

• 实体的属性、实体的属性值、复合属性、单值属性、多值属性、导出属性、空值

• 键、简单键、复合键 • 实体间的联系

• 实体对应约束(1:

1、1:n、m:n)、实体关联约束(全域关联约束、部分关联约束)

• 弱实体型、弱实体、识别实体型、识别联系 • 弱实体型的部分键 • ER图

2、基本概念

• 复合属性、多值属性、导出属性 • 1:

1、1:n、m:n联系 • 概念数据库设计的任务 • 概念数据库设计的目标 • 概念数据库设计的步骤

• 概念数据库设计的方法、视图综合设计方法 • 概念数据库设计的策略

3、重点 • ER图

第6章 逻辑数据库设计

1、知识点

• 形成初始关系模式

– 普通实体、弱实体、多值属性、各种联系

• 函数依赖、完全函数依赖、部分函数依赖、传递函数依赖 • 给定关系实例,求函数依赖集 • Armstrong公理系统、三条推理规则 • 求属性闭包、求候选键

• 两个函数依赖集等价的判定、求最小函数依赖集 • 关系模式的规范形式

– 1NF、2NF、3NF、BCNF • 关系模式的规范化方法

– 无损连接性、函数依赖保持性、判别方法 – 关系模式的分解算法

2、基本概念

• 逻辑数据库设计的任务 • 逻辑数据库设计的目标 • 逻辑数据库设计的步骤 • 初始关系模式可能存在的问题

• 函数依赖、完全函数依赖、部分函数依赖、传递函数依赖 • Armstrong公理系统、三条推理规则 • 1NF、2NF、3NF、BCNF •

3、重点

• 形成初始关系模式,并指出每个关系模式的主键和外键 • 给定关系实例,求函数依赖集 • 求属性闭包、求候选键 • 判断两个函数依赖集等价

• 求与给定函数依赖集等价的最小函数依赖集 • 判断一个关系模式最高属于几范式 • 判断给定的分解是否具有无损连接性 • 关系模式的3NF、BCNF分解算法

第7章 物理数据库设计

1、知识点 • 物理数据库设计的任务 • 物理数据库设计的步骤

第8章 物理存储结构

1、知识点

• 物理存储设备

– 磁盘的存储特性和访问特性

• 磁盘冗余技术 • 文件和文件记录

• 各种文件结构的存储空间和查询时间的计算 • 各种索引的存储空间和查询时间的计算

2、基本概念 • 记录

• 定长记录文件、边长记录文件 • 跨块记录、非跨块记录 • 无序文件、有序文件 • 索引域、索引文件、索引记录 • 稀疏索引、稠密索引 • 主索引、辅助索引、聚集索引 • B树、B+树

3、重点

• 各种文件和索引占用的空间计算 • 利用各种文件和索引的查询时间的计算

第9章 数据库管理系统的数据字典

1、重点

• 数据字典的概念 • 数据字典中存储的信息

• 把数据字典作为普通关系处理具有两个优点

第10章 关系代数操作的实现算法

1、重点

• 查询处理的过程

• 各个关系代数操作的算法及代价分析

第11章 查询优化技术

1、知识点

• 关系代数的等价变换规律 • 启发式代数优化规则 • 初始关系代数表达式

• 关系代数表达式到查询树的转换 • 启发式关系代数优化算法 • 基于复杂性估计的查询优化算法 • 语义查询优化方法

2、重点

• 关系代数的等价变换规律 • 启发式代数优化规则 • 初始关系代数表达式

• 关系代数表达式到查询树的转换 • 启发式关系代数优化算法

第12章 并发控制技术

1、知识点 • 事务

• 不对并发事务进行控制导致的问题 • 事务的性质

• 事务的调度、串行调度、并行调度 • 可串行的调度 • 冲突 • 冲突等价 • 冲突可串行

• 冲突可串行的测试方法 • 两段锁协议

2、基本概念

• 事务处理包括哪两方面的内容 • 不对并发事务进行控制导致的问题

• 事务、事务的状态、事务的性质、事务的原子性 • 调度、串行调度、并行调度、可串行调度 • 冲突、冲突等价、冲突可串行

3、重点 • 基本概念

• 冲突可串行的测试方法

• 两段锁协议

第13章 数据库恢复技术

1、知识点 • 日志 • 日志的内容 • 日志的产生过程

• 使用日志进行系统恢复的方法

2、重点

• 使用推迟更新技术(REDO日志技术)和即时更新技术(UNDO/REDO日志)进行系统恢复的方法,包括恢复时所做的操作以及恢复后数据库中数据项的值。

下载数据库期末复习总结word格式文档
下载数据库期末复习总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数据库期末

    一.ER图作成及向关系模式转化 1.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,......

    数据库复习总结知识点大全

    《黄色填充区域是不确定区域需要在找找》 1.数据库有什么特点? 主要特点 实现数据共享。。 减少数据的冗余度。数据的独立性。数据实现集中控制。 数据一致性......

    SQL数据库期末复习试题 - 填空

    三、填空题(每空1分,共20分) 1.数据库系统具有数据的___外模式____、__模式_____和内模式三级模式结构。 2.SQL Server 2000局部变量名字必须以____@、_____开头,而全局变量名......

    数据库原理复习

    1.请写出SQL Server 2000中的六种约束。主键约束,唯一键约束,检查约束,默认值约束,外键约束,级联参照完整性约束2.在关系模型中,有哪三类完整性约束?实体完整性:体现在实体的唯一性上,......

    高中期末复习总结

    高中期末复习总结 复习的过程是掌握知识的高级阶段, 高中期末复习总结有哪些?以下是小编为您整理的相关资料,欢迎阅读! 【篇一:高中期末复习总结】这个学期结束了。在这个学期里,......

    银行信贷期末复习总结

    一、名词解释 1、银行信贷:指以银行为中介、以偿还计息为条件的货币借贷 2、贷款展期:是指贷款人因故使借款未能按合同约定期现偿还而要求继续使用 贷款 3、审贷分离制度:贷款......

    初一期末复习总结[精选合集]

    【知识梳理】 I. 重点短语 1. Sit down2. on duty 3. in English 4. have a seat 5. at home 6. look like 7. look at8. have a look9. come on10. at work11. at school12......

    语文期末复习总结

    语文期末复习总结一年级(3)班肖玲2011年1月转眼间一学期的教学工作已经结束了,现结合本学期制定的期末复习计划与本班的期末成绩进行工作总结: (一)汉语拼音 教学过程: 一、复习字......