数据库系统概论(6,7,10,11章)笔记

第六、七章

一、名词解释

  1. 数据依赖:反映一个关系内部属性与属性之间的约束关系,是现实世界属性间相互联系的抽象,属于数据内在的性质和语义的体现。
  2. 规范化理论:是用来设计良好的关系模式的基本理论。它通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。
  3. 函数依赖:简单地说,对于关系模式的两个属性子集X和Y,若X的任一取值能唯一确定Y的值,则称Y函数依赖于X,记作XàY。
  4. 非平凡函数依赖:对于关系模式的两个属性子集X和Y,如果X®Y,但YÍX,则称X®Y为非平凡函数依赖;如果X®Y,但YÍX,则称X®Y为非平凡函数依赖。
  5. 完全函数依赖:对于关系模式的两个属性子集X和Y,如果X→Y,并且对于X的任何一个真子集X',都有X'→Y,则称Y对X完全函数依赖。
  6. 范式:指符合某一种级别的关系模式的集合。在设计关系数据库时,根据满足依赖关系要求的不同定义为不同的范式。
  7. 规范化:指将一个低一级范式的关系模式,通过模式分解转换为若干个高一级范式的关系模式的集合的过程。
  8. 1NF:若关系模式的所有属性都是不可分的基本数据项,则该关系模式属于1NF。
  9. 2NF:1NF关系模式如果同时满足每一个非主属性完全函数依赖于码,则该关系模式属于2NF。
  10. 3NF:若关系模式的每一个非主属性既不部分依赖于码也不传递依赖于码,则该关系模式属于3NF。
  11. BCNF:若一个关系模式的每一个决定因素都包含码,则该关系模式属于BCNF。
  12. 数据库设计:是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
  13. 数据库设计的6个基本步骤:需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护。
  14. 概念结构设计:指将需求分析得到的用户需求抽象为信息结构即概念模型的过程。也就是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
  15. 逻辑结构设计:将概念结构模型(基本E-R图)转换为某个DBMS产品所支持的数据模型相符合的逻辑结构,并对其进行优化。
  16. 物理结构设计:指为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程。包括设计数据库的存储结构与存取方法。
  17. 抽象:指对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。
  18. 数据字典主要包括数据项数据结构数据流数据存储处理过程五个部分。
  19. 三种常用抽象方法是分类聚集概括
  20. 局部E-R图之间的冲突主要表现在属性冲突命名冲突结构冲突三个方面。
  21. 数据库常用的存取方法包括索引方法聚簇方法HASH方法三种。
  22. 确定数据存放位置和存储结构需要考虑的因素主要有:存取时间存储空间利用率维护代价等。

三、问答题

  1. 已知关系模式Student,U ={学号,所属系,系主任,课程号,成绩},分析其属性间的函数依赖F,然后将其分解为更高级的范式以解决数据操作异常和冗余问题。

函数依赖:F = { 学号→所属系,所属系→系主任,(学号,课程号)→成绩 }

模式分解:

  • S( 学号,所属系,学号→所属系)
  • SC( 学号,课程号,成绩,(学号,课程号)→成绩 )
  • DEPT(所属系,系主任,所属系→系主任 )
  1. 简述数据库设计的内容和目标。
  • 数据库设计的内容就是针对一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
  • 数据库设计的目标就是要为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。
  1. 简述数据库设计的基本过程。
  1. 需求分析阶段:准确了解与分析用户需求(包括数据与处理),是最困难、最耗费时间的第一步。
  2. 概念结构设计阶段:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。是整个数据库设计的关键。
  3. 逻辑结构设计阶段:将概念结构模型转换为某个DBMS所支持的数据结构模型,并对其进行优化。
  4. 数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
  5. 数据库实施阶段:运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果进行实施。
  6. 数据库运行和维护阶段:试运行通过后的数据库应用系统即可投入正式运行,并在运行过程中不断地对其进行评价、调整和优化。
  1. 简述数据库需求分析的基本任务。
  • 详细调查现实世界要处理的对象(组织、部门、企业等)
  • 充分了解原系统(手工系统或计算机系统)
  • 明确用户的各种需求
  • 确定新系统的功能
  • 充分考虑今后可能的扩充和改变

 

 

  1. 用户需求调查的具体步骤有哪些?
  • 调查组织机构情况
  • 调查各部门的业务活动情况
  • 在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。
  • 确定新系统的边界
  1. 数据项描述的内容有哪些?
  • 数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,

取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系}

  1. 数据流描述的内容有哪些?
  • 数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},

平均流量,高峰期流量}

  1. 数据存储描述的内容有哪些?
  • 数据存储描述={数据存储名,说明,编号,输入的数据流,输出的数据流,

组成:{数据结构},数据量,存取频度,存取方式}

  1. 简述建立索引的一般原则。
  • 如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引);
  • 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性建立索引;
  • 如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引;
  • 维护和查找索引需要开销,频繁增删的关系不宜建立太多索引。
  1. 数据库投入正式运行后为什么还需要维护?维护工作由谁负责?主要工作有哪些?
  • 数据库维护的原因主要有:①应用环境在不断变化,②物理存储会不断变化。
  • 数据库的日常维护工作主要由DBA负责,主要工作有有: 
  1. 数据库的转储和恢复
  2. 数据库的安全性、完整性控制
  3. 数据库性能的监督、分析和改进
  4. 数据库的重组织和重构造

    第十章

    一、名词解释

  5. 事务:是用户定义的一个数据库操作序列,这些操作要么全做,要么全部做,是一个不可分割的工作单位,是恢复和并发控制的基本单位;通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。
  6. 数据库恢复:指把数据库从错误状态恢复到某一已知的正确状态(亦称一致状态或完整状态)的过程。
  7. 静态转储:指在系统中无事务运行时进行的转储操作。转储期间不允许对数据库的任何存取、修改活动,得到的一定是一个数据一致性的副本。
  8. 动态转储:转储操作与用户事务并发进行,转储期间允许对数据库进行存取或修改。
  9. 二、填空题

  10. 事务的基本特性包括    原子性一致性隔离性持续性
  11. 常用的数据库恢复技术(建立冗余数据技术)主要有数据库转储登记日志文件
  12. 三、问答题

  13. 什么是事务?简述事务的基本特性。
  14. 所谓事务是一用户定义的一个数据库操作序列,这些操作要么全做,要么全部做,是一个不可分割的工作单位,是恢复和并发控制的基本单位;通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。事务具有以下四个基本特性:

  15. 原子性:事务是数据库的逻辑工作单位,一个事务的诸操作要么都做,要么都不做。
  16. 一致性:指事务执行前后必须保持数据库的逻辑一致性。一致性和原子性是密切相关的。
  17. 隔离性:指并发执行的各个事务之间不能互相干扰。
  18. 持续性:又称为持久性或永久性,是指一个事务的操作提交后,其对数据库的改变是永久的,属于物理的而非逻辑的。
  19. 何谓静态转储?何谓动态转储?它们各有什么优缺点?
  20. 静态转储指在系统中无事务运行时进行的转储操作。转储期间不允许对数据库的任何存取、修改活动,得到的一定是一个数据一致性的副本。
  21. 动态转储的转储操作与用户事务并发进行,转储期间允许对数据库进行存取或修改。
  22. 静态转储实现简单,但必须等待正运行的事务结束后才能进行,新的事务也必须等转储结束后方可开始,降低了数据库的可用性。
  23. 动态转储不用等待正在运行的用户事务结束即可开始,也不会影响新事务的运行,但不能确保副本中的数据一定正确有效,需要配合日志记录才能完成故障恢复。
  24. 日志文件需要登记的内容包括哪些?
  25. 各个事物的开始(BEGIN TRANSACTION)标记;
  26. 各个事物的结束(COMMIT或ROLLBACK)标记;
  27. 各个事物的所有更新操作。
  28. 日志文件的作用有哪些?
  29. 事物故障恢复和系统故障恢复必须用日志文件;
  30. 在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库;
  31. 在静态转储方式中,也可以建立日志文件。
  32. 简述事务故障的恢复步骤。
  33. 反向扫描日志文件(即从最后向前扫描日志文件), 查找该事务的更新操作。
  34. 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值” 写入数据库。
  35. 继续反向扫描日志文件, 查找该事务的其他更新操作, 并做同样处理。
  36. 如此处理下去, 直至读到此事务的开始标记, 事务故障恢复就完成了。
  37. 简述系统故障的恢复步骤。
  38. 正向扫描日志文件(即从头扫描日志文件),找出重做(REDO) 队列和撤销 (Undo)队列;
  39. 对撤销(Undo)队列事务进行撤销(UNDO)处理:即反向扫描日志文件, 对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库;
  40. 对重做(Redo)队列事务进行重做(REDO)处理:即正向扫描日志文件, 对每个REDO事务重新执行登记的操作。即将日志记录中“更新后的值”写入数据库。
  41. 检查点记录的内容包括哪些?
  42. 建立检查点时刻所有正在执行的事物清单;
  43. 这些事物最近一个日志记录的地址。重新开始文件用来记录各个检查点记录在日志文件中的地址。
  44. 简述利用检查点的数据库恢复步骤。
  45. 从重新开始文件中找到最后一个检查点记录在日志文件中的地址, 由该地址在日志文件中找到最后一个检查点记录
  46. 由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST,然后建立两个事务队列(UNDO-LIST、REDO-LIST),并把ACTIVE-LIST暂时放入UNDO-LIST队列, REDO队列暂为空。
  47. 从检查点开始正向扫描日志文件, 直到日志文件结束。如有新开始的事务Ti, 把Ti暂时放入UNDO-LIST队列,如有提交的事务Tj, 把Tj从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束。
  48. 对UNDO-LIST中的每个事务执行UNDO操作,对REDO-LIST中的每个事务执行REDO操作。

你可能感兴趣的:(数据库系统概论(6,7,10,11章)笔记)