数据库回顾

一:数据库设计之模式设计

     数据库模式设计是数据库逻辑设计的基础;

    模式分解包括:

   1>无损连接:保证依赖关系R可以被分解成的Ri恢复;

   2>保持函数依赖:关系模式的FD集在分解后仍然在数据库模式中保持不变;

   3>无损连接加保持函数依赖:上述两者的综合;

     ER模型:包括实体,属性,实体与实体间的联系;

    数据库设计的原则:实体尽可能少,能作为属性的就不要作为实体。

    数据字典包括:数据项,数据结构,数据流,数据存储,数据处理。

二:数据库上的索引结构

 1>顺序索引结构

(1)密集索引:查找索引项,跟踪指针即可;

(2)稀疏索引:一般情况为块的第一个建立索引项;

(3)多级索引:索引上再加索引;

2>辅助索引:无序,索引只能用密集索引;如果有重复的键值,就利用间接桶,节省空间。

3>倒排索引:应用于文档检索,与辅助索引思想类似,为每个检索词建立间接桶;

4>B+树索引:所有节点格式相同,n个关键字,n+1个指针;适用于主索引也适用于辅助索引;查找时,从根节点开始沿指针一直到达叶子节点,然后顺序查找;

5>散列索引:利用hash的思想简历索引;利用率在50%~80%之间最好;  对于文件增长可采用动态散列表方法解决:包括:可扩展散列表(成倍增加桶的个数) 线性散列表( 线性增加)

三:查询优化

1>语法分析:构造语法分析树(根据SQL语句生成)

2>初始逻辑计划生成:将语法分析树转化为逻辑表达式树---逻辑查询计划

3>查询重写:将初始查询计划转化为优化的逻辑查询计划

4>查询计划代价估计:中间关系代价估计,I/O代价估计,物理查询计划生成;

5>物理查询计划选择

四:数据库恢复

数据库保护通过四方面来体现:

1>数据库的恢复技术;

2>并发控制技术;

3>完整性控制技术;

4>安全性控制技术;

事务的ACID性质(atomicity,consistency,isolation,durability):

原子性:事务要么都做要么都不做;

一致性:事务的结果必须让数据库从一个一致性状态到另一个一致性状态;

隔离性:多个并发事务之间要相互隔离;

持久性:事务一旦被提交,数据库的改变就是永久性的;


日志恢复:undo日志,redo日志,undo/redo日志;

五:并发控制:通过锁进行控制,分为slock(share lock)和xlock(写锁)update lock,多粒度锁;

    

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值