概叙
数据库技术是对数据进行管理的技术,能有科学地管理各类信息资源。数据、数据库、数据库管理系统和数据库系统是数据库常用的基本概念。
数据库基本概念
数据(Data)
数据有多种表现类型:
- 文本数据:数字、字母、特殊字母、文字等组成
- 多媒体数据:图像、图形、动画、影像、声音、语言等组成
各种类型的数据经过数字化处理后存入计算机,便于进一步加工、处理、使用
人们通常只抽取感兴趣的事物特征或属性来描述事物。例如,人们关注客户的姓名、性别、年龄、籍贯、所在地区、联系方式等特征,(张三,男,26,北京,上海,1383838444;)这些具体的特征值就构成一组数据,就是一条记录
如: 张三,男,26岁,北京人,住在上海,联系电话是1383838444;而不了解数据含义的人难以从北京、上海的地名上理解所表达的意思因此数据及关于该数据的解释密切相关,数据的解释是对数据的含义说明,也称数据的语义,即数据所蕴含的信息,没有语义的数据是没有意义和不完整的。
数据是信息存在的一直形式,只有通过解释或处理的数据才能成为有用的信息。
数据库(Database)
数据库管理系统(Database Management System,DBMS)
主要功能:
- 数据定义功能:通过系统提供的数据定义语言(Data Definition Language, DDL),定义数据库中的数据对象,包括表、视图、存储过程、触发器等
- 数据操纵功能:通过系统提供的数据操作语言(Data Manipulation Language, DML),对数据库增、删、改、查等
- 数据库运行管理功能:由于数据库具有共享性,为保证数据的安全性、可靠性,系统提供了统一的控制和管理机制,实现数据在不被相互干扰的情况下并发使用,并且发生故障时能对数据库进行正确的恢复
- 数据库建立和维护功能:主要包括创建数据库及对数据库空间的维护、数据库的备份与回复功能、数据库的重组织功能和性能监视、分析等,一般通过系统提供的一些实用工具实现。
- 数据组织、存储和管理功能:为提高数据的存取效率,系统需对数据进行分类存储和管理,根据具体组织和存储方式提供多种数据存取方法,如索引查找、顺序查找等
- 其他功能:主要于其他软件的网络通信、不同数据库管理系统之间的数据传输及相互访问功能等。
数据库系统(Database System, DBS)
指计算机中引入数据库技术之后的系统。通常一个完成的数据库系统包括 数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。
数据库管理员(Database Administrator, DBA)不同于普通数据库用户,他们专门负责对数据库进行维护,并保证数据库正常、高效运行
用户则是数据库系统的服务对象,通常包括程序员和数据库终端用户,程序员通过高级程序设计语言(JAVA,PHP等)和数据库语言(SQL)编写数据库应用程序。
一般不引起混淆,常将数据库系统简称数据库。
数据库管理技术的发展
数据库管理可从两方面理解:
- 针对组织业务管理:负责制定并执行整个组织中关于数据的定义、组织、保护与有效使用的策略、过程和计划
- 依靠技术:负责实现数据作为一种资源的集中控制管理
数据组织:以便于处理的某种方式收集数据,并将记录在纸介文件上的数据转换成计算机可处理的形式;然后将收集的数据进行适当的构造
数据组织分为两种:
- 逻辑组织:用户或应用程序所使用的数据结构形式
- 物理组织:数据在物理存储设备上的结构形式
检索:存储的数据能方便的被选择提取
数据处理:指对各种数据进行收集、存储、加工、和传播的一系列活动的总和
管理技术的发展阶段
人工管理阶段
20世纪50年代中期以前,计算机主要用于科学计算,所涉及的数据处理工作基本上都是靠手工方式进行
主要特点:
- 数据不会保存:由于计算机软件和硬件发展刚刚起步,存储容量有限且价格昂贵,通常一组数据对应一个程序,数据随程序一起输入计算机,处理完毕后即将出结果,数据空间随着程序空间一起被释放
- 应用程序管理数据:当时没有专门的数据管理软件,应用程序的数据由程序自行负责,因而数据的组织方式必须由程序员自己设计、定义和管理。所有包括逻辑结构、物理结构、存取方法等数据库设计工作都由应用程序的编写人员来完成,程序员的工作负担十分繁重
- 数据面向应用:一组数据对应一个程序,多个应用程序涉及某些相同的数据时必须各自定义,不能共享,因此程序与程序之前存在大量冗余数据,数据独立性差
文件系统阶段
20世纪50年代中期到60年代中期,计算机软、硬件发展到一定阶段。其中,硬件方面配置了磁盘、磁鼓等直接存储设备;软件则在操作系统中配备了专门的数据管理软件,即文件系统
文件系统是将数据的逻辑结构和物理结构分离,由“存放方法”实现逻辑结构与物理结构执行的映射。应用程序只涉及数据的逻辑结构,系统决定数据的物理结构,两者直接可以由差别,这样不会相互影响(数据的物理独立性),使得使用性提高,同时程序员不必关心数据的物理存储细节,生产效率大大提高
主要特点:
- 数据可长期保存和专门管理:磁盘、磁鼓等直接存储设备;软件则在操作系统中配备了专门的数据管理软件
- 物理数据独立性:应用程序与数据的具体物理存储结构分离
- 文件级数据共享:通过数据的抽取、排序、合并等为应用提供新的文件,不能实现数据项级的普通共享;文件的逻辑结构是根据它的应用而设计,数据的逻辑结构与应用程序之间相互依赖。不同应用程序必须构造各自的文件,数据项大部分相同时还是存在大量的数据冗余。
数据库系统阶段
数据库技术是应数据管理任务的需要而产生。20世纪60年代末以来,计算机技术与工业迅速发展,计算机开始广泛应用于企业管理,并对计算机数据管理提出更高的要求:
- 数据作为企业组织的公共资源而集中管理控制,能为企业各类用户共享,须大量地消除数据冗余,节省存储空间;
- 当数据变更时,能节省对多个数据副本的多次变更操作,从而缩小计算机运算时间,不会遗漏某些副本的变更而使系统出现不一致的数据
- 数据要具有更高的独立性,不但具有物理独立性,而且具有逻辑独立性,当数据逻辑结构改变时,不影响那些不须改变的用户应用程序,节省开发和维护的代价
数据库系统的特点
- 数据集成:数据库管理系统的主要目的就说数据集成。在数据库中,通过相关联数据间定义的逻辑联系,数据被组成统一的逻辑结构,与数据的物理组织与定位分离,应用的修改、增加只与数据的逻辑结构发生关系。
- 数据共享性高:在数据库中,一个数据可为多个不同用户共同使用,各个用户可以为了不同的目的来存取相同的数据,他们从各种不同的角度来看待数据库,即。这些用户视图简化了数据的共享,它们可以给每个用户提供执行其业务职能所要求的数据的准确视图,使用户无须知道数据库的全部复杂组成。
- 数据冗余小:将独立而又冗余的数据文件集成为单一的逻辑结构,每个数据项的值可以理想地只存储一次,从而节约空间,避免数据的重复存储。
- 数据一致性:通过消除或控制数据冗余,可在一定范围内避免数据的不一致性。
- 数据独立性高:数据定义与使用数据的应用程序分离,一方的修改不会影响另一方的修改。
数据库提供了两层数据独立:
- 逻辑独立:不同的应用程序对同样的数据可以使用不同的视图,即应用程序一定范围内修改它的数据库视图,而不修改数据本身的定义;而数据定义的修改,在一定范围内不会引起应用的修改
- 物理独立:改变数据的存储结构或存取方法以响应变化的需求而无需修改现有的应用程序
实施统一管理与控制:主要包括数据的安全性、完整性、并发控制与故障恢复等(数据库包含)
- 数据安全性(Security):指保护数据,防止非法使用造成数据泄密和破坏,每个用户只能按规定对某些数据以某些方式进行使用和处理,保证数据只有赋予权限的用户才能访问数据。
- 数据完整性(Integrity):对数据的正确性、有效性和相容性的校验,即控制数据在一定范围内有效或要求数据之前满足一定的关系,保证输入到数据库中的数据满足相应的约束条件,确保数据
- 并发控制(Concurrency):多个用户的并发进程同时存储、修改数据库时,可能发生相互干扰,而得到错误结果,使得数据库的完整性糟到破坏,因此对多用户的并发操作加以控制和协调。如用户网上订购火车票,系统必须确保不会由于多个用户同时购买相同的车票而造成冲突。
- 故障恢复:计算机产生的硬件故障、操作员的失误以及人为的破坏都会影响数据库中数据的正确性,DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态的功能。
减少应用程序开发与维护的工作量: