现如今,数据库已经是人们生活中密不可分的一部分,只是对于大部分人来说,数据库隐藏在背后不被人所察觉。当我们在网上购物时,其实就是在访问数据库。当使用信用卡购买商品时,后面也需要与一个数据库相连来检查是否有足够的信用额度。进行投保时,无论投保什么险种,寿险、重疾险、车险等等,都需要连接一个数据库,根据您提供的个人详细信息计算出保险金额。可以说,数据库已经无处不在。
数据库对于当今的任何一个组织来说都是至关重要的。那什么是数据库?本质上讲,数据库就是信息的集合。“数据库”这个词通常指的是由数据库管理系统(DBMS)管理的数据的集合。数据库管理系统满足②:
l 允许用户使用专门的数据定义语言来创建新的数据库并指定其模式(数据的逻辑结构)。
l 给予用户使用适当的语言来查询数据和修改数据的能力,这种语言通常称为查询语言(Query Language)或者数据操纵语言(Data-Manipulation Language, DML)。
l 支持非常大量的数据进行长期的存储,并且允许高效地查询数据和进行数据修改。
l 使数据具有持久性(Durability),即能够从故障、多种类型的错误或者故意滥用中进行恢复。
l 允许多个用户同时对数据进行访问,并且保证不同用户间的操作不会相互影响(即隔离性,Isolation),同时还保证不会发生数据不完整的情况(即原子性,Atomicity)。
l 还要提供保证数据一致性(Consistency)的能力(例如,在一个事务完成后,账户余额不能是负数)。原子性(A)、一致性(C)、隔离性(I)、持久性(D)即构成了事务处理中的“ACID准则”。
数据库管理系统经历了文件数据库、网状数据库、层次数据库以及当前广泛使用的关系数据库(RDBMS)。
1970年,IBM的研究员E. F. Codd在刊物《Communication of the ACM》上发表了一篇名为《A Relational Model of Data for Large Shared Data Banks》的论文,提出了关系模型的概念,奠定了关系模型的理论基础。Codd认为数据库系统应该将组织成叫做“关系”的表的数据呈现给用户。而在其后,应该有一个复杂的数据结构,允许对各式各样的查询进行快速响应。与早期数据库系统不同的是,使用关系数据库不需要关心存储结构,查询可以使用很高级的语言(即后来的SQL)来表达,这样可以极大地提高开发效率。到1990年,关系数据库已经成为标准。然而数据库领域一直在发展,而且数据管理新的问题和方法也不断出现,数据库领域仍然是一片待发展的广阔天地。