1.1.3 数据模型
数据库技术的发展是沿着数据模型的主线展开的。
模型,是对现实世界中某个对象特征的模拟和抽象。数据模型则是对现实世界数据特征的模拟和抽象。
在开发实施数据库应用系统中需要使用不同的数据模型:概念模型、逻辑模型和物理模型。根据模型应用的不同目的,这些模型可划分成两类:第一类是概念模型,第二类是逻辑模型和物理模型。
为了将现实世界中的具体事物进行抽象并组织存储到数据库中,通常先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。从现实世界到信息世界(也就是概念模型)的转换是由数据库设计人员完成的,从概念模型到逻辑模型的转换可以由数据库设计人员或数据库设计工具协助设计人员完成,从逻辑模型到物理模型的转换一般是由DBMS完成的。
1.概念模型
信息世界中的基本概念:
(1)实体
实体就是客观存在并且可以相互区别的事物。实体可以是具体的事物也可以是抽象的事物。例如:一个学校、一个学生、一场演讲比赛、图书馆中的学生借阅图书关系等都是实体。
(2)属性
属性就是实体所具有的特性。例如:图书可以用图书编号、书名、作者、出版社等属性来描述。
(3)码
码就是唯一标识实体的属性。例如:图书编号就是图书实体的码,学号是学生实体的码。
(4)域
域就是具有相同数据类型的值的集合。属性的取值范围来自某个域。例如:性别域为男、女。
(5)实体型
具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
(6)实体集
同一类型实体的集合称为实体集。
例如:学生(学生编号,姓名,性别,年龄,入校日期,团员否,住址)就是一个实体型。对于学生来说,全体学生就是一个实体集,(121032101,王慧敏,女,14,2012-09-01,Yes,天津市河东区)就代表一个具体的学生。
在Access中,数据对象“表”就是实体集,用来存放同一类实体。例如:学生表、教师表、课程表等。每个表中包含多个字段,字段就是实体的属性。表中包含多条记录,一条记录表示一个实体。
2.实体间的联系和分类
联系就是对应关系。在现实世界中,事物内部和事物之间都是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。
两个实体之间的联系种类可分为三种:一对一联系、一对多联系和多对多联系。
(1)一对一联系:对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A和实体集B具有一对一的联系,记为1:1。
例如,一个学校只有一个正校长,而一个校长只在一个学校中任职,则学校与校长之间是一对一联系。同理,一个班级只有一个班主任,而一个班主任只在一个班中任职,则班级和班主任之间具有一对一联系。
(2)一对多联系:对于实体集A中的每一个实体,实体集B中有n个实体(n大于等于0)与之联系,反之亦然,对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B有一对多的联系,记为1:n。
例如,一个班级中有多名学生,而每个学生只属于一个班级,则班级与学生之间具有一对多的联系。
(3)多对多联系:对于实体集A中的每一个实体,实体集B中有n(n大于等于0)个实体与之联系,反之亦然,对于实体集B中的每一个实体,实体集A中也有m个实体与之联系(m大于等于0),则称实体集A和实体集B有多对多的联系,记为m:n。
例如,一个学生可以选修多门课程,而一门课程同时可以有多名学生选修,则学生与课程之间具有多对多联系。
3.逻辑模型
逻辑模型是从数据的组织方式的角度来描述信息。在数据库技术的发展过程中用到的逻辑模型有四种:层次模型、网状模型、关系模型和面向对象模型。目前使用最普遍的是关系数据模型。关系数据模型技术从二十世纪七八十年代开始到现在已经发展得非常成熟,是目前最重要的一种数据模型。
4.物理模型
物理模型是对数据最底层的抽象,它描述了数据在系统内部的表示方式和存取方法,是面向计算机系统的。物理模型由DBMS实现,对一般用户来讲是透明的,不必考虑物理级的细节。