三、数据库系统的特点
与人工管理和文件系统相比,数据库系统管理数据具有显著的优点。
1.数据整体结构化
数据整体结构化是数据库系统与文件管理系统的根本区别。文件系统中,文件内部的数据是结构化的,但是文件和文件之间的数据没有联系。而数据库系统不仅要考虑数据表内的结构化,还要考虑数据表之间的联系。
例如,以文件系统管理医院的数据,存在管理病人、医生和诊疗总费用的三个文件。三个文件记录的属性组成见图1-4。
图1-4 病人、医生、诊疗总费用文件结构
病人、医生、诊疗总费用三个文件记录内部是结构化的,但是文件和文件之间却没有联系。而实际上三个文件是存在联系的,诊疗总费用CureFee文件中的病人ID必须是病人文件Patient中的某个病人ID,医生ID必须是医生文件Doctor中的某个医生ID。显然文件系统不能反映这种联系,只能通过应用程序才能体现出来。在数据库系统中,记录之间的这种联系可以通过完整性约束来实现,体现了整体数据的结构化。
数据库系统数据整体结构化的另一个表现是数据不仅仅针对某个部门级的应用,而是面向整个组织的多个应用。例如,一个医院的信息管理系统不仅要考虑门诊部的门诊管理,还要考虑住院部的住院管理、人事部的人事管理、财务部的财务管理、后勤部门的物资管理等。因此,医院信息管理系统中医生数据就要面向各个部门而不仅仅是门诊科室,如图1-5所示。
图1-5 医药信息管理系统中的医生数据
2.数据共享性高,冗余度低
数据库中的数据不是面向特定应用而是面向整个组织的,因此多个用户、多个应用可以访问同一数据,数据是高度共享的。数据共享可以大大减少数据的冗余程度,节约存储空间。数据共享还可以有效防止数据的不相容性和不一致性。
由于数据实现了整体结构化,因而可以面向整个组织,不仅可以被已有的多个应用共享,还可以增加新的应用,满足不同用户的多种需要,数据库系统具有良好的扩充性。
3.数据独立性高
数据独立性是指数据与应用程序之间的独立性,分为物理独立性和逻辑独立性。物理独立性是指应用程序与存储在磁盘上的数据是互相独立的。用户程序只需关注数据库名称、数据文件名称和文件中的属性名称等逻辑概念,而不用考虑数据的实际物理存储,不需关心实际数据究竟存储在磁盘的什么位置。即使数据存储发生了变换,也不用修改用户程序。
数据的逻辑独立性是指应用程序和数据库的逻辑结构是互相独立的,数据库的逻辑结构发生了变化,也不用修改应用程序。
4.数据由DBMS统一管理和控制
数据库需要一组软件工具进行数据的管理和控制,以实现数据安全性和一致性的基本要求。这样一组软件就是DBMS。
DBMS的功能随着系统的不同而略有差异,但一般都具有数据的安全性保护、数据的完整性检查、数据的并发控制和数据库故障恢复等功能。
数据库系统阶段数据与应用程序之间对应关系如图1-6所示。
综上所述,数据管理技术的发展经历了人工管理、文件系统管理和数据库系统管理三个阶段,数据管理三个阶段的特点比较如表1-2所示。
图1-6 数据库系统阶段数据与应用程序之间的对应关系
表1-2 数据管理三个阶段的特点比较