系统分析师之数据库系统(七)

目录

一、数据库概念

1.1 数据库管理系统DBMS

1.2 数据库系统DBS

二、数据库设计

2.1 数据库设计过程

2.2 E-R模型

2.3 关系代数

2.4 规范化理论

2.4.1 价值与用途

2.4.2 函数依赖

2.4.3 键

2.4.4 范式

2.4.5 无损分解

三、并发控制

3.1 基本概念

3.2 问题示例

3.3 封锁协议

四、完整性约束

五、数据备份

5.1 数据备份方式

六、数据库故障与恢复

七、数据库技术

7.1 分布式数据库体系结构

7.2 联邦数据库

7.3 NoSQL

7.4 反规范化

7.5 内存数据库

7.6 数据库性能优化

7.7 大数据


一、数据库概念

1.1 数据库管理系统DBMS

        数据库管理系统是一种负责数据库定义,建立,操作,管理和维护的软件系统。其目的是保证数据库安全可靠,提高数据库应用的简明性和方便性,并有效的实现数据库三级之间的转化。

        主要职责:数据库的定义和建立,数据库的操作,数据库的控制,数据库的维护。

1.2 数据库系统DBS

        数据库系统是实现有组织地,动态地存储大量关联数据,方便多用户访问计算机软件,硬件和数据资源组成的系统。它包括数据库,硬件软件和数据库管理员四个部分。

  • 设计目标:允许用户逻辑地处理数据,而不涉及这些数据在计算机中是怎么存储的。在数据组织和用户应用之间提供某种程度的独立性。
  • 三个级别:用户级(对应外模式),概念级和物理级(对应内模式)
  • 三个模式:外模式,概念模式,内模式。
  • 两级独立性:是指物理独立性和逻辑独立性。逻辑独立性比物理独立性更加难以实现。

二、数据库设计

2.1 数据库设计过程

2.2 E-R模型

E-R模型:实体-关系图

(1)集成的方法:

  • 多个局部E-R图一次集成
  • 逐步集成,用累加的方式一次集成两个局部E-R。

(2)集成产生的冲突级解决方法

  • 属性冲突:包括属性域冲突和属性取值冲突
  • 命名冲突:包括同名异义和异名同义
  • 结构冲突:包括同一个对象再不同应用中具有的不同抽象,以及统一实体再不同局部E-R图中包含的属性个数和属性排列次序不完全相同

2.3 关系代数

一组具有相同数据类型的值的集合。

笛卡尔积

第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。元素个数变成原先每个集合中元素个数的乘积 

关系R和S有着相同的关系模式。将2个集合(或数据库查询的结果集)中的元素相加,并去掉重复元素(只留下1个) 

关系R和S有着相同的关系模式。差就是过滤出属于R但是不属于S的关系组合。

取得将2个集合(或数据库查询的结果集)中共有的元素 

投影

取得查询结果集中的部分字段,并去掉重复元素(数据库专有) (投影是选列操作,也就是选属性的操作)

选择

选择操作在关系R中选择满足给定条件的所有元祖。它是系中找出满足给定条件的元组的操作。SQL语句中的【Where+条件】就是选择。(选择是属性值满足特定的条件的操作)

联接

将两个关系并成一个更宽的关系模式.从笛卡尔积中选择出满足条件的元祖,对应的SQL语句是JION ON(连接操作:将S1和S2都有的字段只保留一个)

除法

同时从关系的水平和垂直方向进行运算,R(X,Y)和S(Y,Z),XYZ是属性组。R/S应当满足元祖在X上的分量值x的象集,包含关系S在属性组Y上投影的集合。

2.4 规范化理论

2.4.1 价值与用途

非规范化的关系模式,可能存在的问题包括:数据冗余、更新异常、插入异常、删除异常。

2.4.2 函数依赖

2.4.3 键

求候选键

2.4.4 范式

  • 第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。
  • 第二范式(2NF):当且仅当实体E是第一范式(1NF),且每一个主属性完全依赖主键(不存在部分依赖)时,则称实体E是第二范式。
  • 第三范式(3NF):当且仅当实体E是第二范式(2NF),E中没有非主属性传递依赖于码时,则称实体E是第三范式。
  • BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。

1NF

第一范式

属性值都是不可分的原子值

2NF

第二范式

消除非主属性对候选键的部分依赖

3NF

第三范式

消除非主属性对候选键的传递依赖

BCNF

BC范式

消除主属性对候选键的传递依赖

2.4.5 无损分解

三、并发控制

3.1 基本概念

3.2 问题示例

 

3.3 封锁协议

  • 一级封锁协议。事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。可防止丢失修改;
  • 二级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,读完后即可释放S锁。可防止丢失修改,还可防止读“脏”数据;
  • 三级封锁协议。一级封锁协议加上事务T在读取数据R之前先对其加S锁,直到事务结束才释放。可防止丢失修改、防止读“脏”数据与防止数据重复读;
  • 两段锁协议。可串行化的。可能发生死锁;

四、完整性约束

五、数据备份

5.1 数据备份方式

六、数据库故障与恢复

七、数据库技术

7.1 分布式数据库体系结构

7.2 联邦数据库

7.3 NoSQL

7.4 反规范化

7.5 内存数据库

7.6 数据库性能优化

7.7 大数据

猜你喜欢

转载自blog.csdn.net/qq_42357877/article/details/130287672