数据库

来自ITwiki,开放的信息技术大百科

数据库是指长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享

数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

目录

历史

“数据库”作为短语最早使用的是在1963年6月,System Development Corporation赞助举办了一个题为“开发计算机管理中心数据库”(“Development and Management of a Computer-centered Data Base”)的研讨会。数据库作为一个独立的单词大量出现在70年代初的欧洲,直到二十世纪末才被美国各大报纸使用。(数据银行Databank,一个类似的用法,早在1966年被华盛顿邮报所使用)

第一数据库管理系统开发于1960。这个领域的先锋是Charles Bachman。Bachman早日文件证明其目的是更有效地利用新型直接访问存储设备:在此之前,数据处理是基于穿孔卡片磁带,这系列的动作主要是加工活动。两大数据模型从那时起延续至今:CODASYL根据Bachman的思想开发的网络模型以及(显然独立)应用于North American Rockwell开发的一个系统中的等级模型,后来被IBM作为他们IMS产品的基础。 关系模型E. F. Codd于1970年提出。他批评当时的模型结构混乱了信息结构的摘要描述和物力访问机制的描述。而长期以来,关系模型依然只引起学术上的兴趣。同时CODASYL系统和IMS被视为实际的工程学解决方案,当时采取的关系模型更处于理论观点阶段,(正确的)主张软、硬件技术应及时跟进。首先的实现有伯克利大学Michael Stonebraker的Ingres和IBM的System R项目。这两者均是研究圆形,在1976年公开。第一商业产品 ,甲骨文DB2在1980年左右面市。第一个成功的微机数据库产品是运行于CP/M和PC-DOS/MS-DOS操作系统上的dBASE。 20世纪80年代,研究活动的重点在分布式数据库系统和数据库机,但这些进展对市场几乎没有影响。另一个重要的理论思想是功能型数据模型,但在除了专业应用如遗传、分子生物学、欺诈调查等方面,在全球几乎没有引起注意。

在90年代,重点转向面向对象数据库。在需要处理比关系数据库处理更加复杂的数据的领域去了了一些成功,如空间数据库、数据工程(包括软件工程库)、多媒体数据。一些思想被关系数据库的供应商所接纳,整合成为产品中的新功能。

在2000年代,创新的流行的区域是XML数据库。同关系数据库一道,产生了许多新的创业板公司,但同时重要思想也被纳入已有的关系数据库产品中。XML数据库的目标是消除传统数据库分中文件和资料的分离,允许一个组织的信息资源在同样的地方进行存储,而不必在意他们是否是高度系统化的资源。

数据库模型

数据库存在多种模型。而应用于大型数据储存的数据库一般为网状数据库 (Network Database)、关系数据库 (Relational Database) 以及面向对象型数据库 。此外也有应用在LDAP(轻量级数据访问协议)的树状数据库 (Hierarchical Database)。

表格数据库一般在形式上是一个二维数组。一般来讲,数组中每列表示一个数据类型。数据在其中以不同行的形式存储。表格数据库模型是电子表格(比如Excel)的基础。

数据库管理

数据库管理(Database Administration)是有关建立存储修改存取数据库中信息的技术,是指为保证数据库系统的正常运行和服务质量,有关人员须进行的技术管理工作。负责这些技术管理工作的个人或集体称为数据库管理员(DBA)。数据库管理的主要内容有:数据库的建立、数据库的调整、数据库的重组、数据库的重构、数据库的安全控制、数据的完整性控制、数据库的备份与恢复、数据库的优化和对用户提供技术支持。

数据库的建立

数据库的设计只是提供了数据的类型、逻辑结构、联系、约束和存储结构等有关数据的描述。这些描述称为数据模式。要建立可运行的数据库,还需进行下列工作:

选定数据库的各种参数,例如最大的数据存储空间、缓冲决的数量、并发度等。这些参数可以由用户设置,也可以由系统按默认值设置。

定义数据库,利用数据库管理系统(DBMS)所提供的数据定义语言和命令,定义数据库名数据模式索引等。

准备和装入数据,定义数据库仅仅建立了数据库的框架,要建成数据库还必须装入大量的数据,这是一项浩繁的工作。在数据的准备和录入过程中,必须在技术和制度上采取措施,保证装入数据的正确性。计算机系统中原已积累的数据,要充分利用,尽可能转换成数据库的数据。


常见数据库管理系统


数据库管理系统(DBMS)中的主题

概念
数据库 | 数据库模型 | 关系数据库 | 关系模型 | 关系代数 | 主码 - 外码 - 代理码 - 超码
规范化 | 参照完整性 | 关系型DBMS | 分布式DBMS | ACID

对象
触发器 | 视图 | | 游标 | 事务日志 | 事务 | 索引 | 存储过程 | 分区

SQL中的主题
Select | Insert | Update | Merge | Delete | Join | Union | Create | Drop
语义比较

数据库管理系统实现

实现类型
Flat file | Deductive | Dimensional | 树状 | 面向对象 | 时态

产品
db4o | dBASE | Oracle | Caché | OpenLink Virtuoso | Sybase | Ingres | MySQL | SQLite | Microsoft SQL Server | Essbase | PostgreSQL | DB2 | Informix | Helix database | Teradata | 比较 - 关系型 | 比较 - 对象-关系型

组件
查询语言 | 查询优化 | 查询方法 | ODBC | JDBC
列表
面向对象数据库管理系统列表
关系数据库管理系统列表
全关系数据库管理系统列表