一、数据库基础
数据库是按照一定方式组织、存贮、检索和维护的数据集合。它具有如下特点:
(1)数据的独立性(Data Independence)。设计数据库时,首先要求保证数据的独立性,即数据的存贮结构和存取方法独立于它的应用程序。数据的逻辑结构或存贮结构发生变化后,不影响用户的应用程序。
(2)减少数据的冗余度。即减少重复存贮的数据,提高共享程度,压缩存贮空间。

图8.2 信息系统硬件配置
(3)对用户友好的界面。用户可以使用高级语言或非过程化的查询语言操作数据库,具有良好的批处理性能,以及联机系统快速响应的操作环境。
(4)数据库系统的可靠性、安全性和完整性。数据库系统的可靠性是当数据库发生各种故障后,数据库管理系统可以自动封闭故障区域,并且可以快速地恢复到可用状态。数据库发生的故障不致使整个系统瘫痪。安全性是指数据库系统对数据各种方式的保护。通过数据密码、口令、数据存取级别等手段,控制用户数据库访问特权,防止数据的泄露或破坏。完整性是指始终保持数据库数据的正确性,尽量排除用户操作产生的数据错误以及数据的不一致。
(5)具有良好的数据库系统支持工具。数据库的后备、恢复、转贮、重组等操作,是数据库管理的重要方面。提供数据库员有效地管理工具是十分必要的。
(6)数据库在结构上应该是容易修改和扩充的。修改和扩充之后,不应影响原有用户的使用方式。
(7)数据库应能充分描述数据间的逻辑关系。与一般数据文件不同,数据库中各记录之间的关系是清晰的。数据库设计时,既要定义记录的结构,也要定义记录间的从属关系。
对数据库中数据的逻辑关系进行描述的方法,称为数据库的数据模型。按照数据间关系描述的不同方法,数据库常用的数据模型有层次模型、网状模型和关系模型。
①关系模型(Relational Model)将数学的关系代数的概念应用于数据库。关系数据库是二维表的集合,它由行和列构成,其中列是具有同一属性的数据的集合,行是数据插入和删除的单位。属性(Field)是数据更新的最小单位。
关系代数是关系数据库操作的基础,对数据的操作是由影射(Projection)、制约(Restriction)和结合(Join)3种关系代数运算实现的。
影射:由某一表中取出所需列生成新表的运算。
制约:应当并且仅当由表中取出的行满足特定条件时,生成新表的运算。
结合:两个表共同的属性进行顺序比较,满足条件的两个表中的各行相结合,从而生成一个新表。
②网状模型(Network Model)是CODASYL发展的一种数据模型,用于设计网状数据库。DBTG(Data Base Task Group)对它进行了详细地描述。网状模型是以记录类型为结点的网状结构。其特点是:
a.一个子记录可以有两个以上的父记录。
b.两个记录之间,可以有两种以上的联系,记录类型和记录类型之间的从属关系都要分别定义。
CODASYL网状模型由3层模式构成,即模式、子模式和存贮模式。通过对3层模式的定义设计网状数据库。数据库记录的联接是以环状联接方式,或表状联接方式实现的。每种联接方式提供NEXT、PRIOR、OWNER 3种链接指针,从而实现了由头至尾、由尾至头和由下至上的检索方式。
③层次模型是一种层次联系的集合,是以记录类型为结点的有序树(tree)或者森林(forest)。它的主要特点是除根结点之外,任何结点只有一个父亲。一个父记录对应于多个子记录,而一个子记录只对应于一个父记录。