11.试述关系模型的参照完整性规则?答:参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。2.试述视图的作用?(1)视图能够简化用户的操作。(2)视图使用户能以多种角度看待同一数据。(3)视图对重构数据库提供了一定程度的逻辑独立性。(4)视图能够对机密数据提供安全保护。3.登记日志文件时必须遵循什么原则?登记日志文件时必须遵循两条原则:(1)登记的次序严格按并发事务执行的时间次序。(2)必须先写日志文件,后写数据库。1.试述数据、数据库、数据库管理系统、数据库系统的概念。(1)数据:描述事物的符号记录。(2)数据库:长期存储在计算机内的、有组织的、可共享的数据集合。(3)数据库管理系统:是位于用户与操作系统之间的具有数据定义、数据操纵、数据库的运行管理、数据库的建立和维护功能的一层数据管理软件。(4)数据库系统:在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。2.说明视图与基本表的区别和联系。视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制。3.数据库系统的故障有哪些类型?故障主要有下面三种类型:(1)事务故障(2)系统故障(3)介质故障1.数据库管理系统有哪些功能?数据库管理系统(DBMS)是位于操作系统与用户之间的一个数据管理软件,它主要功能包括以下几个方面:(1)数据定义功能:DBMS提供数据描述语言(DDL),用户可通过它来定义数据对象。(2)数据操纵功能:DBMS还提供数据操纵语言(DML),实现对数据库的基本操作:查询、插入、删除和修改。(3)数据库的运行管理:这是DBMS运行时的核心部分,它包括并发控制,安全性检查,完整性约束条件的检查和执行,发生故障后的恢复等。(4)数据库的建立和维护功能:它包括数据库初始数据的输入及转换,数据库的转储与恢复,数据库的重组功能和性能的监视与分析功能等。2.数据库设计分哪几个阶段?需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护23.简述三级封锁协议的内容以及不同级别的封锁协议能解决哪些数据不一致性问题?一级封锁协议是:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。一级封锁协议能够解决“丢失修改”问题。二级封锁协议是:一级封锁协议加上事务在读取数据R之前必须先对其加S锁,读完后即可释放S锁。二级封锁不仅可以解决“丢失修改”问题,而且可以解决读“脏“数据问题。三级封锁协议是:一级封锁协议加上事务在读取数据R之前必须先对其加S锁,直到事务结束才释放。三级封锁协议不仅解决了“丢失修改”、读“脏”数据问题,而且进一步解决了“不可重复读”问题。1.简述等值连接与自然连接的区别和联系。答:连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组,即等值连接为:R∞S={trts|tr∈R∧ts∈S∧tr[A]=ts[B]}A=B自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。3.简述事务的特性。答:事务具有四个特性,即ACID特性:(1)原子性:事务中包括的所有操作要么都做,要么都不做。(2)一致性:事务必须使数据库从一个一致性状态变到另一个一致性状态。(3)隔离性:一个事务内部的操作及使用的数据对并发的其他事务是隔离的。(4)持续性:事务一旦提交,对数据库的改变是永久的。1.数据模型的三大要素是什么?数据操作,数据结构,完整性约束2.数据库设计的基本步骤是什么?需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。3.什么是事务?事务具有哪些特性?事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。(2分)事务具有原子性、一致性、隔离性和持续性等特性。4.简述数据库并发操作通常会带来哪些问题。丢失修改、不可重复读、读“脏”数据。5.简述系统故障时的数据库恢复策略。(1)正像扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入REDO队列。同时找出故障发生时尚未完成的事务,将其事务标识记入UNDO队列。(2)对UNDO队列中的各个事务进行撤销处理。(3)对REDO队列中的各个事务进行重做处理。3.试述关系模型的参照完整性规则。参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S3的主码Ks相对应(基本关系R和S不一定是不同的关系)(2分),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)(1.5分)或者等于S中某个元组的主码值4.简述系统故障时的数据库恢复策略。正像扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入REDO队列,同时找出故障发生时尚未完成的事务,将其事务标识记入UNDO队列(2分);对UNDO队列中的各个事务进行撤销处理(1.5分);对REDO队列中的各个事务进行重做处理。2.使用数据库系统有什么好处?采用数据库系统管理数据具有如下特点:(1)数据结构化(2)数据共享性高、冗余度低(3)数据独立性高(4)数据存取粒度小(5)数据由DBMS集中管理(6)为用户提供了友好的接口因此,在目前的数据管理中均采用数据库系统进行管理,这也是由于数据库系统与人工管理或文件管理相比更加有优势。5.试述数据模型的概念、数据模型的作用和数据模型的三个要素。在数据库中,数据模型主要是指数据的表示方法和组织方法,即如何存放数据以及数据之间的关系,确定获取需要信息的方法与途径,是对现实世界进行抽象的工具。数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。1.定义并理解下列术语,说明它们之间的联系与区别:(1)域,笛卡尔积,关系,元组,属性域:域是一组具有相同数据类型的值的集合。笛卡尔积:给定一组域D1,D2,…,Dn,D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}关系:关系是笛卡尔积的有限子集。元组:表中的一行称为一个元组。与实体相对应,相当于记录。属性:表中每一列称为一个属性。(2)候选码,主码,外码候选码:能唯一表示关系中元组的一个属性或属性集主码:从关系的多个候选码中的选择出其中一个作为查询、插入或删除元组的操作变量,被选中的候选码称为主码。外码:设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如果F与基本关系S的主码K相对应,则称F是基本关系R的外部关系码,可简称外码。4(3)关系模式,关系,关系数据库关系模式:关系模式是关系的框架,是对关系结构的描述。它指出了关系有哪些属性构成。关系数据库:一组关系模式的集合就叫做关系数据库模式。与关系数据库模式对应的数据库即为关系数据库。2.试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值有时也可以为空?什么情况下才可以为空?什么情况下不允许为空?当外码属性同时是主属性时,则不允许为空;当外码属性是非主属性时,则可以为空。3.笛卡尔积、等值连接、自然连接三者之间有什么区别?等值连接是在笛卡尔积的基础上按“=”符号运算选择出满足条件的记录,自然连接是在做完等值连接后在结果中把重复的属性去掉。l.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、1NF、2NF、3NF、BCNF。函数依赖:设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X。部分函数依赖:设关系模式R(U)中,X,YU,若X→Y,但对于X的某一个真子集Z→Y成立,则称Y部分函数依赖于X。完全函数依赖:设关系模式R(U)中,X,YU,如果X→Y,并且对于X的任何一个真子集Z,Z→Y都不成立,则称Y完全依赖于X,记作X---Y。传递依赖:在关系模式R(U)中,设X、Y、Z是R的三个不同属性子集,如果X→Y(XY)成立,但Y→X不成立,而Y→Z(YZ),则称Z对X传递函数依赖。1NF:在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式关系模式,简记为R1NF。2NF:若关系模式R是1NF,且所有非主属性都完全函数依赖于任意一个候选码,则称R是第二范式关系模式,简记为R2NF。3NF:若关系模式R是2NF,且所有非主属性对任何候选关键字都不存在传递函数依赖,则称R是第三范式关系模式,简记为R3NF。BCNF:若关系模式R是1NF,如果对于R的每个函数依赖X→Y,若YX,则X必含有候选码,则称R是BCNF范式。换句话说,在关系模式R中,如果每一个决定因素都包含候选码,则RBCNF。4.写出关系模式规范化的步骤。1NF(消除非主属性对码的部分函数依赖)→2NF(消除非主属性对码的传递函数依赖)→3NF(消除主属性对码的部分和传递函数依赖)→BCNF55.试述模式分解时考虑无损连接性和保持函数依赖的意义。一个关系分解为多个关系,相应地原来存储在一张二维表内的数据就要分散存储到多张二维表中,要使这个分解有意义,起码的要求是后者不能丢失前者的信息,如果一个分解具有无损连接性,则它能够保证不丢失信息。而如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况。1.SQL语言有什么特点,包括哪几部分的功能?SQL语言的主要特点包括如下:(1)功能一体化。功能强大,通用性好,把多种功能融为一体;(2)高度非过程化。用户只需要指出“做什么”,而不需要指出“怎么做”,数据的存取和整个语句的操作过程由系统自动完成,大大减轻了用户的负担;(3)面向集合的操作方式。查询的结果和更新操作的对象均可为元组的集合;(4)简单易学,灵活易用。语言简洁,语法简单。既可直接使用SQL语句对数据库进行操作,也可把SQL语句嵌入到高级语言程序中。SQL主要有三大功能:数据定义功能可用于定义SQL模式、基本表、视图和索引;数据操纵又可分成数据查询和数据更新两类,其中数据更新又分为插入、删除和修改三种操作;数据控制功能包括对基本表和视图的授权,完整性规则的描述。2.什么是嵌套查询?什么是相关子查询?在SQL语言中,一个SELECT-FROM-WHERE语句称为一个查询块。将一个查询块嵌套在另一个查询块中的查询称为嵌套查询。子查询的查询条件依赖于外层父查询的某个属性值,这类查询称之为相关子查询。求这类查询时,由于子查询和父查询相关,所以子查询需要反复求值。3、数据的维护工作主要包括那些?在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,主要工作如下:(1)数据库的转储和恢复。(2)数据库的安全性、完整性控制。(3)数据库性能的监督、分析和改造。(4)数据库的重组织和重构造。