数据库系统

目录

1. 数据库设计阶段

1.1 数据库设计过程

1.2 概念结构设计

1.3 逻辑结构设计

2. 关系代数

    2.1 一元运算符

   2.2 二元运算符

3. 规范化理论

     3.1 规范化理论基本概念

    3.2 候选键

    3.3 范式

    3.4 模式分解

4. 数据控制

     4.1 安全性

     4.2 完整性

     4.3 并发控制


1. 数据库设计阶段

1.1 数据库设计过程

    

其中,虚线代表产出。即需求分析阶段生成数据流图、数据字典、需求说明书;概念介绍设计阶段生成ER图;逻辑结构设计阶段生成关系模型。

E-R图:系统分析阶段数据建模的产物,代表实体-关系。

关系模型:二维表,具体关系代数在第2点中详细介绍。

规范化理论:第3点中详细介绍。

DBMS特性:数据库管理系统的控制特性,具体在第4点中详细介绍。

分布式数据库的四个特性:

    分布性:不同场地存储

    共享性:数据共享

    自治性:具有局部数据库管理系统

    可用性:某场地故障,系统仍然可用

1.2 概念结构设计

集成方法:1. 多个局部ER图一次集成;2. 逐步集成

1.3 逻辑结构设计

目或度(关系模式中属性个数)、候选码/键(唯一标识元组,且无冗余,属性集合,可以有一/多个)、主码/键(实体完整性,候选码中任选一个,主键唯一且非空)、主属性与非主属性、外码/键(参照完整性,其他关系的主键)、全码。

2. 关系代数

    2.1 一元运算符

    投影(Π):select、选择列

    选择(σ): where、选择行

   2.2 二元运算符

    笛卡尔积:列数是二者之和,行数是二者的乘积  select * from S1,S2 where ……

    自然连接:列数是二者之和减去重复列数,行数是同名属性列取值相等 select (S1、S2去除重复列) from S1,S2 where S1.a=S2.a

    性能问题:运算对象尽可能先压缩,理论上自然连接的性能优于笛卡尔积。

3. 规范化理论

     3.1 规范化理论基本概念

          R(U,F), X->Y:X函数决定Y,Y函数依赖于X。

         部分函数依赖:某个/些属性依赖候选键的一部分。

         传递函数依赖:A->B, B->C => A->C

         ArmStrong公理:

         1)自反律:YXU,则X->Y

         2)增广律:ZU且X->Y,则XZ->YZ

         3)传递律:X->Y且Y->Z, 则X->Z

         4)合并规则:X->Y,X->Z,则X->YZ

         5)伪传递规则:X->Y,WY->Z, 则WX->Z

         6)分解规则:X->Y且Z⊆Y, 则X->Z

    3.2 候选键

           关系模式可以用有向图表示。

           入度:有箭头指向该节点。

           出度:有箭头指向其他节点。

           中间节点:既有入度又有出度。

           候选键识别方法:1)入度为0的属性集合。  2)如果无法遍历所有节点,增加中间节点。

    3.3 范式

           范式从低到高(1NF->2NF->3NF->BCNF) 逐步优化,去解决 插入异常、删除异常、数据         冗余的问题。 

           1NF:属性值都是不可分的原子值

           2NF:消除非主属性对候选键的部分函数依赖

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

           BCNF:消除主属性对候选键的部分和传递依赖

          如果候选键是单个属性,满足1NF的前提下,至少能达到2NF(不存在对候选码的部分函数依赖)。

    3.4 模式分解

           保持函数依赖分解:{R1,R2,……,Rk}是关系模式R的一个分解,F是R的函数依赖集,如果{F1,F2,……,Fk}与F是等价的,即为保持函数依赖分解。

           无损分解:指将一个关系模式分解成若干个关系模式后,通然连接和投影等运算仍能还原到原来的关系模式。

          如果没有同名属性列,则一定是有损分解。

          可以推导得出的函数依赖是冗余的函数依赖,在考虑是否保持函数依赖的时候可以忽略。

          R分解为{R1,R2},是无损连接分解的充分必要条件:

          R1∩R2 -> (R1-R2) 或 R1∩R2 -> (R2-R1)

4. 数据控制

     4.1 安全性

           用户标识和鉴定:用户账户和密码、基于角色的分组

           存取控制:对用户进行授权,包括操作类型和数据对象的权限

          密码存储和传输:对远程终端信息用密码传输,数据脱敏

          视图保护:对视图进行授权(视图不可修改)

          审计:使用专用文件或数据库,自动将用户对数据库的所有操作记录下来,方便追溯。

         存储过程可以以封装逻辑的方式保障数据安全。

     4.2 完整性

            实体完整性约束:主键唯一且非空。

           参照完整性约束:外键。

           用户自定义完整性约束:应用环境决定(CHECK)。

           触发器:在某个数据对象上添加监听,出现变化联动修改其他数据对象。

     4.3 并发控制

           事务:ACID(原子性、一致性、隔离性、持久性)

           分布式数据CAP特性(一致性、可用性、分区容忍性)

           并发产生的问题:丢失更新、不可重复读问题、脏数据

           解决方案:封锁协议,S封锁(共享锁,读锁)、X锁(独占锁、排他锁),一/二/三级封锁协议,两段锁协议

          死锁

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值