数据库(Database)简单地说就是按照数据结构来组织、存储和管理数据的仓库,数据库理论研究的是如何实现对库中数据的有效管理。通常来说,数据库中数据的类型可以包括文本、数字、图形、图像、音频、视频等。数据库是对现实世界的建模,将现实世界中的业务逻辑抽象为数据结构和关系,把人、物、景等各种实体,以及对思维、逻辑、经验等的抽象,加上各种行为和规律等映射到计算机中,作为数值运算、逻辑推理、信息处理等工作的基础。
数据库管理系统是在数据库理论指导下设计开发的一套存储和管理各种结构化和非结构化数据的计算机软件,是计算机系统中最重要的组件之一,被广泛用于各种应用程序和业务领域。以大数据、云计算、物联网、人工智能等为代表的信息技术深度融入人们日常的工作和生活,使得数据库管理系统成为各行各业不可或缺的工具软件。
数据库系统是以数据库管理系统为核心,为方便用户对数据进行使用而构建的一套管理信息系统,如12306火车票售票系统、高校教务管理系统、淘宝等购物网站、企事业单位内部的办公系统、语言学研究中用到的语料库等。
数据库是一个由数据集成的大型集合,主要由实体(Entity)和关系(Relationship)构成,它们被存储在计算机系统中,以便进行管理、处理和访问。存储在计算机中的数据可以有各种不同的组织方式,如组成若干个表格或者集合,每个表格或集合包含一组相似的数据。
1.数据库的相关概念
(1)数据 数据是指可以被计算机处理和存储的信息。数据可以是数字、字符、图像、音频等各种类型的信息。数据库中的数据是有意义的信息,可以被组织、管理和检索。
(2)集合 集合是数据库中存储数据的基本单元,最常用的存储方式是数据表。数据表由行和列组成,行表示记录,列表示字段。表格中的每个单元格包含一个值,该值对应于表格中的一个字段和一条记录。
(3)字段 一个字段中的数据必须具有相同的类型,常用的类型包括数字、字符、日期、时间、布尔值等。每个字段都有一个名称,用于唯一标识该字段。
(4)记录 每条记录包含一组字段值。在一个集合中,记录的数量可以是零个或多个。
(5)主键 主键是一条记录的唯一标识符,用于区分集合中不同的记录。主键可以是一个或多个字段的组合,主键的值不能重复。
2.数据库的类型
在数据库发展早期,面向不同应用需求,诞生了多种数据组织和存储方式。
(1)层次型数据库 层次型数据库(Hierarchical Database)是最早的数据库类型之一,它的数据结构类似于树形结构,数据之间存在一对多的层次关系。每个节点可以包含多个子节点,但只能有一个父节点。层次型数据库常用于管理复杂的工程和科学数据。
(2)网状型数据库 网状型数据库(Network Database)是在层次型数据库的基础上发展起来的一种数据库类型。网状型数据库的数据结构类似于网状结构,数据之间存在多对多的关系。每个记录可以有多个父记录和多个子记录。网状型数据库常用于处理复杂的关联数据。
(3)关系型数据库 关系型数据库(Relational Database)是指采用关系模型来组织数据的数据库,是目前应用最广泛的一种数据库类型,它的数据结构由多个表格组成,表格之间可以建立关系。关系型数据库可以使用SQL语句进行查询、插入、更新、删除等操作,支持事务处理和索引等高级功能。常见的关系型数据库有MySQL、Oracle、SQL Server、Access等。
(4)面向对象数据库 面向对象数据库(Object-oriented Database)是一种新型的数据库类型,它的数据结构类似于面向对象程序设计中的对象和类。面向对象数据库将数据存储在对象中,对象之间可以建立关系和继承关系,支持多态和封装等面向对象的特性。面向对象数据库常用于存储复杂的对象数据和多媒体数据。
(5)分布式数据库 分布式数据库系统是在集中式数据库系统的基础上发展起来的,是计算机技术和网络技术结合的产物。
分布式数据库在逻辑上是一个统一的整体,在物理上则将数据分别存储在不同的物理节点上。它的分布性表现在数据库中的数据不是存储在同一计算机的存储设备上。
从用户的角度看,分布式数据库系统在逻辑上和集中式数据库系统一样,就好像那些数据存储在同一台计算机上,用户可以在任何一个场景执行全局应用。
数据库管理系统(DataBase Management System,DBMS)是一种操纵和管理数据库的大型软件,一方面它需要具备对数据进行分类、组织、编码、存储、检索和维护的能力,同时也要具备建立、使用和维护数据库,以及对数据库进行统一管理和控制的能力。
DBMS是一个能够提供数据录入、修改、查询、删除的数据操作软件,具有数据定义、数据操作、数据存储与管理、数据维护、通信等功能,且能够允许多用户使用。
(1)数据定义 DBMS提供数据定义语言(Data Definition Language,DDL),供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。DDL主要用于建立、修改数据库的库结构。DDL所描述的库结构仅仅给出了数据库的框架,数据库的框架信息存放在数据字典(Data Dictionary)中。
(2)数据操作 DBMS提供数据操作语言(Data Manipulation Language,DML),供用户实现对数据的追加、删除、更新、查询等操作。
(3)数据库的运行管理 数据库的运行管理功能指DBMS的运行控制、管理功能,包括多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日志的组织管理、事务的管理和自动恢复等。这些功能保证了数据库系统的正常运行。
(4)数据组织、存储与管理 DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等,需确定以何种文件结构和存取方式在存储级上组织这些数据,以及如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法提高存取效率。
(5)数据库的保护 数据库中的数据是信息社会的战略资源,所以对数据的保护至关重要。DBMS对数据库的保护通过4个方面来实现:数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库的安全性控制。DBMS的其他保护功能还有系统缓冲区的管理和数据存储的某些自适应调节机制等。
(6)数据库的维护 这一部分包括数据库的数据载入、转换、转储,数据库的重组和重构以及性能监控等功能,这些功能分别由各个使用程序来完成。
(7)通信 DBMS具有与操作系统的联机处理、分时系统及远程作业输入相关的接口,负责处理数据的传送。网络环境下的数据库系统还应包括DBMS与网络中其他软件系统的通信功能以及数据库之间的互操作功能。
在数据的存储和使用过程中,用户对数据的完整性、一致性、准确性、易用性、隐私性、时效性、安全性等方面都有严格的要求,因此不仅要求DBMS产品能够帮助用户有效地存储和管理数据,还需要为用户提供数据访问、事务处理、查询优化、并发访问等全方面的支持。
开发一款实用性和通用性强、能够被大多数用户接受的DBMS产品是一个巨大的挑战,需要在数据库类型、存储结构、操作管理、安全维护等方面进行全面的分析与设计。因此,纵观数据库管理系统的发展历史,获得成功的商业化DBMS产品屈指可数,主要包括甲骨文公司的Oracle和MySQL、IBM公司的DB2、微软公司的SQL Server、Access,以及国产的金仓、达梦等。
数据库应用系统(DBAS)是在数据库管理系统支持下建立的计算机应用系统,一般由数据库(DB)、数据库管理系统(DBMS)、应用系统(AS)、数据库管理员(DBA)和用户(End User)构成。数据库应用系统的体系结构如图1-1所示。
图1-1 数据库应用系统的体系结构
随着信息技术深度融入普通人的生活,DBAS已经成为人们日常生活中不可或缺的一部分。例如,以数据库为基础的售票系统、网购平台、手机银行、财务管理系统、人事管理系统、图书管理系统等,无论是面向单位内部业务和管理的管理信息系统,还是面向外部提供信息服务的开放式信息系统,从实现技术的角度而言,都是以数据库为基础和核心的DBAS。
从系统开发的角度来看,数据库应用系统具有结构和行为两个方面的特性。
1.结构特性
结构特性与数据库状态有关,即与数据模型所反映的实体及实体间的联系的静态特性有关。结构设计就是设计各级数据库模式。决定数据库系统的信息内容由数据库设计来实现。
2.行为特性
行为特性与数据库状态转换有关,即改变实体及其特性的操作。它决定数据库系统的功能,是事物处理等应用程序的设计。
根据系统的结构和行为两方面的特性,系统设计开发分为两个部分,一部分是作为数据库应用系统核心和基石的数据库设计,另一部分是相应的数据库应用软件的设计开发。这两部分是紧密相关、相辅相成的,共同组成了统一的数据库工程。