数据库系统概论小结
数据库技术是人类生活过程中对数据管理任务的需要而产生的。
计算机对数据的管理过程大致经过了三个主要阶段,一、人工管理阶段;二、文件管理阶段;三、数据库管理阶段。
随着计算机技术的飞速发展,软、硬件水平的不断提高,人类利用计算机管理数据的能力也越来越高。
同人工和文件管理阶段,数据库管理的主要特点是:数据结构化,数据共享性高、冗余度低且以扩充,数据独立性高,有完整的数据库管理系统控制数据的能力和提供数据安全性、完整性和并发控制的能力。
数据库,顾名思义,就是指存放数据的仓库。
严格的定义指,长期存储在计算机内、有组织、可共享的大量数据的集合。
有了数据库的概念之后,为了利用这种技术,人们提出了数据库管理系统的概念(DBMS),那么DBMS实际上是位于用户与操作系统之间的一层管理软件,其主要功能有:
1.数据定义功能
2.数据组织、存储和管理
3.数据操纵功能
4.数据库的事务管理和运行管理
5.数据库的建立和维护功能
6.其他功能
实时数据库首先是一个数据库管理系统,它应具有一般DBMS的基本功能:
1.永久数据管理,包括数据库的定义、存储和维护等;
2.有效的数据存取,包括各种数据库操作、查询处理、存取方法和完整性检查;
3.任务的调度与并发控制;
4.存取控制和安全性检查;
5.数据库恢复机制,增强数据库的可靠性。
关系型数据库具有开放性好、数据处理能力强等特点,在系统中它作为第三
方和用户二次开发的接口,以及内存数据库的转储介质而存在。
一般的,由数据库、数据库管理系统、应用系统、数据库管理员共同构成了一个完整的
数据库系统。
数据库技术是计算机领域发展最快的技术之一。
数据库技术的发展是沿着数据模型的主线展开的。
数据模型是用来描述数据、组织数据和对数据如何进行操作的一种模型,它是数据库系统的核心和基础。
数据模型具体的可以分为两类,一类是概念模型;另一类是逻辑模型。
概念模型也叫信息模型,是按用户的观点对现实世界的信息和数据进行抽象建模,将事物分为实体、属性和关系,主要用于数据库系统设计阶段,最典型的概念模型即ER图。
数据库中常用的逻辑模型有:层次模型、网状模型、关系模型、面向对象模型和对象关系模型。
层次模型和网状模型都属于格式化数据模型,属于第一代,目前市场上主流的数据库软件如SQL Server、Orical、MYSQL等都支持关系数据模型,因为关系数据模型有关系代数作为语言模型,有关系数据理论作为理论基础,使得关系数据库拥有数据结构单一、数据共享性高等特点。
那我们重点的就是学习关系数据库理论,包括关系操作和关系代数等。
常用的关系操作包括查询、插入、删除、修改;其中查询操作又可分为选择、投影、连接、并、交、差、补、笛卡尔积和除运算,这些运算都是建立在关系代数运算上进行的。
另外关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义完整性。
SQL(Structured Query Language),即结构化查询语言,是关系数据库的标准语言,是一种通用的、功能性极强的关系数据库语言。
SQL的功能大致分为四类:数据查询(SELECT)、数据定义(CREAT、DROP、ALTER)、数据操纵(INSERT、UPDATE、DELETE)和数据控制(GRANT、
REVOKE )。
SQL 语言不仅可以在数据库软件中使用,也可以嵌套在其他高级语言中使用。
因此,SQL 语句的熟练掌握是学习和使用数据库的基本条件,对同一操作的不同SQL 语句最终在计算机中执行的效率也不尽相同。
关系数据理论是数据库逻辑设计中的重要的理论依据,关系的规范化理论可以帮助系统解决插入、删除可能存在的问题。
关系模式中可能存在的问题主要有数据冗余太大、更新异常、插入异常和删除异常。
函数依赖和范式是规范化理论的核心概念。
范式是建立在函数依赖的基础上进行定义的。
属性间的依赖关系是关系模式存在问题的根源。
通常按属性间依赖情况来区分关系规范化的程度为第一范式、第二范式、第三范式和第四范式。
消除非主属性对码的部分依赖
消除非主属性对码的传递函数依赖
消除主属性对码的部分和传递依赖
消除非平凡且非函数依赖的多值依赖
关系模式的规范化过程主要通过对关系模式的分解来实现的。
模式分解的时候注意需要两个问题:无损连接性和保持函数依赖性。
数据库是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统。
数据库的设计目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。
高效率的运行环境包括:数据库数据的存取速率、数据存储空间的利用率、数据库系统运行管理的效率等都是高的。
“三分技术,七分管理,十二分基础数据”是数据库设计的特点之一。
基础数据的收集、入库是数据库建立初期工作量最大、最繁琐、最细致的工作。
在以后的数据库过程中更需要不断地把新的数据加到数据库中,是消除决定因素非码的
非平凡函数依赖
1NF 2NF 3NF BCNF 4NF
数据库称为一个“活库”,否则就成了“死库”。
而一旦成了死库,系统也就失去了应用价值,原来的投资也就失败了。
数据库设计应该和应用系统设计相结合。
也就是说,整个设计过程中要把数据库结构设计和对数据的处理设计密切结合起来。
传统的软件工程忽视对应用中数据语义的分析和抽象。
数据库设计的基本步骤为:
1.需求分析;——准确分析和了解用户需求
2.概念结构设计;——通过对用户需求综合、归纳与抽象,形成独立DBMS概念模型
即ER图。
3.逻辑结构设计;——将概念结构转换为某个DBMS支持的数据模型。
即ER图向关
系模型的转换。
4.物理结构设计;——为逻辑数据模型选取合适的物理存储结构,选择存取方法等。
5.数据库实施;——数据载入和应用程序编码调试。
6.数据库运行和维护。
在数据库操作中一个非常重要的概念是数据库恢复技术,是事务处理技术的一种。
事务是一系列的数据库操作,是数据库应用程序的基本逻辑单元。
数据库恢复机制和并发机制是数据库管理系统的重要组成部分。
所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有四个特性:原子性、一致性、隔离性和持续性。
恢复的基本原理:冗余。
建立冗余数据最常用的技术是数据转储和登录日志文件。
日志文件是用来记录事务对数据库的更新操作的文件。
日志的概念是非常重要的,比如一个SQL Server数据库就是由一个文件和一个日志构成的。
登记日志文件必须遵循两条原则,一是登记的次序要严格按并发事务执行的时间次序;二是必须先写日志文件,后写数据库。
事务处理的另一种技术是并发控制技术。
数据库是一个共享资源,可以供多个用户使用,尤其在多处理机系统中,当多个用户同时并发的存取同一数据时如果不加控制就可能会存取和存储不正确的数据,破坏事务的一致性和数据库的一致性。
并发控制主要是为了保证事务的隔离性和一致性。
封锁是实现并发控制的一个非常重要的技术。
可串行化的定义:多个事务的并发执行是正确的,当且仅当其结果与按一次序串行地执行这些事务时的结果相同,称这种调度策略为可串行化的调度。
可串行性是并发事务正确调度的准则。
按这个准则规定,一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度。
并发控制机制调度并发事务操作是否正确的判别准则是可串行性,两段锁协议是可串行化调度的充分条件,但不是必要条件。
因此,两段锁协议可以保证并发事务调度的正确
性。
除了以上章节的数据库基础篇之外,数据库的发展又有一些新的技术如分布式数据库系统、关系对象数据库系统及多媒体数据库等等。