考研复习-数据库原理

1935人阅读 评论(2) 收藏 举报

一.概论
1.DBMS 数据库管理系统
主要功能:1)数据定义2)数据操纵3)数据库运行管理4)数据库建立与维护
特点:1)数据结构化2)数据共享性高,冗余度低,易扩充
3)数据独立性高,物理独立性(与硬件实现无关),逻辑独立性(应用程序与数据库逻辑结构式相互独立的)

完整性约束:实体完整性,参照完整性,用户定义完整性

E-R图: Enity-Relationship Approach
用E-R图来描述现实世界的概念模型

三级模式
模式是数据库中全体数据的逻辑结构和特征的描述。
外模式:数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。一个应用程序只能有一个外模式。
内模式:数据物理结构和存储方式的描述。一个数据库只有一个内模式。

二级映射
外模式/模式 对应逻辑独立性  模式/内模式 对应物理独立性

 


二.关系数据库
关系模型有关系数据结构,关系操作集合和关系完整性约束三部分组成。

实体完整性规定基本关系的所有主属性都不能取空置。

参照完整性:当更新、删除、插入一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。   简单的说就是表间主键外键的关系。   对于两个关系R和S,R中存在属性F是基本关系R的外码,它与基本关系S的主码K相对应(R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为空值或者等于S中某个元组的主码值。(百度百科)

用户定义完整性:针对某一具体关系数据库的约束条件。

关系运算:
选择:从关系R中选取使逻辑表达式F为真的元祖;
投影:从R中选取若干属性列组成新的关系;
连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组;
等值连接:从两个关系的笛卡尔积中选取A,B属性值相等的那些元祖;
自然连接:把等值连接中的重复列取消;

 

三.SQL
特点:
1)综合统一:集DDL(CREATE DROP ALTER),DML(INSERT UPDATE DELETE),DCL(DRANT REVOKE)于一体,语言风格统一,在关系模型中实体与实体间的联系均用关系表示;
2)高度非过程化;
3)以用一种语法结构提供两种使用方式(SQL,嵌入式);
4)语言简洁,易学易用。

建立索引
CREATE INDEX index_name ON table_name (column_list)
当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。对经常更新的列不宜建立聚簇索引。

where和having的区别:where字句作用于基本表或视图,从中选择满足条件的元祖,having短语作用于组,从中选择满足条件的组,用于group by 之后。

视图的作用:
1)视图能够简化用户的操作;
2)视图使用能以多种角度看待同一数据;
3)视图对重构数据库提供了一定程度的逻辑独立性;
4)视图能够对机密数据提供安全保护。

游标:系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。

触发器:与表有关的命名数据库对象,当表上出现特定事件时将激活该对象。
CREATE TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt

存储过程:一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过制定存储过程的名字并给出参数来执行它。

 

四.关系系统及其查询优化
关系系统要求:
1)支持关系数据库(关系数据结构);
2)支持选择,投影和(自然)连接运算,对这些运算不必要求定义任何物理存储路径。

优化的步骤:
1)将查询转化成某种内部表示,通常是语法树;
2)根据一定的等价变化法则把语法树转换成标准形式;
3)选择底层操作算法;
4)生成查询执行方案;
总代价=I/O代价+CPU代价+内存代价

查询优化的一半准则:
1)选择运算应尽可能先做;
2)在执行连接前对关系适当的预处理(在连接属性上建立索引,对关系排序);
3)把投影运算和选择运算同时进行;
4)把投影同其前或其后的对目运算结合起来;
5)把某些选择同在它前面要执行的笛卡尔积结构起来,成为一个连接运算;
6)找出公共子表达式。

 


五.关系数据理论
第一范式:每一个分量必须是不可分的数据项;
2NF:属于1NF,且每一个非主属性完全依赖于码;
3NF:每一个非主属性既不部分依赖于码也传递依赖于码;
范式的划分:按属性间依赖关系来区分关系规范化的程度。

函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。


规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”。

 


六.数据库设计
定义:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统。使之能够有效地存储数据,满足各种用户的应用需求。

设计的六个阶段:
需求分析->概念结构设计->逻辑结构设计->物理结构设计->数据库实施->数据库运行和维护

存取方法:1)索引方法(B+树)2)聚簇3)HASH

索引存聚方法的选择:
1)如果一个(或一组)属性经常在查询条件中出现;
2)如果一个属性经常作为最大值和最小值等聚集函数的参数;
3)如果一个(或一组)属性经常在连接操作的连接条件中出现
则考虑建立索引。
一个数据库可以有多个聚簇,一个关系只能有一个聚簇。

如果一个关系的属性主要表现在等值连接条件中或主要出现在相等比较选择中,而且满足下列两个条件之一,则可选择HASH存取方法:
1)如果一个关系大小可以预知,而且不变;
2)如果关系的大小动态改变,而且数据库管理系统提供了动态HASH的存取方法。

 

七.数据库恢复
事务:用户定义的一个数据库序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
事务的特性:
原子性,一致性,隔离性,持续性(永久性)。

恢复方法:
事务故障:事务在运行至正常终点前被终止,这是恢复子系统应利用日志文件撤销此事务对数据库进行修改。
1)反向扫描文件日志;
2)对该事务的更行操作执行逆操作;
3)如此继续直至读到此事务的开始标记。

系统故障:未完成事务对数据库的更新可能已写入数据库,另一种可能是已提交的事务对数据库的更新可能还留在缓冲区没来得及写入数据库。
1)反向扫描日志文件;
2)对撤销队列中的各个事务进行撤销处理;
3)对重做队列中的各个事务进行重做处理。

介质故障的恢复:磁盘上的物理数据和日志文件被损坏。
重装数据库,重做已完成的任务。


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1458851次
    • 积分:19443
    • 等级:
    • 排名:第431名
    • 原创:413篇
    • 转载:7篇
    • 译文:29篇
    • 评论:643条
    博客专栏
    最新评论