一、概述
数据模型的含义
是对客观事物及其联系的数据描述,即对现实世界(存在于人脑之外的客观世界)的模拟。例:桌子、笔等
在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。
要将现实世界转变为机器能够识别的形式,必须经过两次抽象。
数据模型的种类:
概念数据模型
逻辑数据模型
物理数据模型
二、概念模型的设计
概念模型,它是按照用户的观点来对信息和数据建模,主要用于数据库设计,最常用的是实体联系模型。
1.相关概念:
(1)实体(Entity):客观存在并可以相互区别的事物。
例如:一个教师、一辆车、老师与学生的关系都是实体。
(2)属性(Attribute):实体所具有的特性称为实体的属性,一个实体由它的若干属性来体现。
例如:课程实体由课程编号、课程名称、课程类别等属性组成。
(3)码(Key):唯一确定实体的属性集称为码,例如:课程编号是课程实体的码。
(4)域(Domain):属性的取值范围称为该属性的域。
假若规定课程编号只能取四位整数,那么这就是课程编号的域,它的范围是1000到9999。
(5)实体集(Entity Set):具有相同属性和性质的实体的集合称为实体集。
例如:所有课程就是一个实体集。
(6)联系(Relationship):事物内部以及事物之间总是存在着某中联系,这些联系在概念模型中表现为实体内部的联系和实体之间的联系。
实体间的联系分为三类:
①一对一的联系(1:1)
如果对于实体集A中的每一个实体,在实体集B中至多有一个实体与它有关联,反之,亦成立,则实体集A与实体集B具有一对一的联系,用1:1表示。
例如:班长实体集与班级实体集是一对一的联系。
②一对多的联系(1:n)
如果对于实体集A中的每一个实体,在实体集B中可能有多个实体与它有关联,反之,如果对于实体集B中的每一个实体,在实体集A至多有一个实体与它有关联,则实体集A与实体集B具有一对多的联系,用1:n表示。
例如:班级实体集与学生实体集是一对多的联系。
③多对多的联系(m:n)
如果对于实体集A中的每一个实体,在实体集B中可能有多个实体与它有关联,反之,亦成立,则实体集A与实体集B具有一对多的联系,用m:n表示。
例如:教师实体集与课程实体集是多对多的联系。
2.概念模型
概念数据模型的含义
用于信息世界(现实世界在人脑中的反映)的建模,是现实世界到信息世界的第一次抽象,是数据库设计人员进行数据库设计的有力工具,也是设计人员和用户之间交流的语言。
概念数据模型的表示方法
实体联系图(ER图):用于描述信息世界的概念数据模型。它通过画图将实体以及实体间的联系刻画出来,为客观事物建立概念数据模型。
3.ER图的基本要素
实体
是现实世界中任何可以被认识、区分的事物。
实体可以是人或物,可以是实际的对象,也可以是抽象的概念(如事物之间的联系)
在学校:学生、课程、教师、选课、班委等;
某企业集团:工厂、职工、产品等
属性
实体所具有的特性。
一个实体可以有若干属性来描述。
学生的属性:学号、姓名、年龄、性别、系、专业等;
产品的属性:产品编号、产品名、规格等
联系
现实世界中事物内部以及事物之间的联系。
在信息世界中反映为实体内部的联系和实体之间的联系。
实体内部的联系
两个实体间的联系
多个实体间的联系
类型:
一对一联系(简记成1:1) 例如:学生和座位
一对多联系(简记成1:n) 例如:班级和学生
多对多联系(简记成m:n) 例如:学生和课程
4.ER图的绘制
基本要素的表示方法:
长方形——实体
椭 圆——属性
菱 形——联系
说明:在相应的框内要写上实体名、属性名或联系名。
绘制方法:
实体与属性用直线相连
实体与联系用直线相连
联系与属性用直线相连
同时在菱形与矩形的连线上标上联系的类型。
(1:1、1:n、m:n)
二元联系的ER图示例
<