数据库复习总结

本课程深入探讨数据库设计关键,涵盖模型、存储与内核设计,详解DDL与DML,规范化及文件组织,介绍查询优化、事务管理及并发控制机制。

本课程主要讲的就是数据库设计的问题。主要包括模型的设计,存储方式的设计,以及内核的设计(查询功能、事务管理器、事务并发控制的实现)。

首先在设计模型的时候可以分为三层来看,视图层、逻辑层和物理层,物理层是数据库管理者也就是像ORACLE这样的大型数据库公司关系的事情,不需要考虑用户的感受因为这个不是面向用户的而是面向信息库管理中心的,也就是逻辑层的使用者的。逻辑层规定了数据库的一些特性,比如说E-R模型和关系模型(分别用E-R图和关系代数来描述)就是用于数据逻辑层设计的,采用什么样的关系,构造怎么样的实体。而视图层则是面向用户的,用户如何操纵以及图形界面等信息。

设计DDL和DML两种语言,然后关系代数和SQL的标准设计。然后设计数据库的约束(域约束、参照完整性、实体完整性、用户自定义约束、断言、触发器)。然后为了使得结构更加优秀,设计规范化,以范式为标准,以函数依赖为参照,满足越高的范化程度关系的合理性越高。

然后要设计文件和记录的组织方式。先考虑存储介质,磁盘的物理组织,还有什么是RAID,就是廉价磁盘冗余阵列,用冗余来解决可靠性,用分块解决并发性提高效率。从用户角度来看,数据是按记录存储的,它有变长和定长两种表示方法。定长的方法主要考虑它的维护模式,直接上、最后一个上、等着。变长有三种方法,字节流表示法、分槽页的表示方法和变长定长结合的方法,其中变长定长结合的方法还可以分为,保留空间法、分块存储法、锚块-溢出块法。而从数据库底层的物理层看其实是按照页的存储方式来的,定长方式就是正常的存储,变长的方式是按照前面是指针后面记录的方式。而文件组织方式可以有堆结构、顺序结构、层级结构、散列结构和索引结构。其中顺序结构就是顺序存储,缺点是效率有时候而且修改的代价很高,所以我们就提升一下,使用B+树这种层次结构,要好很多,因为这样的树非常平衡,B+树也可以用于文件组织。散列原本是一种文件组织方式,每一个桶的地址是哈希的地址,然后散列索引就是散列到辅助索引上,然后索引去找。

数据库的核心部分是查询处理器和存储管理器。查询优化主要就是看它的代价是什么,代价函数以及宏观上的代价。估计的依据时统计数据。为了实现数据的并行性我们还引入了事务这个概念。然后在事务并发的时候会导致隔离性损失所以要有并发控制机制,设置一定的隔离等级并遵守两个协议中的一个——封锁协议或者时间戳排序协议。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值