第一章数据库系统概论1.试述数据、数据库、数据库系统、数据库管理系统的概念。数据:描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库系统:数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。2.什么是数据独立性?数据独立性又分为哪两个层次?为什么需要数据独立性?数据独立性是用来描述数据与应用程序之间的依赖程度,包括数据的物理独立性和数据的逻辑独立性,依赖程度越低则独立性越高物理独立性是指用户的应用程序与存储在磁盘上的数据库的数据时相互独立的。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。作用:数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。数据独立性是通过数据库管理系统的两层映像功能来实现3.什么是数据模型?数据模型的基本要素有哪些?为什么需要数据模型?数据模型是描述数据语义、数据与数据之间联系(数据结构)、数据操作,以及一致性约束的概念和工具的集合数据模型的基本要素:①数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。②数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。③数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。作用:一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。4.为什么数据模型要分为概念模型,逻辑模型和物理模型三类?试分别解释概念模型、逻辑模型和物理模型为什么:数据模型应满足3方面的要求:一是能比较真实的模拟现实世界;二是容易被人所理解;三是便于在计算机上实现。一种数据模型要很好地同时满足这3个方面的要求是很困难的,因此,在数据库管理系统中这对不同的使用对象和应用目的,采用不同的数据模型。概念模型:指概念层次的数据模型,也称为信息模型,它按用户的观点或认识对现实世界的数据和信息进行建模,主要用于数据库设计。常用的概念模型有实体联系模型(E-R模型)和面向对象OO模型逻辑模型;用来描述数据库数据的整体逻辑结构。传统的逻辑数据模型有层次模型、网状模型和关系模型,非传统的逻辑数据模型有面向对象模型、XML模型等物理模型用来描述数据的物理存储结构和存取方法5.关系模型中的主要概念有哪些,试分别解释之。关系模型由一组关系组成,每个关系的数据结构是一张规范化的二维表。关系模型中的常用术语有:关系、元组、属性、码、域、分量和关系模式等。关系模型要求关系必须是规范化的,即关系的每一个分量必须是一个不可分的数据项。关系数据模型的操作主要包括查询、插入,删除和修改(更新数据)。关系数据模型的完整性约束条件包括实体完整性、参照完整性和用户自定义完整性6.试解释数据库的三级模式结构和两层映像。为什么数据库管理系统要提供数据库的三级模式结构和两层映像?数据库管理系统的数据抽象一般包括物理层抽象、逻辑层抽象和视图层抽象三个级别。对应于数据抽象的三个级别,数据库管理系统一般也提供观察数据库的三个不同角度,以方便不同的而用户使用数据库的需要,这就是数据库的三级模式结构;内模式、模式和外模式为了能够在系统内部实现三个抽象层次的数据之间的联系和转换,数据库管理系统在数据库的三级模式之间提供了两层映像:外模式/模式映像、模式/内模式映像。正是这两层映像保证了数据库中的数据能够具有较高的逻辑独立性和物理独立性7.解释模式、外模式、内模式、DDL、DML等概念内模式也称存储模式,对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式模式也称为逻辑模式,赌赢与逻辑层数据抽象,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图外模式也成子模式或用户模式,对应于视图层数据抽象,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与莫以具体运用有关的数据的逻辑表示数据库模式定义语言DDL(DataDefinitionLanguage),是用于描述数据库中要存储的现实世界实体的语言。一个数据库模式包含该数据库中所有实体的描述定义。这些定义包括结构定义、操作方法定义等。数据操纵语言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.散列文件组织和散列索引有什么不同?在散列文件组织中,通过计算一条记录的搜索码值的散列函数值,可以直接获得包含该记录的磁盘块(桶)的地址。在散列索引组织中,把搜索码值以及