開啟主選單

求真百科

變更

数据库

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