DBMS

数据库管理系统DBMS 的结构主要由两方面构成,相互关联的数据的集合 Collection of interrelated data + 用户管理处理这些数据的软件 Set of programs to access the data

Application

DBMS的应用列举:

  • 企业信息 存储客户,产品,购买信息等
  • 银行 存储客户账户,存款,交易信息等
  • 学校 存储学生,课程,成绩信息等
  • Purpose

    使用DBMS管理这些数据的目的

    在DBMS之前

    在DBMS出现之前,信息被存储到计算机的文件系统中,计算机中有响应的应用程序去对这些文件进行操作,增加新的信息,删除不需要的信息,对存储的数据进行计算等等。每当需要记录一类新的信息,那么就需要建立一个新的永久性文件,并编写新的应用程序去处理这一新类信息,随着时间的推移越来越多的文件和程序会被加入。使用文件系统来管理数据的弊端也开始显现:

  • 数据的冗余和不一致 data redundancy and inconsistentcy ,数据文件与程序可能是由不同程序员在不同时刻编写记录的,相同的数据可能会被存储多次,程序也有可能是由不同的语言编写而成,这些冗余redundancy不仅会造成数据存储与访问的开销大,还会造成数据的不一致data inconsistency,即同一数据的不同副本不一致
  • 数据访问困难 difficulty in accessing data ,原始系统处理编写应用程序的功能有限,无法预知所有可能的需求,若某时需要一些具体相关联的信息却没有去获取它的应用程序,则只有两个解决办法,一是获取所有信息然后手工提取,二时让程序员重新编写一个应用程序去获取这些信息。但是需求是永远在变化的因此需要一种通用快速的数据检索办法
  • 数据孤立 data isolation ,数据分散在不同的文件中,格式也可能不相同
  • 完整性 integrity ,使用文件系统无法体现良好动态的约束,一组数据有可能出现完整性问题
  • 原子性 atomicity ,原子性操作即一个操作的多个步骤,要么全部正确执行要么都不执行,文件系统难以体现
  • 并发访问异常 concurrent-access anomaly ,多个用户同时操作文件更新数据曹成问题
  • 安全性 security ,用户访问数据的权限在文件系统中难以控制
  • Levels of Abstraction 层级抽象