数据库复习要点

第一章 数据库系统概述

1、几个概念:数据、数据库、数据库管理系统、数据库系统、DDL 、DML 数据库系统(DBS)
2、数据库系统的三级模式结构
             由外模式、模式、内模式三级构成
             模式(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
             外模式(子模式或用户模式):是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。
3、数据库的二级映象功能与数据独立性
             数据库管理系统在三级模式之间提供了两层映象:
             外模式/模式映象、模式/内模式映象
             这两层映象保证了数据库系统中数据的逻辑独立性和数据的物理独立性。
4、构成数据模型的三要素:数据结构、数据操作和数据完整性约束。
5、数据模型的分类:第一类是概念模型,第二类是逻辑模型和物理模型。
             概念模型按用户的观点来对数据和信息建模,主要用于数据库设计。
             逻辑模型按计算机系统的观点对数据建模, 主要用于DBMS的实现。
             信息世界涉及的概念主要有:实体、属性、码、域、实体型、实体集、联系。
             概念模型的表示方法:实体—联系表示法,即E-R模型(E-R图)。

第二章 关系数据库

1、几个概念:什么是码、候选码?什么是主码、外码、主属性、全码?
             码:唯一标识实体的属性集称为码。
             候选码:若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码。外部码(外码):
2、关系模型的三个组成部分:关系数据结构、关系操作集合和关系完整性约束。
             关系的完整性可以有三类完整性约束:
             实体完整性、参照完整性和用户定义的完整性.其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性。
3、什么是实体完整性规则?
             若属性A是基本关系R的主属性,则属性A不能取空值。
4、什么是参照完整性规则?参照关系、被参照关系?
             参照完整性规则:若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 Ks 相对应(基本关系R和S不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为:或者取空值( F 的每个属性值均为空值);或者等于 S 中某个元组的主码值。
5、关系代数的选择、投影、连接运算及用SQL表示关系运算。

第三章 SQL语言

1、查询语言
             单表查询,多表连接查询,复合条件查询,带IN谓词的子查询、带比较运算符的子查询
SQL数据查询功能
(1) 投影查询 SELECT
(2) 选取查询 WHERE 。WHERE 子句常用的查询条件:
           BETWEEN AND 确定范围、DISTINCT 取消重复行、(NOT)IN 确定集合、(NOT)LIKE 字符匹配、IS(NOT)NULL
(3)连接查询
(4)子查询块嵌套查询
2、基本表的建立、删除 ( DROP TABLE ) 、修改语言 ( ATER TABLE )
             定义基本表 CREATE TABLA (用 PRIMARY KEY;用 FOREIGN KEY 定义外码,用 REFERENCES 指明这些外码参照哪些表的主码 )。
3.数据更新语言( 插入 INSERT 、修改 UPDATE 、删除DELEE) 的应用。

第四章 数据库安全性

1、数据库的安全性?数据库的安全性是保护库以防止不合法的使用所造成的数据泄露、更改卫破坏。
2、数据库中的自主存取控制(DAC) 方法和强制存取控制(MAC)方法?
3、数据库的安全保护作用,保护数据库防止恶意的破坏和非法的存取。
4、数据库的安全性控制如何实现:安全措施一级一级层层设置。主要采取用户标识和鉴定、存取控制、视图和密码存储等安全性技术和方法实现数据库安全控制.
5、GRANT 授权语句与 REVOKE 收回语句的应用。

第五章 数据库完整性

1、完整性控制机制应具有三个方面功能:完整性约束条件的定义、完整性的约束条件的检查和违约反应。
2、如果违反数据的完整性约束条件,一般采取拒绝操作的方法来保证数据的完整。
3、实体完整性:PRIMARY KEY 的应用。
4、参照完整性:FOREIGN KEY的应用。
5、元组上的约束条件的定义:CHECK 短语的应用。

第六章 关系数据理论

要点:根据语义,给出关系模式,指出每个关系模式是否存在传递函数依赖,是否存在部分函数依赖,属于第几范式。对关系模式进行分解转换为若干个高一级范式。
           不好的数据库一般存在的问题:数据冗余太大、更新异常、插入异常、删除异常、
           规范化:一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。规范化的要求(重点 1NF ——3NF ) 。

第七章 数据库设计

1、数据库设计的六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护
           数据字典:数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典的内容包括数据项、数据结果、数据流、数据存储和处理过程五个部分。数据字典的作用是,数据字典有助于这些数据的进一步管理和控制,为设计人员和数据库管理员在数据库设计、实现和运行阶段控制有关数据提供依据。
2、根据 E-R 图向关系模型转换的原则,如何将 E-R 图转换为关系模式?
3、数据抽象有三类:分类、聚集、概括
4、关系模式存取方法选择:
           存取方法是快速存取数据的技术。数据库管理系统常用的存取方法有三类。第一类是索引方法,目前主要是 B+ 树索引方法;第二类是聚簇方法;第三类是 HASH 方法。

第九章 关系系统及查询优化

1、关系数据库查询优化的总目标是:选取有效的策略,求得给定关系表达式的值。
2、查询优化:所谓查询优化是选取有效的查询策略,达到加快查询的目的。
3、查询优化分类:代数优化(指关系代数表达式的优化)、物理优化(指存取路径和底层操作算法的选择)。
4、选择操作实现方法:简单的全表扫描方法、索引(或散列)扫描方法。
连接操作的实现:嵌套循环方法、排序-合并方法、索引连接方法、Hash Join。
5、查询树的启发式优化即查询优化的一般准则:选择运算应尽可能先做
6、查询优化:选择一个高效执行的查询处理策略。

第十章 数据库恢复技术

要点:事务概念、ACID 特性, 故障种类, 故障恢复策略, 数据转储, 日志文件
1、事务概念:用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
2、事务的特性:原子性、一致性、隔离性、持续性, 简称ACID特性。
3、数据库故障的种类:事务内部的故障、系统故障、介质故障、计算机病毒。
4、数据库恢复原理:利用存储在后备副本、日志文件的冗余数据来重建数据库。
5、数据库恢复的基本原理是数据冗余。建立冗余数据的最常用技术(即数据恢复的基本技术)是:数据转储和登录日志文件。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
6、数据库恢复策略:
对事务故障的恢复策略是:恢复子系统利用日志文件撤销(UNDO)事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,不需要用户干预系统故障的恢复策略是:根据不同情况选择撤销(UNDO)或重做(REDO)事务。系统故障的恢复是由系统重启动时自动完成的,不需要用户干预。
介质故障的恢复策略是:由 DBA 先装入后备副本, 再利用日志文件副本重做建立副本后已完成的操作。
7、数据转储:
所谓转储即 DBA 定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入。
8、日志文件:日志文件是用来记录事务对数据库的更新操作的文件。
设立日志文件的目的是:进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复
登记日志文件时必须遵循两条原则:(1)登记的次序严格按并发事务事务执行的时间次序。(2)必须先写日志文件,后写数据库。

第十一章并发控制

1、并发操作带来的数据不一致表现?串行调度、并发调度,可串行化调度策略(定义和应用)。
2、并发操作不一致性的表现:丢失修改、不可重复读、读“脏”数据
3、什么是封锁?什么是活锁?什么是死锁?什么是两段锁协议?
封锁:封锁是实现并发控制的一个非常重要的技术。
           所谓封锁就是某事务对某个数据操作之前,先对其加锁,其他事务不能更新加锁的数据,直到释放加锁为止。封锁类型为排它锁(简称 X 锁或写锁)和共享锁(简称 S 锁或读锁)。
活锁:指某个事务请求封锁,但总也得不到锁而长时间处于等待。
           避免活锁的简单方法:采用先来先服务的策略。
死锁:两个或多个事务由于相互封锁了所要封锁的数据,而使得这些事务永远不能结束,这种状态称为死锁(或:两个或多个事务同时处于相互等待状态,称为死锁)
           DBMS在解决死锁的的问题上普遍采用的方法是诊断并解除死锁。两段锁协议:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。
4、并发控制的主要技术是封锁,封锁的目的?
保证能够正确地调度并发操作。或实现并发操作调度的可串行性,从而保证调度的正确性。
5、什么样的并发调度是正确的调度?
           可串行化(Serializable)的调度是正确的调度。可串行化的调度的定义:多个事务的并发执行是正确的, 当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度。
6、什么是對锁粒度?封锁对象的大小称为封锁粒度。
7、为什么要引进意向锁?意向锁的含义?

猜你喜欢

转载自blog.csdn.net/Long_UP/article/details/115095726
今日推荐