数据库
数据库(英语:database),简而言之可视为数码化的文件柜——存储电子文件的处所,用户可以对文件中的资料执行新增、截取、更新、删除等操作[1]。
“database”的各地常用译名 | |
---|---|
中国大陆 | 数据库 |
台湾 | 资料库 |
港澳 | 数据库、资料库 |
所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程式彼此独立的数据集合。一个数据库由多个表空间(Tablespace)构成。
技术初衷
编辑在操作系统出现之后,随着电脑应用范围的扩大、需要处理的数据迅速膨胀。最初,数据与程序一样,以简单的文件作为主要存储形式。以这种方式组织的数据在逻辑上更简单,但可扩展性差,访问这种数据的程序需要了解数据的具体组织格式。当系统数据量大或者用户访问量大时,应用程式还需要解决数据的完整性、一致性以及安全性等一系列的问题。因此,必须开发出一种系统软件,它应该能够像操作系统屏蔽了硬件访问复杂性那样,屏蔽数据访问的复杂性。由此产生了数据管理系统,即数据库。[2]
数据库管理系统
编辑数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML;或依据所支持的电脑类型来作分类,例如伺服器聚类、行动电话;或依据所用查询语言来作分类,例如SQL、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高执行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
数据库的分类
编辑随着数据库技术与其他分支学科技术的结合,出现了多种新型数据库,例如:与分布处理技术结合产生的分布式数据库、与并行处理技术结合产生的并行数据库、与人工智慧结合产生的演绎数据库、与多媒体技术结合产生的多媒体数据库。另外,数据库技术应用于特定的领域,出现了工程数据库、 地理数据库、统计数据库、空间数据库等特定领域数据库。[2]
关系数据库
编辑- MySQL
- PostgreSQL
- Microsoft Access
- Microsoft SQL Server
- Google Fusion Tables
- FileMaker
- Oracle数据库
- Sybase
- dBASE
- Clipper
- FoxPro
- foshub
几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程式,令各个数据库之间得以互相集成。
- Apache Cassandra(为Facebook所使用[7]):高度可扩展[8]
- Dynamo
- LevelDB(Google)
数据库技术的发展
编辑随着互联网的普及,数据库使用环境也随之发生变化,这种变化主要体现为XML和Java技术的大量使用、要求支持各种互联网环境下的应用伺服器、极容易出现大量用户同时访问数据库、要求支持7x24小时不间断运行和高安全性等。[2]
为解决由于这些变化所带来的新问题,数据库管理系统也逐渐产生变化,包括:
- 网络化的大型通用数据库管理系统的出现
由于互联网应用的用户数量无法预测,这就要求数据库相比以前拥有能处理更大量的数据以及为更多的用户提供服务的能力,即更好的可伸缩性及高可用性,因此,能够支持Internet的数据库应用已经成为数据库系统的重要方面,学术界及各主流数据库公司都将大型通用数据管理系统作为主要发展方向。例如Oracle公司从 8 版起全面支持互联网应用,微软公司更是将 SQL Server 作为 其整个 .NET计划中的一个重要的成分。[2]
- 数据库安全系统及技术的提升
由于数据库系统在现代电脑系统中的地位越来越趋于核心的地位,数据库系统的安全问题自然受到越来越多的关注。在目前各国所引用或制定的 一系列安全标准中,最重要的两个是由美国国防部制定的《可信电脑系统的评估标准》(简称TCSEC)和《可信电脑系统的评估标准关于可信数据库系统的解释》(简称 TDI)。目前,所有数据库的开发必须遵从相应的安全标准。[2]
- XML及Web数据管理技术的普及
随着越来越多的Web应用,如电子商务、数字图书馆、资讯服务等采用XML作为数据表现形式、越来越多网站采用XML作为资讯发布的语言,以XML格式数据为主的半结构化数据逐步成为网上数据交换和数据表示的标准。而XML具有如下的一些特征:面向显示、半结构化和无结构、不同形式的数据源,动态变化以及数据海量等。因此,支持这种结构松散、形式多样、动态变化的海量数据的存储、共享、管理、检索,成了数据库技术的大势所趋。[2]
Web数据管理是一个很松散的概念,大体上它是指在Web环境下对各种复杂资讯的有效组织与集成,进行方便而准确的资讯查询和发布。当前Web数据管理的研究开发方向主要包括:半结构化数据管理、Web数据查询、Web资讯集成、XML数据管理等。到目前为止,XML 与 Web 数据管理的研究工作中主要集中在如下的一些方面。[2]
- 半结构化数据
- Web数据查询
- XML相关标准
- XML数据管理
- 嵌入式移动数据库技术
随着移动通信技术的迅速发展和投入使用,加上移动智能电话、移动计算机的大量普及,国内外许多研究机构都展开了对移动数据库的研究,并获取了许多有价值的成果。移动数据库技术涉及数据库技术、分布式计算技术以及移动通信技术等多个学科领域,具有较高的学术起点。[2]
数据库模型
编辑架构 (Schema)
编辑数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。
- 内层:最接近实际存储体,亦即有关资料的实际存储方式。
- 外层:最接近用户,即有关个别用户观看资料的方式。
- 概念层:介于两者之间的间接层。[9]
数据库索引
编辑资料索引的观念由来已久,像是一本书前面几页都有目录,目录也算是索引的一种,只是它的分类较广,例如车牌、身份证字号、条码等,都是一个索引的号码,当我们看到号码时,可以从号码中看出其中的端倪,若是要找的人、车或物品,也只要提供相关的号码,即可迅速查到正确的人事物。
另外,索引跟字段有着相应的关系,索引即是由字段而来,其中字段有所谓的关键字段(Key Field),该字段具有唯一性,即其值不可重复,且不可为"空值(null)"。例如:在合并资料时,索引便是扮演欲附加字段资料之指向性用途的角色。故此索引为不可重复性且不可为空。
数据库事务
编辑事务(transaction)包含一组数据库操作的逻辑工作单元,在事务中包含的数据库操作是不可分割的整体,这些操作要么一起做,要么一起回滚(Roll Back)到执行前的状态。 事务的ACID特性:
- 原子性(atomicity)
- 一致性(consistency)
- 隔离性(isolation)
- 持续性(durability)
事务的并发性是指多个事务的并行操作轮流交叉运行,事务的并发可能会存取和存储不正确的数据,破坏交易的隔离性和数据库的一致性。
网状数据模型的数据结构
编辑网状模型
编辑满足下面两个条件的基本层次联络的集合为网状模型。
- 允许一个以上的结点无双亲;
- 一个结点可以有多于一个的双亲。
参考文献
编辑- ^ 陈春旭、余明兴、李建全 译:《数据库系统概论》第四版,儒林图书有限公司,1986年7月,第3页
- ^ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 任群, 著. 《计算机软件技术及教学模式研究》. 天津科学技术出版社. 2017年: 第19页. ISBN 9787557628413.
- ^ mariadb. [2013-01-07]. (原始内容存档于2013-01-03).
- ^ Wikipedia moving from MySQL to MariaDB. [2013-01-07]. (原始内容存档于2014-11-24).
- ^ 存档副本. [2014-04-26]. (原始内容存档于2014-04-26).
- ^ 存档副本. [2013-08-13]. (原始内容存档于2013-08-24).
- ^ 存档副本. [2013-01-07]. (原始内容存档于2013-01-25).
- ^ 存档副本. [2014-04-26]. (原始内容存档于2011-02-21).
- ^ 陈春旭、余明兴、李建全译,《数据库系统概论》第四版,儒林,1986年7月,第29页