哈尔滨工业大学2023年春博士入学考试《数据库原理》试卷。
1. 术语解释(3*5)
1)数据、模式、数据模型、概念模型。
数据是描述事物的符号记录,如数字、文字、图形、图像、声音、html等,是信息的载体。
模式(schema)也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是数据库的总设计,一个数据库只有一个模式。
数据模型是用来描述数据、组织数据和对数据进行操作的技术,即数据模型用于提供信息表示和操作手段的形式框架,是能表示实体类型及实体间联系的模型,精确描述数据、数据之间的联系、数据语义和完整性约束。按照数据模型的发展,数据库技术经历了网状、层次、关系、面向对象、xml等发展阶段。
概念(数据)模型:是对现实世界的抽象概括,反映的是现实世界中事物及其之间的联系,具有较强的语义表达能力,概念简单、清晰;是全局的数据逻辑视图,是dba所看到的实体、实体属性、实体之间的联系。它是db设计人员进行数据库设计的有力工具,也是db设计人员和用户之间进行交流所使用的语言。
2)无损联接分解。
无损联接分解是将一个关系模式分解成若干个关系模式后,通过自然联接和投影等关系运算仍能还原到原来的关系模式,则称这种分解为无损联接分解。
设是关系模式r的一个分解ρ=,对于关系模式r的任一满足函数依赖集f的实例r,都有:
则称为分解ρ是满足函数依赖集f的无损联接分解。
3)事务的性质(原子性、一致性、分离性、持久性)
数据库事务简称事务(transaction):是查询或更新数据库内容(数据项)的一个程序执行单元,由有限的数据库数据操作序列构成,这些操作要么全做要么全不做,是一个不可分割的工作单位;它的执行能够保证数据库从一个正确的状态转移到另一个正确的状态。在关系数据库中,一个事务可以是一条sql语句、一组sql语句或整个程序;一个应用程序可以包含多个事务。
事务是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。在关系型数据库中,一个事务可以是一条sql语句、一组sql语句或整个程序;一个应用程序可以包含多个事务。事务以begin transaction语句开始,以commit(提交)语句或rollback(回退或撤消)语句结束。
事务具有以下4个重要特性,通常称为acid性质:
原子性(atomicity):从终端用户的角度看,事务是不可再分的原子工作;从系统的角度看,事务是完成某件原子工作的程序的一次执行。事务的所有操作在数据库中要么全部正确完成,要么什么都不做;
一致性(consistency):指事务对数据库的每一个插入、删除、修改等更新操作,都必须遵守一定的完整性约束,系统一旦查出数据库的完整性受到破坏,则撤销该事务并清除该事务对数据库的任何影响。一个成功的事务把数据库从一个一致的状态转换到另一个一致的状态。
即当事务完成时,必须使数据库中的所有数据都具有一致的状态;
隔离性(isolation):指当多个事务并发执行时,一个事务的执行不能被其他事务干扰;
持久性(durability):指一个事务一旦提交,它对数据库中数据的改变应该是永久性的,即使系统可能出现故障,也应保留这个事务执行的痕迹。
4)函数依赖(p108)与多值依赖(p104、p126)
函数依赖:设r是一个具有属性集u的关系模式r(u),属性集x,y是属性集u的子集,对于关系r的任意一个实例r中的两个元组t和v。当t和v在属性x上的取值相等,即t[x]=v[x]时,必然可以推出他们在属性y上的值也相等,即t[y]=v[y],则称x函数决定y,或y函数依赖于x,记作x →y,并称x →y为r的一个函数依赖。
函数依赖规定了某些元组不能出现在关系模式中,即若a→b,则就不能有两个或两个以上的元组在属性(集)a上的值相同而在属性(集)b上的值不同,而多值依赖并不排除这种元组的存在。
多值依赖:设r是一个具有属性集u的关系模式r(u),属性集x,y,z是属性集u的子集,且z=u-x-y,关系模式r的任意一个实例r在(x,z)上的每个值对应一组y的值,而这组y值仅取决于x的值,而与z的值无关,则称x多值决定y,或y多值依赖于x,记作x→→y,并称x→→y是r的一个多值依赖。
在关系模式中,函数依赖不能表示属性值之间的一对多联系,这些属性之间有些虽然没有直接关系,但存在间接的关系,把没有直接联系、但有间接的联系称为多值依赖的数据依赖。例如,教师和学生之间没有直接联系,但教师和学生可通过系名,或任课把教师和学生联系起来。
5)主索引与辅助索引(p146-148)
索引:是为了加速对表中数据记录的检索而创建的一种分散的存储结构,是对数据库表中的一列或多列进行排序的一种结构。索引是一个表或数据结构,用于确定文件中满足某些条件的行(记录)的位置。
索引表的项由特定记录的键属性的值以及指向记录的存储位置的指针组成,因此,每个索引项对应二级存储设备上的一个数据记录。从磁盘检索一个记录首先是搜索索引,在索引表中查找记录的地址,然后从这个地址读取记录。
建立索引是加快查询速度的有效手段,可以通过sql语句建立和删除索引,索引的主要作用如下:
1)提高查询速度。
2)提高连接、order by和group by执行的速度。
3)查询优化过程依赖索引。
4)强制实施行的唯一性。
一个文件的索引是定义在该文件的一个或一组域上,这组域称为索引域。索引也是一个文件,称为索引文件。相应地,建立索引的文件称为数据文件。
索引文件的记录称为索引记录或索引项。每个索引记录包括两个域,第一个域用来存储数据文件索引域的值k,第二个域用来存储一个或一组指针,每个指针指向一个索引域值为k的记录所在的磁盘块的地址。索引文件通常按照索引域值的大小排序,以提高存取效率。
索引文件一般都远小于数据文件。索引文件可以域数据文件存储在一起,也可以单独存储,如果索引文件很大,还可以对索引文件再加索引,以建立多级索引,二叉树、多叉树和b树就是多级索引的例子。
索引是针对一个表而建立的,它是由数据页面以外的索引页面组成的。数据库中的索引是一个列表,在这个列表中包含了某个表中一列或者若干列值的集合,以及这些值的记录在数据表中的存储位置的物理地址。数据库索引好比是一本书前面的目录,能加快数据库的查询和排序。
为表设置索引也要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。
主索引:是建立在数据文件的键(索引文件中的键是排序的)上的索引,可以用来区别文件记录的域,而且数据文件已经按照键值大小排序,它是一个具有两个域的有序定长记录文件;每个索引域值对应唯一一条记录,第一个域的数据类型与数据文件的键相同,存储索引域值,第二个域只存储一个指针。
主索引是一个有序的文件,这个文件中的记录有两个字段是定长的:第一个字段是数据文件中数据类型相同的字段,并且这个字段作为排序键字段(称为主键);第二个字段是一个到磁盘块(块地址)的指针。在索引文件中为数据文件中的每个块建立一个索引项(或索引记录),每个索引项有块中第一个记录的主键字段的值和一个指向那个块的指针,这两项作为索引项的值。
主索引(也称为聚簇索引)将主键与记录存储的物理地址关联起来。当用户请求一个记录时,磁盘操作系统首先将主索引加载到计算机的主存储器中,并顺序地搜索主键,当找到主键的索引项时,磁盘操作系统读取这个记录被存储的地址,然后处理这个地址并读取这个记录的内容。主索引主要用于在永久性关系的父表或被引用表里建立参照完整性,它能确保输入字段值的唯一性,并且由该字段决定处理记录的顺序。
按照索引域的特点,索引可分为三类:(1)主索引:主索引的索引域是数据文件的键,即可用来区别文件记录的域,而且数据文件已经按照键值大小排序。
由于索引域是键,每个索引域值对应唯一一个记录,索引记录的第二个域只存储一个指针。(2)聚集索引:如果索引域不是键,则一个索引域值可能对应多个记录,索引记录的第二个域可能存储多个指针。
这样的索引称为聚集索引。(3)辅助索引:辅助索引的索引域是数据文件的任何非键域。
一个文件只能具有一个主索引,但可以具有多个辅助索引。
辅助索引:是建立在数据文件的非排序(非键)域上的索引,一个数据文件上可创建多个辅助索引。
辅助索引是在辅助存储上的散列表索引,它有助于查找给定一个或多个字段值的记录。辅助索引与主索引最大的差别在于辅助索引不决定数据文件中记录的存放位置,而仅能告诉用户记录的当前存放位置,这一位置可能是由建立在其他某个字段上的主索引确定的。
辅助索引可用于任何索引目的:这种数据结构有助于查找给定一个或多个字段值的记录。但是,辅助索引与主索引最大的差别在于辅助索引不决定数据文件中记录的存放位置。
而仅能告诉我们记录的当前存放位置,这一位置可能是由建立在其他某个字段上的主索引确定的。
2.层次模型、网状模型、关系模型、er模型、面向对象数据模型及xml模型的特点及其解决的主要问题。(p8-10、p26例1.90)
1)层次模型(hierarchical data model)
特点:层次模型是一种用树形(层次)结构表示实体及实体间联系的数据模型,能直接表达实体间一对多的联系。
层次数据模型是以记录为节点的有向树,其优点是:能直观地描述客观世界,记录之间的联系通过指针来实现,查询效率较高;其缺点是:只能直接表示一对多的联系,不能直接表示多对多的联系,数据的查询和更新操作比较复杂。
层次模型的数据结构是一棵“有向树”,每个节点描述一个实体型,称为记录型;节点之间的有向边表示记录之间的联系。其特点是:有且仅有一个节点没有父节点;其他节点有且仅有一个父节点。
2)网状模型(network data model)
特点:网状数据模型是采用“有向图”(网络结构)表示实体及实体间联系的数据模型,它允许有多个节点没有父节点(多根节点),此外还能表达实体间的多种联系类型,如一对多和多对多。层次模型可以看成网状模型的一个特例(单根节点)。
缺点:结构复杂,程序员必须熟悉数据的逻辑结构和ddl/dml语言,才能编写应用程序;在重新组织数据库时容易失去数据独立性。
采用“有向图”表示数据之间的关系,节点表示记录型,链接指针表示记录之间的联系。其特点是:允许节点有多于一个的父节点,可以有一个以上的节点没有父节点。
层次模型和网状模型主要解决了数据记录的表示以及记录之间一对一和一对多联系的表示,无法很好地表示记录之间多对多的联系。
3)关系模型(relational data model)
哈尔滨工业大学2023年考博专业课试题《数据库原理》
哈尔滨工业大学2010年春博士入学考试 数据库原理 试卷。一 名词解释 15分,每小题3分 1 无损联接 p122 称这个分解是满足函数依赖集的无损连接。2 函数的逻辑蕴含。3 多值依赖。4 函数依赖集f的闭包f 设r是一个具有属性集合u的关系模式,f是给定的函数依赖集合,由f推导出的所有函数依赖的...
哈尔滨工业大学2023年考博专业课试题《数据库原理》
哈尔滨工业大学2010年春博士入学考试 数据库原理 试卷。一 名词解释 15分,每小题3分 1 无损联接 p122 称这个分解是满足函数依赖集的无损连接。2 函数的逻辑蕴含。3 多值依赖。4 函数依赖集f的闭包f 设r是一个具有属性集合u的关系模式,f是给定的函数依赖集合,由f推导出的所有函数依赖的...
哈尔滨工业大学2023年复试题
哈尔滨工业大学。二 五年硕士研究生入学考试试题。考试科目 专业课 报考专业。考试科目 考生注意 答案务必写在答题纸上,并标明题号。答在试题上无效。1 简答题。1 水源的种类。2 排水系统的布置形式。3 乳化油的去除方法。4 同向絮凝,异向絮凝。5 胶体稳定的原因?画出热能曲线。6 给水校核有什么?7...