由于计算机不能直接处理现实世界中的具体事物,因此必须将现实世界中的具体事物转换成计算机能够处理的对象。在数据库中采用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲,数据模型就是对现实世界具体事物的模拟。为了在计算机中描述现实世界的具体事物,需要通过两个阶段的两种模型来实现,如图1-2所示。首先用概念信息来描述具体事物,即概念数据模型;然后再将抽象的概念信息按照特定的结构转换并保存到数据库系统中,即组织数据模型。
通常,从数据结构、数据操作和数据约束条件3个方面来描述一个数据模型。
概念模型即用简单、清晰、用户易于理解的概念来描述现实世界中具体事物及事物之间的关系。它是现实世界到信息世界的抽象,是数据库设计人员进行数据库设计的工具,与具体的数据库管理系统无关。在应用中,通常采用实体–关系(Entity-Relationship,E-R)方法来表示概念模型。为了表示现实世界中事物及事物之间的关系,E-R图由下列3个要素组成。实体(Entity):客观存在的、可以区分的具体事物,例如学生、课程等。属性(Attribute):实体所具有的特性,即描述现实事物的本质特性,例如学生的学号、姓名、年龄等。联系(Relationship):实体内部及实体之间的关系,即现实世界中事物内部及事物之间的关系在概念模型中的表示。实体之间的联系有下列3种类型。1:1:1对1联系。例如,一个系只有一个系主任,而一个系主任只在某一个系任职。1:n:1对多联系。例如,一个学生只能属于某一个系,但一个系可以有多个学生。n:n:多对多联系。例如,一个学生可以选多门课程,而一门课程可以被多个学生选。如图1-3所示是一个反映学生、课程、班级信息的简单的E-R图。
组织数据模型从数据组织方式的角度来描述信息,它决定了数据在数据库中的组织结构。根据数据库中存储数据的逻辑结构的不同,组织数据模型分成4种:层次模型、网状模型、关系模型和面向对象模型。根据采用的组织数据模型的不同,数据库系统相应分为层次数据库系统、网状数据库系统、关系数据库系统和面向对象数据库系统4种。在20世纪70年代至80年代初,层次数据库和网状数据库占据主导地位。随着80年代初以Oracle为代表的关系数据库产品的发展和成熟,关系数据库逐渐取代了层次数据库和网状数据库,主导了当前的数据库市场。今天,面向对象技术的发展也促进了面向对象数据库的发展。