数据库基础

数据库基础知识复习

1. 数据视图与数据模型

数据抽象共有三个层次:物理层、逻辑层和视图层。在逻辑层使用的数据模型包括两类:一类是概念数据模型,主要用于数据库设计,它能被一般的用户理解,与人的思维表达方式比较接近。这样的模型有实体-联系模型(ERM);另一类是逻辑数据模型,按计算机系统的观点对数据建模,使得数据更适合用计算机加以表示。这里模型主要用于DBMS的实现,比如关系模型、面向对象模型、层次模型和网状模型。设计师构建数据库模式的方法通常是首先使用E-R模型在高层对数据建模,然后再将其转变成关系模型。在物理层使用的数据模型称为物理数据模型。

数据模型通常由数据结构、数据操作和完整性约束三部分组成。

2. 数据库语言

根据功能不同,可以将数据库系统提供的语言分成三种类型:1)数据定义语言(DDL),用于定义数据库模式;2)数据操纵语言(DML),用于对数据库进行查询和更新;3)数据控制语言(DCL),用于对数据进行权限管理。

3. 数据库模式

根据数据的不同抽象层次,数据库有三级模式:物理模式(内模式)在物理层描述数据库中全体存储结构和存取方法,而逻辑模式(概念模式)则在逻辑层描述数据库中全体数据的逻辑结构和特征。在视图层也可分为若干模式,称为子模式(外模式),它描述了数据库用户能够看见和使用的局部数据的逻辑结构和特征。通常一个数据库只有一个物理模式和一个逻辑模式,但是子模式有若干个。

4. E-R图

E-R图由以下元素构成:1)矩形,代表实体型;2)椭圆,代表属性;3)菱形,代表联系;4)线段,将属性和实体性相连,或将实体型和联系相连。

5. 关系模型

关系模型由关系数据结构、关系操作集合和关系完整性约束三部分构成。在关系模型中,现实世界实体以及实体间的联系均用关系来表示。

关系模型中常用的关系操作包括:选择、投影、连接、除、并、交、差等查询操作和增加、删除、修改两大部分。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。关系操作可以使用两种方式定义:基于代数的定义称为关系代数;基于逻辑的定义称为关系演算。由于使用变量的不同,关系演算又分为元组关系演算和域关系演算。

关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户定义完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件。实体完整性规则是:关系的主码不能取空值。参照完整性规则是:外码必须是另一个表中主码的有效值,或者是“空值”。

6. 连接运算

连接运算是从两个关系的乘运算结果中选取属性间满足一定条件的元组,构成新的关系。连接运算有两种:等值连接和自然连接。自然连接要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

7. 数据库基础和设计

  • 第一范式:在一个关系中消除重复的字段,且每个字段都是最小的逻辑存储单位。
  • 第二范式:所有非主键字段完全依赖于主键,不存在非主键字段部分依赖主键。
  • 第三范式:去除传递依赖(不要包含可以通过计算得到或推导得到的字段)。

8. 事务

事务是一系列的数据库操作,是数据库应用程序的基本单元,是反映现实世界需要以完整单位提交的一项工作。事务是用户定义的一个数据库操作序列。

事务的四个特征:原子性、一致性、隔离性和持久性。

事务处理包括数据库恢复和并发控制。数据库恢复有两个目的:保证事务的原子性和使数据库能恢复到正确状态。

数据恢复的原理概括为冗余,建立冗余数据最常用的技术是数据转储和登录日志文件。数据转储是由DBA定期地将整个数据库复制到磁盘或另一个磁盘上保存起来的过程。