1.1 网状数据库和层次数据库
网状数据库是数据库历史上的第一代产品,它成功地将数据从应用程序中独立出来并进行集中管理。网状数据库基于网状数据模型建立数据之间的联系,能反映现实世界中信息的关联,是许多空间对象的自然表达形式。
1964年,世界上第一个数据库系统——IDS(Integrated Data Storage,集成数据存储)诞生于通用电气公司。IDS是网状数据库,奠定了数据库发展的基础,在当时得到了广泛的应用。5年后,美国数据库系统语言协会(Conference on Data Systems Languages,CODASYL)下属的数据库任务组(Database Task Group,DBTG)发布了一份报告,阐述了网状数据库系统的许多概念、方法和技术,成了网状数据库的代表。在20世纪70年代与80年代初,网状数据库系统十分流行,在数据库系统产品中占据主导地位。例如,配备在富士通公司M系列机上的AIM(Advanced Information Manager)系统和配备在UNIVAC(UNIVersal Automatic Computer)上的DMS1100系统都是网状数据库系统。
紧随网状数据库后出现的是层次数据库,其数据模型是层次数据模型,即使用树结构来描述实体及其之间关系的数据模型。在这种结构中,每一个记录类型都用节点表示,记录类型之间的联系则用节点之间的有向线段来表示。每一个子节点只能有一个父节点,但是每一个父节点可以有多个子节点。这种结构决定了采用层次数据模型作为数据组织方式的层次数据库系统只能处理一对多的实体联系。1968年,世界上第一个层次数据库系统——IMS(Information Management System,信息管理系统)诞生于IBM公司,这也是世界上第一个大型商用的数据库系统。
如上所述,网状数据库系统和层次数据库系统在数据库发展的早期比较流行。网状数据库模型对于层次和非层次结构的事物都能比较自然地模拟,相比层次数据库应用更广泛,在当时占据着主要地位。1973年,Charles W.Bachman获得图灵奖,以表彰他在数据库领域,尤其是在网状数据库管理系统方面的杰出贡献。但是,网状数据库也存在一些问题:首先,用户在复杂的网状结构中进行查询和定位操作比较困难;其次,网状数据的操作命令具有过程式的性质;最后,网状数据库对于层次结构的表达并不直接。