数据库系统(DBS):由相互关联的数据集合以及一组用于访问这些数据的程序组成。
主要目的:为人们提供方便、高效的环境来存储和检索数据。
数据库系统的目标:传统的文件处理系统存在着众多的问题,数据库系统的建立目的就是为了消除这些问题。
- 数据的冗余和不一致性;
- 数据访问困难;
- 数据孤立;
- 完整性问题:数据库中所储存的值必须满足某些特定的一致性约束。例如:银行的用户数据表中,新建用户实例时,必须满足必要的信息输入,缺少姓名,身份证号等等的实例不允许出现。
- 原子性问题:数据的操作要么做完,要么不做,原子的——要么全部发生要么根本不发生。
- 并发访问异常;
- 安全性问题;
DBS的一个主要目的就是给用户提供数据的抽象视图,系统可以隐藏关于数据的储存和维护的某些细节。
数据库结构的基础是数据模型:一个用于描述数据、数据之间联系、数据语义和数据约束的工具的集合。可被划分为四类:
- 关系模型:当前大多数数据库系统所使用的的模型。关系模型用表的集合来表示数据和数据间的关系,每个表有列,每列有唯一的列名。每个表包含特定的数据类型的记录,每个数据类型定义了列所储存数据的字段长度,数据类型及属性。
- 实体-联系模型:E-R模型,广泛用于数据库设计,通过E-R图对于实体的抽象化后,建立相对应的关系模型为数据库设计常用手段。
- 基于对象的数据模型;面向对象设计的软件开发方法,可看作E-R模型增加了封装、函数和对象标记后的拓展。
- 半结构化数据模型;允许相同类型的数据项含有不同的属性集的数据定义。
数据库语言:
DML(数据操作语言),过程化的DML:需要用户指明获取什么样的数据,且指明获取的方式,相对的有非过程化的DML:由数据库系统选择获取的方式。
DDL(数据定义语言),说明数据库模式,和数据的其他特性的语言,一般用于数据库建立。
数据库系统模块:
存储管理器:负责底层数据与应用程序以及向系统提交的查询之间提供接口;
部件包括:权限及完整性管理器、事务管理器、文件管理器、缓冲区管理器。
数据结构:数据文件、数据字典、索引。
查询处理器模块:
组件包括:DDL解释器、DML解释器、查询执行引擎。
事务管理:负责保证不管是否有故障发生,数据库都要处于一致的(正确的)状态。还保证并发事务的执行互不冲突。
事务是数据库应用中完成单一逻辑功能的操作集合。每个事务都是一个具有原子性和一致性的单元。