数据库管理系统

可运行数据库,与最终用户、其他应用程序和数据库本身交互以捕获和分析数据的计算机软件

数据库管理系统(英语:database management system,缩写:DBMS) 是一种针对对象数据库,为管理数据库而设计的大型电脑软件管理系统。具有代表性的数据管理系统有:OracleMicrosoft SQL ServerAccessMySQLPostgreSQL等。通常数据库管理师会使用数据库管理系统来建立数据库系统。

现代DBMS使用不同的数据库模型追踪实体、属性和关系。在个人电脑、大型计算机和主机上应用最广泛的数据库管理系统是关系型DBMS(relational DBMS)。在关系型数据库中,用二维表格表示数据库中的数据。这些表格称为关系[1]

描述

数据库管理系统是一套计算机程序,以控制数据库的分类数据访问。一套数据库包括:

  1. 模型语言,用以因应该数据库管理系统的数据模型,来定义各数据库的schema
    • 最常用的三大类分别为层次结构式网络式关系式的模型。一个数据库管理系统可提供一种、两种,甚至全部三种方式,也可能提供其他形式。最适合的模型要视乎个别应用程序、交易进行比率及查询经常使用的程度等。现时最常使用的则是SQL所支持,相似于关系式模型但又有些微违背的方式。很多数据库管理系统也支持ODBC,以支持程序编写员以标准方法访问该数据库管理系统。
  2. 优化的数据结构(字段纪录文件),以支持在永久存储设备(permanent data storage device,即比主存储器(volatile main memory)慢得多)上存储极大量的数据。
  3. 查询语言及撰写报表的程序,让用户可以交互方式查问数据库,进行数据分析及依用户的权限来更新数据。
    • 它必须控制数据的保安,以防止不获授权的用户观看甚至更新数据库的数据。用户可以提供有效的密码来访问整个数据库或其中一部分。譬如员工数据库包括所有员工资料的数据,但某组用户可能只被批准查看薪金相关的数据,其他的又可能只可以访问工作履历及病历数据。
    • 如果该数据库管理系统向用户提供可输入更新数据库甚至进行查询的交互途径,则此能力可以用来管理个人的数据库。可是,它不一定提供审核或其他在多用户环境中所需要的各种控制机制。这些机制可能要整套应用程序都为数据输入或更新而修改才能提供。
  4. 交易机制(最好可以保证ACID特性),在多用户同时访问之下仍维持数据完整性(data integrity),与及提供故障排除(fault tolerance)。
    • 数据库管理系统依靠不容许超过一名用户在同一时间更新同一项纪录来维持数据库的完整性。数据库管理系统可以用唯一索引限制来避免重复纪录。譬如不能有两位顾客有同一个顾客编号(主键)在数据库中存在。

结构

 

  1. 外部层(External Level)或称观点层(View Level):包括数个外部纲要(External Schema)或用户观点(User Views),每个外部纲要描述了特定族群有兴趣的部分数据库并对该族群隐藏剩下的部分,如同概念层,每个外部纲要一般使用表达性资料模型(Representational Data Model)实现。
  2. 概念层(Conceptual Level):包含了概念纲要(Conceptual Schema),概念纲要描述了整个用户社群的数据库结构,其隐藏了实际存储资料的结构并专注于描述实体(Entity)、资料类型(Data Type)、关系(Relationships)、用户操作(User Operations)以及限制(Constraints)。通常数据库系统被实现时,表达性资料模型也被用于描述概念纲要。
  3. 内部层(Internal Level):内有内部纲要(Internal Schema),内部纲要描述的是实际存储资料的结构,其使用实体资料模型(Physical Data Model)并详细描述数据库的资料存储(Data Storage)及访问路径(Access Path)。[2]

优点

一个好的DBMS应该具有的特点应包括:

  • 减少多余的资料存储(Controlling Redundancy)
  • 限制未授权的访问(Restricting Unauthorized Access)
  • 提供程序对象的持续保存(Providing Persistent Storage for Program Objects)
  • 为达有效查询的目的提供存储结构及搜索技术(Providing Storage Structure and Search Techniques for Efficient Query Processing)
  • 提供备份及撤销(Providing Backup and Recovery)
  • 提供多用户界面(Providing Multiple User Interfaces)
  • 表达资料间的复杂关系(Representing Complex Relationships among Data)
  • 强化完整限制(Enforcing Integrity Constraint)
  • 使用"规则"及"触发"以允许推断及动作(Permitting Inferencing and Actions Using Rules and Triggers)[3]

常见数据库管理系统

开放源代码数据库系统

商业数据库系统

参考文献

  1. ^ Kenneth C.Laudon and Jane P.Laudon,《Management Information Systems》, Pearson, 07 March 2011, Chapter6 Information systems Organizations and Strategy p.143
  2. ^ Elmasri, R., & Navathe, S. B. (2017). Fundamentals of database systems. Hoboken, NJ: Pearson.
  3. ^ Ramez Elmasri,Shamkant B. Navathe《Fundamentals of Database Systems》, Pearson, Chapter1 Databases and Database Users p.47

外部链接

参见