null关系数据模型关系数据模型2.1什么是数据模型2.1什么是数据模型数据模型反映信息及信息间的联系,形式化为:
DM={R,L}
DM-数据模型
R-记录型的集合
L-不同记录型联系
其函义参见P17(1)、(2)
可见,数据模型实际上定义了数据库
2.2实体和属性2.2实体和属性实体(Entity)
现实世界可被识别事物的抽象命名。
如一个人、一项
、一个规划等
属性(Attributes)
是事物性质的抽象。对象不等同于实体,同一个对象,规定了不同的属性,便成了两个不同的实例。
如人事信息中的人同工资信息中的人
实体和属性的型和值属性的型属性的值2.2实体和属性2.2实体和属性域
属性的取值范围,称为域。
如性别的值域{男,女},年龄的值域{1……150}
在同一实体中,各实体对应的属性必须有相同的域,但属性的在域上的取值不一定相同
关键字
在实体属性中,用于区别实例集合中不同个体的某个属性或某几个属性的组合,称为关键字
如学生信息的学号,性别不能作关键字
信息转化为数据
参见P19图2-1(对应下图)2.3实体间的联系2.3实体间的联系信息三个世界的术语联系2.3实体间的联系2.3实体间的联系现实世界
信息世界(实体、实体集、属性、键)
计算机世界
字段(field)(数据项):描述实体属性的数据,它是可以命名的最小数据单位。
记录(record):字段的有序集合
文件(file):同一类记录的汇集
键(key):惟一标识文件中每个记录的字段或字段集。
以上每个概念均有型(type)和值(value)之分null
计算机世界数据的表示示例2.3实体间的联系2.3实体间的联系2.3.2数据联系方式
实体之间的关系抽象为联系。
1、1:1(一对一联系) A中任意实体至多对应B中的一个实体,反之B中的任意实体至多对应A中的一个实体。
如:观众与座位、乘客与车票、病人与病床、学校与校长、灯泡与灯座、夫妻关系。 2.3实体间的联系2.3实体间的联系2、1:n(一对多联系) A中至少有一个实体对应B中的多个实体,反之B中的任意实体至多对应A中的一个实体。
如:城市与街道、宿舍与学生、父亲与子女、班级与学生。
2.3实体间的联系2.3实体间的联系3、m:n(一对多联系) A中任意实体至少有一个实体对应B中的多个实体,反之B中的任意实体至少对应A中的多个实体
如:学生与课程、 工厂与产品、商店与顾客 2.3实体间的联系2.3实体间的联系实体型之间的一对一、一对多、多对多联系不仅存在于两个实体型之间,也存在于两个以上的实体型之间。
同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的 。2.4数据库类型2.4数据库类型在设计数据库全局逻辑结构时,不同的数据库管理系统对数据的具体组织方法不同。常见的数据组织方法有四种:2.4数据库类型2.4数据库类型数据模型 = 数据的组织方法 + 数据操作集合 + 数据完整性集合 。因此数据模型也有四种:2.4数据库类型2.4数据库类型2.4.3关系模型
关系数据模型的思想由IBM公司的E.F.Codd于1970年在他的一系列
中提出,以后的几年里陆续出现了以关系数据模型为基础的数据库管理系统,称为关系数据库系统(RDBMS),代表性的有system R(IBM)、Ingres、QBE。现代广泛使用的RDBMS有:Oracle、Sybase、Informix、DB2、SQL Server、Acess、Fox系列数据库等。2.4数据库类型2.4数据库类型实体和联系均用二维表(关系)来表示的数据模型称之为关系数据模型。
R=(A1,A2,……Ai,……)
其中R为关系名, Ai为关系的属性名。
如:关系学生信息可以表示为:
学生(学号,姓名,年龄,性别,籍贯)
其中关键字为学号
如图所示null学生关系2.5E-R方法2.5E-R方法E-R图提供了从现实世界到数据模型提供了一个中间工具。包括实体、属性和联系三个
。表示方法:用矩形表示实体、用椭圆表示属性、用菱形表示。 实体间的联系,以及属性和实体间、实体和联系间用线段连接。 实体名属性名联系名a)实体b)属性c)联系nullP27图2-7 E-R图画法三种关系的E-R图如图所示:2.5E-R方法2.5E-R方法2.5E-R方法设计E-R图的
:
针对特定用户的应用,确定实体、属性和实体间的联系,设计该用户视图的局部E-R图
综合各个用户的局部E-R图,产生反映数据库整体概念的总体E-R图。
一个系统的E-R图不是唯一的。
现实世界的复杂性导致实体联系的复杂性,E-R图中的各种联系方式可归结为以下几种形式:null说明参见P272.6从E-R图导出关系数据模型2.6从E-R图导出关系数据模型将实体联系模型转化为关系数据模型的规则 :
E-R图中每个实体类型转化为一个关系模式, 实体类型中实体的属性转化为该关系模式的属性; 实体标识符(实体键)转化为该关系模式的关键字; 每一个实体转化为该关系模式对应关系的一个元组。
E-R图中的联系,根据联系方式的不同,采取不同手段以使被它联系的实体所对应的关系彼此有某种联系。具体方法有:2.6从E-R图导出关系数据模型2.6从E-R图导出关系数据模型1:N型联系,则1侧的关键字纳入N侧实体对应的关系中作为外部关键字,同时把联系的属性也一并纳入N方对应的关系中。仓库(仓库号,地点,面积)
产品(货号,品名,价格,仓库号,数量)
在“产品”关系中货号为外部关键字,“数量”为“存放”的属性,放入“产品”关系中。2.6从E-R图导出关系数据模型2.6从E-R图导出关系数据模型如果同一实体内存在1:N型联系,在此实体所对应的关系中多设一个属性,用来表示与该个体相联系的上级个体的关键字。职工(工号,姓名,年龄,性别,工资,领导者工号,民意)
参见P30表2-52.6从E-R图导出关系数据模型2.6从E-R图导出关系数据模型如果两个实体间是M:N联系,则需对联系单独建立一个关系。该关系的属性中至少要包括它所联系的双方实体的关键字,联系自身若有属性,也需加入此关系中。学生(学号,姓名,性别)
课程(课号,课程名,学分)
学习(学号,课后,成绩)2.6从E-R图导出关系数据模型2.6从E-R图导出关系数据模型如果同一个实体是M:N联系,也需对联系单独建立一个关系。该关系的属性中至少要包括它所联系的双方个体的关键字,联系自身若有属性,也需加入此关系中。零部件(代号,名称,价格)
组装(代号,组装件代号,数量)null例
:将如图所示教学管理的实体联系模型转化为关系数据模型解:学生(学号,姓名,成绩,年龄,性别,籍贯) 课程(课程号,教师号,课程名,学分) 教师(教师号,教师名,职称、年龄) 选课(学号,课程号,成绩) 问题和实践问题和实践自学SQL:学习语法及功能
sql server2000实践应用:深入了解数据库体系(client/server结构)
准备以arcgis为基础组织城市规划数据库的基本特点:主要了解如何利用相关的工具组织规划所需要的数据