层次模型、网状模型和关系模型是三种重要的数据模型。这三种模型是按其数据结构而命名的。前两种采用格式化的结构。在这类结构中实体用记录型表示,而记录型抽象为图的顶点。记录型之间的联系抽象为顶点间的连接弧。整个数据结构与图相对应。对应于树形图的数据模型为层次模型;对应于网状图的数据模型为网状模型。关系模型为非格式化的结构,用单一的二维表的结构表示实体及实体之间的联系。满足一定条件的二维表,称为一个关系(见关系数据库)。
格式化模型可以描述复杂的数据结构,用存取路径实现数据间的联系。从60年代后期以来,在各种计算机系统上建立了许多层次模型和网状模型的数据库管理系统。这些系统成功地应用于数据处理。但这类系统具有以下缺点。首先是使用了许多与数据操作任务无关的概念,如DBTG系统中的系,用户必须按照存取路径存取数据库中的数据。其次,不支持集合处理,即未提供一次处理多个记录的功能。第三,没有充分认识端点用户直接与数据库对话的需求,缺乏为适应非预期查询而增加系统设施的能力。这些缺点降低了程序和数据的独立性,影响应用程序员的工作效率,限制端点用户对数据库的使用。
关系模型严格符合现代数据模型的定义。数据结构简单清晰。存取路径完全向用户隐蔽,使程序和数据具有高度的独立性。关系模型的数据语言非过程化程度较高,用户性能好,具有集合处理能力,并有定义、操纵、控制一体化的优点。关系模型中,结构、操作和完整性规则三部分联系紧密。关系数据库系统为提高程序员的生产率,以及端点用户直接使用数据库提供了一个现实基础。
关系模型研究的一个课题,是扩展关系模型和把数据模型形式化。1981年提出可把数据模型看成是抽象的程序设计语言。数据库是变量,数据库模式是变量的类型。数据库状态是某类变量所取的值。数据定义语言给出说明数据库变量的语法,数据操纵语言是数据模型中操作类型的具体实现,而数据库管理系统是某个数据定义语言和数据操纵语言的具体实现。这样,就可以用程序设计语言的形式概念和方法来研究数据模型。