1、1.数据(Data)是数据库中存储的基本对象 2.数据库(Database,简称 DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。3.数据库的基本特征:数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展4.DBMS 是位于用户与操作系统之间的一层数据管理软件。是基础软件,是一个大型复杂的软件系统 5.DBMS 的主要功能:数据定义功能 数据组织、存储和管理 数据操纵功能 数据库的事务管理和运行管理 数据库的建立和维护功能(实用程序 ) 其它功能。6.数据管理技术的发展过程A 人工管理阶段(20 世纪 40 年代中 -50 年代中)特点:应用程序管理
2、数据a 数据不保存 b 数据面向的对象:某一应用程序 c 无共享、冗余度极大d 不独立,完全依赖于程序 e 无结构f 应用程序自己控制B 文件系统阶段(20 世纪 50 年代末-60 年代中)特点:文件系统管理数据,a 数据可长期保存 b 数据面向的对象:某一应用程序 c 共享性差、冗余度大 d 记录内有结构,整体无结构 e 独立性差,数据的逻辑结构改变必须 修改应用程序应用程序自己控制C 数据库系统阶段(20 世纪 60 年代末-现在)特点:7.数据库系统的特点: a 数据结构化 b数据的共享性高,冗余度低,易扩充c 数据独立性高 d 数据由 DBMS 统一管理和控制8.数据模型的组成要素:
3、a 数据结构 b数据操作 c 完整性约束条件9.(1) 实体(Entity):客观存在并可相互区别的事物称为实体。(2) 属性(Attribute) 实体所具有的某一特性称为属性。(3) 码(Key): 唯一标识实体的属性集称为码。10.关系模式:对关系的描述称为关系模式。11.关系模型:是一种用二维表格结构表示数据及数据之间联系的数据模型。12.关系的完整性约束条件 a 实体完整性 b 参照完整性c 用户定义的完整性13.关系数据模型的优缺点:优点 a 建立在严格的数学概念的基础上 b 概念单一 c 关系模型的存取路径对用户透明.缺点 a 存取路径对用户透明导致查询效率往往不如非关系数据模型
4、 b为提高性能,必须对用户的查询请求进行优化增加了开发 DBMS 的难度14.数据库系统的三级模式结构是指:模式 外模式 内模式。 a 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共视图 b 外模式也称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述。是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示 c 内模式(也称存储模式)一个数据库只有一个内模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。15.二级模式之间的两层映像:外模式模式映象,保证数据的逻辑独立性模式内模式映象定义了数据全局逻辑结
5、构与存储结构之间的对应关系。保证数据的物理独立性16.关系 D1D2Dn 的子集叫作在域 D1,D2,Dn 上的关系,表示为 R(D1,D2,Dn) R:关系名 n:关系的目或度(Degree)17.A 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(候选码只包含一个属性)B 主码:若一个关系有多个候选码,则选定其中一个为主码 C候选码的诸属性称为主属性不包含在任何侯选码中的属性称为非主属性或非码属性18.最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码19.A 实体完整性规则:若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值 B 参照
6、完整性规则:若属性(或属性组)F 是基本关系 R 的外码它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系) ,则对于 R 中每个元组在 F 上的值必须为: 或者取空值(F 的每个属性值均为空值)或者等于 S 中某个元组的主码值20.关系代数:并 差 交 笛卡尔积21.关系运算:选择、投影、选择、商(除)22.查询操作又可以分为:选择、投影、连接、除、并、差、交、笛卡尔积;其中选择、投影、并、差、笛卡尔积是 5 种基本操作第三章23.SQL 集数据查询、数据操作、数据定义和数据控制的功能24.SQL 数据定义功能包括模式定义、表定义、视图和索引定义25.视图:特点
7、 a 虚表,是从一个或几个基本表(或视图)导出的表 b 只存放视图的定义,不存放视图对应的数据 c 基表中的数据发生变化,从视图中查询出的数据也随之改变26.视图的作用:1. 视图能够简化用户的操作 2. 视图使用户能以多种角度看待同一数据 3. 视图对重构数据库提供了一定程度的逻辑独立性 4. 视图能够对机密数据提供安全保护 5. 适当的利用视图可以更清晰的表达查询第四章27.计算机系统安全性: 为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。28.三类计算机系统安全性问题 a 技术安全类 b 管理
8、安全类 c 政策法律类29.数据库的安全性:是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。计算机以及信息安全技术方面有一系列的安全标准,最具影响的是 TCSEC 和 CC 两个30.自助存取控制方法简记为 DAC,强制存取控制方法简记为 MAC.31.用户权限是由两个要素组成的:数据库对象和操作类型。32.在数据库系统中,定义存取权限称为授权。 (授予的权限可以由 DBA或其他授权者用 REVOKE 收回)33.数据加密是防止数据库中数据在存储和传输中失密的有效手段。第五章32.数据库的完整性是指数据的正确性和相容性。33.数据的完整性是防止数据库中存在不符合语义的数据,也就是
9、防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据34.数据的安全性是保护数据库防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作35.属性上的约束条件的定义:在CREATE TABLE 中定义属性的同时可以根据应用要求,定义属性上的约束条件,即属性值限制,包括列值非空(NOT NULL) 列值唯一(UNIQUE)检查列值是否满足一个布尔表达式(CHECK)第六章36.设 R(U)是一个属性集 U 上的关系模式,X 和 Y 是 U 的子集。若对于R(U)的任意一个可能的关系 r,r 中不可能存在两个元组在 X 上的属性值相等, 而在 Y 上的属性值不等, 则称 “X 函数确
10、定 Y” 或 “Y 函数依赖于 X”,记作 XY。 函数依赖和别的数据依赖一样是语义范畴的概念。37.关系模式 R(U)中,对于 U 的子集X 和 Y, 如果 XY,但 Y X,则称 XY 是非平凡的函数依赖 若 XY,但 Y X, 则称 XY是平凡的函数依赖38.设 K 为 R中的属性或属性组合。若 K U, 则 K 称 F为 R 的侯选码(Candidate Key) 。若候选码多于一个,则选定其中的一个做为主码(Primary Key ) 。39.包含在任何一个候选码中的属性 ,称为主属性 不包含在任何码中的属性称为非主属性 或非码属性) 40.关系数据库中的关系必须满足一定的要求。满足
11、不同程度要求的为不同范式。满足最低要求的叫第一范式,简称 1NF。41.一个关系模式 R 不属于 2NF,就会产生以下几个问题:插入异常、删除异常、修改复杂、数据冗余度大。42.1NF 的定义:如果一个关系模式R 的所有属性都是不可分的基本数据项,则 R1NF43.2NF 的定义: 若 R1NF,且每一个非主属性完全函数依赖于码,则R2NF。44.3NF 的定义: 关系模式 R 中若不存在这样的码 X、属性组 Y及非主属性 Z(Z Y), 使得XY,YZ 成立,Y X,则称R 3NF。若 R3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。 45.BCNF 定义:关系模式R1NF,若
12、XY 且 Y X 时 X 必含有码,则 R BCNF。等价于:每一个决定属性因素都包含码46.若 RBCNF 所有非主属性对每一个码都是完全函数依赖所有的主属性对每一个不包含它的码,也是完全函数依赖 没有任何属性完全函数依赖于非码的任何一组属性47.多值依赖(MVD)是一种数据依赖48.多值依赖的性质:(1)多值依赖具有对称性,若 XY,则XZ ,其中 ZUXY(2)多值依赖具有传递性,若XY,YZ, 则 XZ Y(3)函数依赖是多值依赖的特殊情况。若 XY,则 XY。 (4)若 XY,XZ,则XY Z。(5)若 XY,XZ,则XYZ。(6)若 XY,XZ,则XY-Z,XZ -Y。49.多值依
13、赖与函数依赖的区别:(1) 多值依赖的有效性与属性集的范围有关(2) 若函数依赖 XY 在 R(U)上成立,则对于任何 Y Y 均有 XY 成立多值依赖 XY 若在 R(U)上成立,不能断言对于任何 Y Y 有XY 成立50.关系模式 R 1NF ,如果对于 R 的每个非平凡多值依赖XY(Y X) ,X 都含有码,则R4NF。51.如果 R 4NF, 则 R BCNF不允许有非平凡且非函数依赖的多值依赖,允许的非平凡多值依赖是函数依赖。第七章52.数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各
14、种用户的应用需求,包括信息管理要求和数据操作要求。目标:为用户和各种应用系统提供一个信息基础设施和高效率的运行环境53.数据库设计分 6 个阶段需求分析 概念结构设计逻辑结构设计 物理结构设计数据库实施数据库运行和维护A 需求分析和概念设计独立于任何数据库管理系统 B 逻辑设计和物理设计与选用的DBMS 密切相关54.设计概念结构的四类方法:自顶向下 自底向上 逐步扩张混合策略55.三种常用抽象:分类 聚集 概括56.实体型间的联系有以下不同情况 :(1)一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。转换为一个独立的关系模式与某一端实体对应的关系模式合并(
15、2)一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并。转换为一个独立的关系模式与 n 端对应的关系模式合并(3) 一个 m:n 联系转换为一个关系模式。(4)三个或三个以上实体间的一个多元联系转换为一个关系模式。(5)具有相同码的关系模式可合并目的:减少系统中的关系个数合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名) ,并适当调整属性的次序第八章57.嵌入式 SQL 是将 SQL 语句嵌入程序设计语言中,被嵌入的程序设计语言,如 C、C+ 、Java ,称为宿主语言,简称主语言。58.游标:游标是系统
16、为用户开设的一个数据缓冲区,存放 SQL 语句的执行结果 a 每个游标区都有一个名字b 用户可以用 SQL 语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理59.建立数据库连接 EXEC SQL CONNECT TO target As connection-nameUSER user-name; 60.关闭数据库连接 EXEC SQL DISCONNECT connection;61.使用游标的步骤:1. 说明游标 语句格式 EXEC SQL DECLARE CURSOR FOR ;2. 打开游标 语句格式 EXEC SQL OPEN ;3.推进游标指针并取当前记录 语句格式 E
17、XEC SQLFETCHNEXT|PRIOR| FIRST|LAST FROM INTO ,.;4. 关闭游标 语句格式 EXEC SQL CLOSE ;第九章62.RDBMS 查询处理阶段 :1. 查询分析 2. 查询检查 3. 查询优化 4. 查询执行63.查询树的启发式规则:1. 选择运算应尽可能先做。在优化策略中这是最重要、最基本的一条 2. 把投影运算和选择运算同时进行 3. 把投影同其前或其后的双目运算结合起来 4. 把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算 5. 找出公共子表达式第十章64.事务定义:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么
18、全不做,是一个不可分割的工作单位。65.事务的 4 个特性:原子性、一致性、隔离性、持续性。66.故障的种类:事务内部的故障、系统故障、介质故障、计算机病毒67.恢复操作的基本原理:冗余68.数据转储是数据库恢复中采用的基本技术。所谓转储是指 DBA 将整个数据库复制到磁带或另一个磁盘上保存起来的过程,备用的数据称为后备副本或后援副本 。69.转储可分为静态转储和动态转储。数据转储方法可分为 4 类:动态海量转储、动态增量转储、静态海量转储、静态增量转储。70.日志文件(log)是用来记录事务对数据库的更新操作的文件71.日志文件的格式以记录为单位的日志文件 以数据块为单位的日志文件72. 以
19、记录为单位的日志文件内容各个事务的开始标 记(BEGINTRANSACTION)各个事务的结束标记(COMMIT 或ROLLBACK)各个事务的所有更新操作73. 以记录为单位的日志文件,每条日志记录的内容事务标识(标明是哪个事务) 操作类型(插入、删除或修改) 操作对象(记录内部标识)更新前数据的旧值(对插入操作而言,此项为空值)更新后数据的新值(对删除操作而言, 此项为空值)74.日志文件的作用:进行事务故障恢复 进行系统故障恢复 协助后备副本进行介质故障恢复75.为什么要先写日志文件?写数据库和写日志文件是两个不同的操作在这两个操作之间可能发生故障如果先写了数据库修改,而在日志文件中没有
20、登记下这个修改,则以后就无法恢复这个修改了如果先写日志,但没有修改数据库,按日志文件恢复时只不过是多执行一次不必要的UNDO 操作,并不会影响数据库的正确性76.检查点记录的内容 1. 建立检查点时刻所有正在执行的事务清单 2. 这些事务最近一个日志记录的地址第十一章77.并发操作带来的数据不一致性主要包括:丢失修改 不可重复读 读“脏”数据78.封锁就是事务 T 在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁79.基本封锁类型:A 排它锁又称为写锁 B 共享锁又称为读锁80.避免活锁:采用先来先服务的策略81.产生死锁的原因是两个或多个事务都已封锁了一些数据对象,然后
21、又都请求对已为其他事务封锁的数据对象加锁,从而出现死等待82.解决死锁的方法:1 预防死锁(两种方法 一次封锁法 顺序封锁法)2 诊断与解除死锁(诊断死锁的方法超时法 事务等待图法;解除死锁方法:选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有的锁,使其它事务能继续运行下去)83.可串行化(Serializable)调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同84.可串行性是并发事务正确调度的准则85.两段锁协议指所有事务必须分两个阶段对数据项加锁和解锁 86.“两段”锁的含义:事务分为两个阶段:第一阶段是获得封锁,也称为扩展阶段;第二阶段是释放封锁,也称为收缩阶段。87.封锁对象的大小称为封锁粒度 封锁的对象:逻辑单元,物理单元88.意向锁:如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁,对任一结点加基本锁,必须先对它的上层结点加意向锁89.意向共享锁(IS 锁):对自身读操作; 意向排它锁(IX 锁):对自身写操作;共享意向排它锁(SIX 锁)