数据库总结

一、数据模型

1.1 基本概念

常用的数据模型有:概念数据模型、基本数据模型。

概念数据模型,也称信息模型,用于数据库的设计,有E-R模型(实体-联系模型)。

基本数据模型,用于数据库实现,有层次模型、网状模型、关系模型、面向对象模型。

1.2 数据模型三要素

数据模型的三要素:数据结构、数据操作、数据的约束条件。

数据操作有:增、删、改、查。

1.3 E-R模型

实体

实体用矩形表示。

联系

联系用菱形表示。

属性

属性有以下分类:简单属性和复合属性、单值属性和多值属性、NULL属性、派生属性。

实体-联系方法

E-R图中的主要构件

扩充的E-R模型

弱实体:一个实体必须依赖另一个实体。

特殊化:一个实体集按照某些特征区分为几个子实体。从普遍到特殊的过程。

1.4 数据模型

层次模型:树型结构。

网状模型:图结构。

关系模型:表格结构。

面向对象模型:用面向对象的方法来设计数据库。

1.5 关系模型

关系对应对编程语言中变量的概念。

二、关系代数

2.1 基本概念

属性和域

每个属性的取值范围对应一个值的集合,称为该属性的域。

2.2 笛卡尔积与关系

D1={0,1},D2={a,b},D3={c,d}

笛卡尔积D1xD2xD3={(0,a,c),(0,a,d),(0,b,c),(1,a,c),(1,a,d),(1,b,c),(1,b,d))}

即遍历所有的组合。

2.3 关系的相关名词

(1)目或度。R表示关系,n是关系的目或度。

(2)候选码。若关系中的某一属性或属性组的值能唯一地标识一个元组。则称该属性或属性组为候选码。

(3)主码。如果有多个候选码,则选其中一个为主码。

(4)主属性。包含在候选码的属性为主属性。

(5)外码。如果关系R中的属性或属性组非该关系的码,但它是其他关系的码,那么对于R而言是外码。

(6)全码。关系R的所有属性组是这个关系的候选码,称为全码。

关系的3种类型:基本关系、查询表、视图表。

2.4 关系数据库模式

关系模式对应编程语言中类型定义的概念。

完整性约束分为:实体完整性、参照完整性、用户定义完整性。

2.5 关系运算

关系数据语言分为三类:关系代数语言、关系演算语言、具有关系代数和关系演算双重特点的语言(如:SQL)。

关系代数运算符有4类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。

5种基本的关系代数运算

5种基本的关系代数运算包括:并、差、笛卡尔积、投影和选择。其它的运算可以通过基本的关系运算导出。

扩展的关系代数运算

扩展的关系代数运算可以从基本的关系运算中导出,主要包括:选择、投影、连接、除法、广义笛卡尔积和外连接。

三、关系数据库的规范化

3.1 函数依赖

(1)函数依赖。

(2)非平凡的函数依赖。

(3)平凡的函数依赖。

(4)完全函数依赖。

(5)部分函数依赖。

(6)传递依赖。

(7)码。

(8)主属性和非主属性。

(9)外码。

(10)函数依赖的公理系统。

3.2 规范化

1NF(第一范式)

若关系模式R的每一个分量是不可再分的数据项,则关系模式R属性第一范式。

1NF存在4个问题:冗余度大、引起修改操作的不一致性、插入异常、删除异常。

2NF(第二范式)

若关系模式R属于1NF,且每一个非主属性完全依赖于码,则关系模式R属性2NF。

当1NF消除了非主属性对码的部分函数依赖,则称为2NF。

3NF(第三范式)

当2NF消除了非主属性对码的传递函数依赖,则称为3NF。

3.3 模式分解及分解应具有的特性

分解

对一个给定的模式进行分解,使得分解后的模式是否与原来的模式等价有3种情况。

(1)分解具有无损连接性。

(2)分解要保持函数依赖。

(3)分解既要无损连接性,又要保持函数依赖。

四、数据库的控制功能

4.1 事务管理

(1)BEGIN TRANSACTION:事务开始。

(2)COMMIT:事务提交。

(3)ROLLBACK:事务回滚。

事务具有原子性、一致性、隔离性、持久性,即ACID性质。

4.2 数据库的备份与恢复

4类故障:事务内部故障、系统故障、介质故障、计算机病毒。

备份方法:静态转储和动态转储、海量转储和增量转储、日志文件。

恢复的3个步骤:反向扫描文件日志、对事务的更新操作执行逆操作、继续反向扫描日志文件。

数据库镜像:对关键数据和日志文件做镜像。

4.3 并发控制

并发带来的问题:丢失修改、不可重复读、读脏数据。

并发控制技术:封锁、三级封锁协议。

活锁与死锁

并发调试的可串行性

两段封锁协议

封锁的粒度

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值