目录

数据:

数据库(DB):

数据库管理系统(DBMS)

数据库系统

数据库系统的特点

数据库系统的组成

关系数据模型三要素

关系的相关概念

实体完整性:

参照完整性:

用户自定义完整性

SQL概念

视图概念

触发器的概念

范式概念

2NF

3NF

数据库设计的基本步骤:

事务:

事务的ACID

恢复的实现技术

日志文件的作用

并发控制的单位

封锁(两种锁)

封锁协议(三级)


数据:

描述事物的符号记录

数据库(DB):

数据库是长期存储在计算机内,有组织、可共享的大量数据的集合,数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易拓展性,可为各种用户共享。

数据库管理系统(DBMS)

位于用户与操作系统之间的一层数据管理软件。

数据库系统

 由数据库、数据库管理系统、应用程序和数据库管理员组成的存储管理和维护数据的系统。

数据库系统的特点

数据结构化、数据共享性高、冗余度低且易扩充、数据独立性高、数据由数据库管理系统统一管理和控制

数据库系统的组成

数据库、数据库管理系统、应用程序和数据库管理员

关系数据模型三要素

关系数据结构、关系操作集合、关系完整性约束

关系的相关概念

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

笛卡尔积:

关系:D1*D2...*Dn的子集叫D1,D2,...Dn上的关系

表示为R(D1,D2,D3,D4....)

候选码:若关系中某一属性(组)的值能唯一表示一个元组,但是其子集不能,则称该属性组为候选码。

主码:多个候选码,选定其中一个伪主码

主属性:候选码的属性为主属性。不包含在任何候选码中的属性叫非主属性。

实体完整性:

如果属性A是关系的主属性,那么A就不能取空值。空值是无意义或不存在的值。

参照完整性:

F是基本关系R的属性(组),但不是关系R的码。K是关系S的主码,如果F和K相对应,则称F是R的外码。R为参照关系,S为被参照关系。

则R中的每个元组在F上的值或者取空值,或者等于S中某个元组的主码值。

用户自定义完整性

针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。

SQL概念

结构化查询语言,是一个通用的关系数据库语言。具有数据查询、定义、控制功能,是集数据查询、数据定义语言(DDL),数据操控语言和数据控制语言(DCL)于一体的关系数据语言。

视图概念

从一个或几个基本表中导出的表,是一个虚表。数据库中只存放数据的定义,不存放视图对应的数据。

触发器的概念

触发器又叫事件-条件-动作规则。当特定的系统事件发生时,对规则的条件进行检查,如果条件成立则执行规则中的动作,否则不执行该动作。

范式概念

’关系数据库规范化程度

规范化:一个低一级范式的关系模式通过模式分解可以转换为多个高一级的关系模式。

如果X唯一确定Y,则Y函数依赖于X。

X->Y,但Y不是X的子集,X->Y是非平凡的函数依赖

X->Y,但Y是X的子集,X->Y是平凡的函数依赖

如果X->Y,并且对于X的任何一个真子集X’,都有X‘-/->Y,则称Y对X完全函数依赖。

如果X->Y,Y->Z,则Z对X传递函数依赖。

1NF

2NF

关系满足第一范式,且每一个非主属性完全函数依赖于任何一个候选码。

3NF

关系满足第二范式,且每一个非主属性既不传递依赖于码。

数据库设计的基本步骤:

需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护。

事务:

一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。

事务的ACID

原子性,一致性,隔离性,持续性

恢复的实现技术

数据转储,登记日志文件

日志文件的作用

事务故障恢复和系统故障必须使用日志文件

在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库。

在静态转储过程中也可以建立日志文件,当数据库毁坏后可重新装入后援副本把数据库恢复到转储结束时刻的正确状态,然后利用日志文件把已完成的事物进行重做处理,对故障发生时尚未完成的事物进行撤销处理。

并发控制的单位

事物

封锁(两种锁)

排他锁(X锁、写锁):如果事务对数据对象A加上X锁,则只允许T读取和修改A,,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁为止。

共享锁(S锁、对锁):如果事务T对A加S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的锁为止。

封锁协议(三级)

一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。

二级封锁协议:在一级封锁协议的基础上增加事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。

三级封锁协议:在一级封锁协议的基础上增加事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。