@ChuckIsReady
2015-12-24T17:54:05.000000Z
字数 6637
阅读 982
未分类
数据
-描述事物的符号的记录称为数据 数据库中存储的基本对
数据库
-是长期存储在计算机内有组织的大量的共享的数据集合。
基本特点: 永久存储 有组织 可共享。
数据库管理系统
-数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
主要功能:数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的建立和维护功能,其他功能。
数据库系统
-数据库系统是由数据库、数据库管理系统、应用系统、数据库管理员构成的存储、管理、处理和维护数据的系统
发展
- 数据管理技术经历了人工管理、文件系统、数据库系统3个阶段。
数据管理技术各个阶段的特点和缺点
人工管理阶段
- 数据不保存、应用程序管理数据、数据不共享、数据不具有独立性
文件系统阶段
-数据可以长期保存,由文件系统管理数据,数据共享性差、冗余度大,数据独立性差
数据库系统阶段
-(背)
1. 数据结构化
2. 数据的共享高、冗余度低、易扩充、
3. 数据独立性高
4. 数据由DBMS统一管理和控制
DBMS的数据控制功能
- 数据的安全性保护 、 数据的完整性检查、并发控制、数据库恢复
重点
- 由DBMS的二级映像功能来保证。分为物理独立性,逻辑独立性
物理独立性
- 用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
逻辑独立性
- 用户的应用程序与数据库的逻辑结构是相互独立的
重点
数据模型
- 第一类概念模型,第二类逻辑模型和物理模型
概念模型
- 也称信息模型,它是按用户的观点来对数据和信息建模
逻辑模型
- 按计算机系统的观点对数据建模,主要用于DBMS的实现。
物理模型
- 数据底层的抽象,它描述数据在系统内部的表示方法和存取方法,在磁盘或磁带上的存储方法和存取方法,是面向计算机系统的。
数据模型的三要素
- 数据结构、数据操纵、完整性约束
数据结构
-数据结构描述数据库的组成对象以及对象之间的联系。
数据操纵
-是指对数据库中各种对象的实例允许执行的操作的集合。
数据的完整性约束条件
-数据的完整性约束条件是一组完整性规则。数据完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规制,用以限定符合数据模型的数据库状态以及状态的变化,以保护数据的正确性、有效、相容。
基本概念
-
- 实体 - 客观存在宾客相互区别的事物
- 属性 - 实体具有的某一种特性
- 码 - 唯一标识实体的属性集
- 域 - 属性的取值范围
- 实体型 - 具有相同属性的实体必然具有共同的特征和性质
- 实体集- 同一类型实体的集合
- 联系 - 实体内部与其之间的联系
两个实体型之间的联系
-一对一联系,一对多联系,多对多联系
概念模型的一种表示方法
- ER图 p17 ER图考试必考,主要是写对联系类型
关系数据模式的优点
- 关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。
- 关系模型的概念单一。
- 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性、也简化了程序员的工作和数据库开发建立的工作。
缺点
由于存取路径对用户透明,查询效率往往不如非关系数据模型,增加了DBMS的开发难度。
重点
模式
- 模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型(属性名)的描述不涉及到具体的值
数据库系统的三级模式结构
-外模式、模式、内模式三级构成
内模式
-只有一个
-内模式也称为存储模式。它是数据物理结构和存储方式的描述,是数据在数据库的内部的表示方法。
模式
-只有一个
-是数据库系统模式结构的中间层,既不涉及数据物理的存储细节和硬件环境也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。模式是数据库数据在逻辑上的视图,
外模式
-可有多个
-数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据试图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集,
数据库的二级映像功能与数据独立性
-外模式/模式映像、模式/内模式映像。这两层映像保证了数据库系统中数据能够具有较高的逻辑独立性和物理独立性。
外模式/模式映像
- 定义了外模式与模式之间的对应关系。保证了数据与程序的逻辑独立性
,简称数据的逻辑独立性。
模式/内模式映像
-定义了数据全局逻辑结构与存储结构之间的对应关系。保证了数据的物理独立性
。
外连接
OUTER JOIN
)。 左外连接
LEFT OUTER JOIN
或LEFT JOIN) 右外连接
RIGHT OUTER JOIN
或RIGHT JOIN)。 子查询的查询条件不依赖于父查询,称为不相关子查询
SELECT[DISTINCT] xxx
FROM xx
WHERE X>Y [XXX BETWEEN 20 AND 30]
GROUP BY XXX HAVING X>Y
ORDER BY XXX ASC/DESC
更新视图
INSERT INTO XXX
VALUES(XXX,XXX,XXX,XXX);
UPDATE XXX
SET XXX = 22
WHERE X>Y
DELETE XXX
FROM XXX
[WHERE]
CREATE SCHEMA XXX AUTHORIZATION XXX
CREATE TABLE XXX1 ( XXX INT PRIMARY KEY,
XXX CHAR(2) UNIQUE [REFERENCES XXX2(XXX)],
FOREIGN KEY XXX REFERENCES XXX2(XXX)
);
ALTER TABLE XXX
ADD ABC INT;
ADD UNIQUE(XXX);
DROP XXX 完整性约束名
ALTER COLUMN XXX INT
DROP TABLE xxx RESTRICT/CASCADE
CREATE [UNIQUE][CLUSTER] INDEX XXX
ON XXX
CREATE VIEW XXX
AS XXX
SELECT ...
[WITH CHECK OPTION]
INSERT
INTO XXX
VALUES(XXX,XXX)
授权语句
GRANT [insert/update/select/all privileges]
ON TABLE XXX
TO USER / PUBLIC
[WITH GRANT OPTION]
REVOKE [insert/update/select/all privileges]
ON TABKE XXX
FROM USER/PUBLIC [CASCADE]
CREATE USER XXX WITH [DBA/ RESOURCE/CONNECT]
CREATE ROLE S1 (类似于一种安全策略)
GRANT XXXX,XX,XX,XX
ON XXX
TO S1
GRANT S1 TO USER1,USER2\
REVOKE S1 FROM USER1,USER2
数据库安全性
- 保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏 用户标识与鉴别
- 常用方法有 用户标识
口令
存取控制机制组成
– DBMS的安全子系统
定义用户权限、合法权限检查常用存取控制方法
自主存取控制(Discretionary Access Control ,简 称DAC)
C2级 灵活
- 用户对于不同的数据库对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可以将其拥有的存取权限转授给其他用户。因此非常灵活。
强制存取控制(Mandatory Access Control, 简称 MAC)
B1级 严格
- 每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证,对于任意一个对象,只有具有合法许可证的用户才可以存取。因此相对比较严格
敏感度标记
:绝密
-机密
-可信
-公开
授权
- 定义存取权限数据库的完整性
是指数据的正确性和相容性外码
数据依赖
- 一个关系内部属性与属性之间的约束关系函数依赖
和多值依赖
R<U,F>
- 属性组U上的一组数据依赖F核心问题
平凡函数依赖
非平凡函数依赖
完全函数依赖
X-F
->Y 部分函数依赖
X-p
->Y 传递函数依赖
X-传递
->Y 1NF
↓ 消除非主属性对码的部分函数依赖
2NF
↓ 消除非主属性对码的传递函数依赖
3NF
↓ 消除主属性对码的部分和传递函数依赖
BCNF
↓ 消除非平凡且非函数依赖的多值依赖
4NF
R<U,F>
中的属性或者属性组合,若K-F
->U,则K为R的候选码
,若候选码多于一个,则选定其中一个为主码
关系模式R中属性或属性组X并非X的码,但是X是另外一个关系模式的码,则X是R的外部码
,简称外码
包含在任何一个表示·候选码
中的属性,称之为主属性
,不包含在任何码总得属性称为非主属性
,或非码属性
。
码
,最极端的情况,整个属性组是码,称之为全码
。设计阶段 (背)
-
- 需求分析
- 概念结构
- 逻辑结构设计
- 物理结构设计
- 数据库实施
- 数据库运行和维护
每一个阶段的任务 (背)
在需求分析的调查过程中使用的调查方法 (背)
- 跟班作业
- 开调查会
- 请专人介绍
- 询问
- 设计调查表请用户填写
- 查阅记录
数据字典
- 系统中各类数据描述的集合,包含数据项,数据结构,数据流,数据存储和处理过程
数据项
- 数据项是不可再分的数据单位
数据结构
- 反映了数据之间的组合关系
数据流
- 数据结构在系统内传输的路径
数据存储
- 数据结构停留或保存的地方,也是数据流的来源和去向之一
处理过程
- 具体处理逻辑一般用判定表或判定树来描述。
E-R图调整原则
- 现实世界的事物能作为属性对待的,尽量作为属性对待
概念模型中属性和实体的区别(背)
- 作为“属性”,不能再具有需要描述的性质。“属性”必须是不可分的数据项,不能包含其他属性
- “属性”不能与其他实体具有联系,即E—R图中所表示的联系是实体之间的联系
E-R图之间的冲突
主要有 - 属性冲突、命名冲突、结构冲突
属性冲突 -
(1)属性域冲突,即属性值的类型、取值范围或取值集合不同。
(2)属性取值单位冲突 - 各部门讨论协商解决
命名冲突- (1)同名异义 (2)异名同义 -
--------------各部门讨论协商解决
结构冲突-
(1)同一对象在不同应用中具有不同的抽象。
把属性变换成实体或把实体变换成属性
(2)同一实体在不同分E-R图中所包含的属性个数和属性排列次序不同
使该实体的属性取各分E-R图中属性的并集,在适当调整属性的次序
- 一个1:1联系可以转换为一个独立的关系模式
- 一个1:n联系可以转换为一个独立的关系模式
- 一个m:n联系可以转换为一个关系模式
- 3个或者3个以上实体间的一个多元联系可以转换为一个关系模式
- 具有相同码的关系模式可以合并
逻辑设计中对数据模型的优化
- 对关系模式进行必要的分解或合并,以提高数据操作的效率和存储空间的利用率
水平分解
– 把(基本)关系的元组分为若干子集合, 定义每个子集合为一个子关系,以提高系统的效率。
80/20原则
:一个大关系中,经常被使用的数据 只是关系的一部分,约20%,把经常使用的数据分解出来,形成一个子关系,可以减少查询的数据量。如果关系R上具有n个事务,而且多数事务存取的数据不相交,则R可分解为少于或等于n个子 关系,使每个事务存取的数据对应一个关系。
垂直分解
– 把关系模式R的属性分解为若干子集合, 形成若干子关系模式
垂直分解的原则
- 经常在一起使用的属性从R中分解出来形 成一个子关系模式。垂直分解的优点
– 可以提高某些事务的效率垂直分解的缺点
– 可能使另一些事务不得不执行连接操 作,从而降低了效率。直分解的适用范围
– 取决于分解后R上的所有事务的总效率是 否得到了提高
- 索引存取方法
- 聚簇存取方法
- HASH存取方法
事务
- 用户定义的一个数据库操纵序列
事务的特性
- 一元吃梨cadi
一致性
- 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态原子性
- 事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么不做持续性
- 也称永久性,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的隔离性
- 一个事务的执行不能被其他事务干扰
(背)
事务内部的故障
- 事务在运行至正常终止点前被停止系统故障
介质故障
- 指硬故障,例如外存故障。计算机病毒
对数据库的影响:
- 数据库本事被破坏
- 数据库本身没有被破坏,但是数据可能不正确
恢复的原理
:冗余
恢复的实现技术
- 数据转储
和 登陆日志文件
背
- 事务故障的恢复
- 反向扫描日志文件,查找该事务的更新操作
- 对该事务的更新操作执行逆操作
- 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样的处理
- 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。
- 系统故障的恢复
- 正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做队列。同时找出故障发生时尚未完成的事务,将其事务标识记入撤销队列。
- 对撤销队列中的各个事务进行撤销处理
- 对重做队列中的各个事务进行重做处理。
介质故障的恢复
- 恢复方法: 重装数据库,然后重做已经完成的事务
- 装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。
- 装入相应的日志文件副本,重做已完成的事务。
并发控制机制的责任 - 保证事务的隔离性
和一致性
- 不一致性
- 丢失修改、不可重复读、读“脏”数据
死锁
预防:
诊断与解除:
选择一个处理死锁代价最小的事务,将其撤销
,释放此事务持有的所有锁,使其他事务得以继续运行下去。
排他锁(X锁)
- 若事务T对数据对象A加上X锁,则只允许T读取和修改A
共享锁(S锁)
- 若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,而且其他事务只能对A加S锁
可串行化的调度
- 多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这些事务时的结果相同
可串行性
- 并发事务正确调度的准则:一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度
冲突操作 (背)
- 不同的事务对同一数据的读写操作和写写操作 充分条件
,不是必要条件
,还有不满足冲突可串行化条件的可串行化调度。两段锁协议
:所有事务必须分两个阶段对数据项加锁和解锁
- 在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁。
- 在释放一个封锁之后,事务不再申请和获得任何其他封锁
多粒度封锁
显式封锁
- 直接加到数据对象上的封锁隐式封锁
- 该数据对象没有加锁,是由于其上级结点加锁而使该数据对象上了锁意向锁
- IS、IX、SIX锁===
15年简答题增量
·转储
是指DBA---数据库管理员---将整个数据库复制到磁带或另一个磁盘上保存起来的过程。
转储方法 静态转储与动态转储 海量转储与增量转储
静态转储
在系统中无运行事务时进行转储,转储开始时数据库处于一致性状态,转储期间不允许对数据库的任何存取、修改活动。
优点:实现简单,
缺点:降低了数据库的可用性:转储必须等用户事务结束,新的事务必须等转储结束。
动态转储
转储操作与用户事务并发进行,转储期间允许对数据库进行存取或修改。
优点:不用等待正在运行的用户事务结束,不会影响新事务的运行。
缺点:不能保证副本中的数据正确有效