随着应用系统的规模越来越大,现在的系统开发大部分都是基于数据库的应用,因此,作为一名优秀的系统架构设计师,要熟练地掌握数据库管理系统的设计方法和技术。
三级模式指的是外模式、模式和内模式;两级映射指的是外模式-概念模式映射 和 概念模式-内模式映射
数据库视图是一个虚拟表(逻辑上的表),其内容由查询定义(仅保存sql查询语句)。同真实的表一样,视图包含一系列带有名称的列和行数据。但是视图并没有真正存储这些数据,而是通过查询原始表动态生成的一张虚拟数据表。视图优点如下
它并不是传统意义上的虚拟视图,是实体化视图,其本身会存储数据。同时当原始表中的数据更新时,物化视图也会更新。
数据独立性。除了数据的逻辑独立性与物理独立性外,还有数据分布独立性(分布透明性)。
集中与自治共享结合的控制结构。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。
适当增加数据冗余度。在不同的场地存储同一数据的多个副本,可以提高系统的可靠性和可用性,同时也能提高系统性能。
全局一致性、可串行性和可恢复性。

全局控制部分分散的DDBMS。
分片透明性是指用户不必关心数据是如何分片的,它们对数据的操作在全局关系上进行,即如何分片对用户是透明的。
复制透明是指用户不必关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。
位置透明是指用户不必知道所操作的数据存放在何处,即数据分配到哪个站点或者服务器对用户是透明的。
最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持那种数据模型、使用哪种数据操作语言,数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构和同构异质的分布式数据库系统是非常重要的。
表决阶段,目的是形成一个共同的决定。
执行阶段,目的是实现这个协调者的决定。
只要有一个参与者撤销事物,协调者就必须做出全局撤销决定。
只有所有参与者都统一提交事物,协调者才能做出全局提交决定。
属性使用椭圆形表示;实体使用长方形表示;关系使用棱形表示

数据模型三要素:数据结构、数据操作、数据的约束条件。
类型:层次化模型、网状模型、面向对象模型、关系模型。
数据完整性约束指的是为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。
关系代数的基本运算主要有并、交、差、笛卡尔积、选择、投影、连接和除法运算。



候选键:唯一表示的元组,且无冗余(举例:学号和身份证号),候选键可以是由两个字段组合起来(组合键)。举例说明:数据表成绩表R,包含字段:学号、课程号、学分。在成绩表R中,学号和课程号组成候选键,唯一键为(学号&课程号)
主键:任意一个候选键(举例:学号和身份证号中其中一个)。
全码(ALL-Key):关系中仅有一个候选码,且候选码由关系中的所有属性组成,则该候选码为全码。
部分函数依赖 :学生基本信息表R中(学号,身份证号,姓名)当然学号属性取值是唯一的,在R关系中,可以通过学号和身份证号确认姓名;可以通过学号确认姓名;也可以通过身份证确认姓名;所以姓名部分函数依赖于(学号,身份证号)

传递函数依赖:在关系R(学号 ,宿舍, 费用)中,可以通过学号确认宿舍,但是不能通过宿舍确认学号;可以通过宿舍确认住宿费,但是不能通过住宿费确认宿舍,所以符合传递函数的要求
完全函数依赖:学生基本信息表R(学号,班级,姓名)假设不同的班级学号有相同的,班级内学号不能相同,必须通过学号和班级才能确定姓名,仅仅通过学号或者班级无法确定姓名,所以姓名完全函数依赖于(学号,班级)
组成候选码的属性就是主属性,其他的就是非主属性。
在关系模式R中,当且仅当所有域只包含原子值,即每个属性都说不可再分的数据项,则称之为关系模式R是第一范式。强调的是列的原子性,即列不能够再分成其他几列。
当前仅当关系模式R是第一范式,且每个非主属性完全依赖候选键(没有不完全依赖)时,则称之为关系模式R是第二范式。消除非主属性对候选键的部分依赖(在复合主键的情况下,非主键部分不应该依赖部分主键)。
即表必须有一个主键,并且没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。如果存在部分属性仅依赖于关键字的一部分属性,则需要通过拆表分离形成一个新的实体,新的实体和原实体之间是一对多的关系。
当且仅当关系模式R是第二范式(2NF),且R中没有非主属性传递依赖于候选键时,则称关系模式R是第三范式。
即在2NF基础上 消除非主属性对候选键的传递依赖 (非主键之间不应该有依赖关系) 。
在关系模式中每一个决定因素都包含候选键,只要属性或属性组A能够决定任何一个属性B,则A的子集中必须有候选键。BCNF范式排除了任何属性(不光是非主属性,2NF和3NF所限制的都是非主属性)对候选键的传递依赖与部分依赖。
设数据库模式p={R1,R2,…,Rk}是关系模式R的一个分解,F是R上的函数依赖集,p中每个模式Ri上的FD集Fi。是如{F1,F2,…,Fk}与F是等价的(即相互逻辑蕴涵),那么称分p解保持FD。
有损:不能还原。无损:可以还原。
指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式。
S封锁:也称为读锁,是一种共享锁,允许其他进程对数据加读锁。
X封锁:也成为写锁,是一种排他锁,禁止其他进程对数据加任何锁。
一级封锁协议:事务T在修改数据R之前必须先对其添加X锁。
二级封锁协议:一级封锁协议上加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。可防止丢失修改,还可防止读脏数据。
三级封锁协议:一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到整个事务结束才释放。可防止丢失修改、防止读脏数据与防止数据(不可)重复读。
两段锁协议:可串行化,可能发生死锁。
也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。
优点 :非常快速的备份方法;容易归档;容易恢复到某个时间点上;能与归档方法相结合,做数据库“最佳状态”的恢复,低度维护,高度安全。
缺点 :单独使用时,只能提供到某一时间点上的恢复;在实施备份的全过程中,数据库必须要做备份而不能处理其他工作;若磁盘空间有限,只能复制到磁带等其他外部存储设备上,速度会很慢;不能按表或者按用户恢复。
也成为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。
优点 :可在表空间或数据库文件级备份,备份的时间短;备份时数据库仍可使用;可达到秒级恢复(恢复到某一时间点上);可对几乎所有数据库实体做恢复;恢复是快速的。
缺点 :不能出错,否则后果严重;若备份不成功,所得结果不可用于时间点的恢复;因难于维护,所以要特别小心,不允许“以失败告终”。
差量备份:仅备份上一次完全备份之后变化的数据。
增量备份:备份上一次备份之后变化的数据。
撤销事务(UNDO):故障发生时未完成的事务,放入Undo撤销
重做事务(REDO):故障发生前已提交的事务,放入Redo重做。
全局查询树的变换,多副本策略,查询树的分解,半连接与直接连接。

软考梦工厂
扫码关注我们