2018年山东科技大学计算机科学与工程学院825数据库系统考研核心题库
● 摘要
一、简答题
1. 数据字典的内容和作用是什么?
【答案】(1)数据字典是系统中各类数据描述的集合。数据字典的内容通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。数据项是组成数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
(2)数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。
2. 数据库管理系统中为什么要设置系统缓冲区?
【答案】设立系统缓冲区的原因有以下两点:
(1)隔离外存设备与存储层以上各系统,保证DBMS 具有设备独立性。
(2)提高存取效率。利用缓冲区滞留数据,只有数据不在缓冲区时才从外存读入页面,写入数据先在页面作标记,当事务结束时或缓冲区满需调入新页时才写入外存。
3. 什么是数据库的完整性约束条件?
【答案】完整性约束条件是指数据库中的数据应该满足的语义约束条件。
完整性约束条件分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。
(1)静态列级约束是对一个列的取值域的说明,包括数据类型的约束:数据的类型、长度、单位、精度等;对数据格式的约束;对取值范围或取值集合的约束;空值的约束;其他约束。
(2)静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。
(3)静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束,常见的静态关系约束有:实体完整性约束,参照完整性约束,函数依赖约束。
(4)动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:修改列定义时的约束,修改列值时的约束。
(5)动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。
(6)动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。
4. 试述层次模型的概念,举出三个层次模型的实例。
【答案】(1)层次模型满足如下条件:有且只有一个结点没有双亲结点,这个结点称为根结点;根以外的其他结点有且只有一个双亲结点。
(2)三个层次模型的实例:
①教员学生层次数据库模型如图1所示:
图1
②行政机构层次数据库模型如图2所示:
图2
③行政区域层次数据库模型如图3所示:
图3
5. 请给出缓冲区管理中的一个淘汰算法, 并上机实现(提示:首先需要设计缓冲区的数据结构,然后写出算法)。
【答案】借助队列实现LRU 页面替换算法作为缓冲区管理的淘汰算法。 定义缓冲区的数据结构如下:
完整的参考代码如下: