第2章数据模型.ppt
上传人:sy****28 上传时间:2024-09-14 格式:PPT 页数:175 大小:1.5MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

第2章数据模型.ppt

第2章数据模型.ppt

预览

免费试读已结束,剩余 165 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2章数据模型2.1实体―联系模型概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出信息世界中的常用概念。概念模型的表示方法很多,其中最常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity―RelationshipApproach)。该方法用E―R图来描述现实世界的概念模型,E―R方法也称为E―R模型。实体―联系(E―R)数据模型是基于对现实世界的这样一种认识:世界由一组称作实体的基本对象及这些对象间的联系组成。E―R模型是一种语义模型,模型的语义方面主要体现在模型力图去表达数据的意义。E―R模型在将现实世界中事实的含义和相互关联映射到概念模式方面非常有用,因此,许多数据库设计工具都利用了E―R模型的概念。2.1.1基本概念E―R数据模型所采用的概念主要是三个:实体集、联系集和属性。1.实体(entity)实体是对现实世界中客观存在并可互相区别的“事件”或“物体”的抽象。实体可以是具体的人、事、物,也可以是抽象的概念或联系,例如,学校中的每个人是一个实体,一个系、一门课,学生的一次选课也是一个实体。实体集是具有相同类型及相同性质(或属性)的实体集合。例如,全体学生就是一个实体集,全部课程也是一个实体集。实体集可以相交。例如,假设某些教师在本校在职学习,那么他们既是教师身份,也是学生身份,说明学生实体集和教师实体集是相交的。2.属性(attribute)实体一般具有若干特征,称之为实体的属性。实体通过一组属性来表示,而属性是实体集中每个成员具有的描述性性质。例如学生具有姓名、学号等属性。每个属性都有其取值的范围,在E-R数据模型中称为值集(valueset)或域。例如,实体学生的属性姓名的域可能是某个长度的所有字符串的集合,属性成绩的域可能是所有正整数的集合。在同一实体集中,每个实体的属性及其域是相同的,但可能取不同的值。一个实体是由其属性的值确定的。例如,实体班级(班级号,班级名)属性的一个取值(10002,计算机881)就确定了计算机881班这个实体。在E―R模型中,根据属性取值的不同种类,可将属性划分为如下的几种类型:(1)简单属性:指它们不能再划分为更小的部分。例如,课程名是简单属性。(2)复合属性:指它们可以再划分为更小的部分(即划分为别的属性)。例如,出生日期可被设计成包括出生年、月、日的成分属性,它是复合属性。如果用户希望在某些时候访问整个属性,而在另一些时候访问属性的一个成分,那么在设计模式中使用复合属性是一个很好的选择。通过复合属性可将相关属性聚集起来,使模型更清晰。(3)单值属性:指所定义的属性对一个特定实体都只有单独的—个值。例如,学号属性只对应一个学号号码。(4)多值属性:指对某个特定实体而言,一个属性可能对应于一组值。例如,假设实体学生还有社会关系这个属性,那么一个学生可能有0个、1个或多个亲属,该实体集中不同的学生实体在属性社会关系上有不同数目的值,这样的属性称多值属性。在具体设计中,可根据应用需求对某个多值属性的取值数目进行上、下界的限制。例如,上述学生社会关系属性限制在6个以内。(5)NULL属性:当实体在某个属性上没有值或属性值未知时使用NULL值。例如,某个学生无亲属,那么该学生的社会关系属性值是NULL,表示“无意义”。NULL用于值未知时,未知的值可能是缺失的(即值存在,只不过我们没有该信息)或不知道的(我们并不知道该值是否真的存在)。(6)派生属性:这类属性的值可以从别的相关属性或实体派生出来。例如,学生的年龄可以通过其出生日期计算出来。形式化地说,实体集的属性是将实体集映射到域的函数。从数学上看,每个属性可以看成是一个函数。设A是实体集E的一个简单属性,v是A的值集,则A可定义为函数A:E→P(v)P(v)是v的幂集。A(e)表示E中实体E的属性A的值。从定义可知,A(e)可以是单值,也可以是多值,还可以是NULL(相当于空集)。如果A是组合属性,设其各分量的值集为v1,v2,…,vn,则A可定义为函数A:E→P(v1)×P(v2)×…×P(vn)由于一个实体集可能有多个属性,每个实体可以用(属性,数据值)对构成的集合来表示,对应实体集的每个属性有一个(属性,数据值)对。从这里可以看出抽象模式与作为建模对象的现实世界的事实间的一致性。3.联系(relationship)联系是多个实体间的相互关联。实体之间会有各种关系,例如学生实体与课程实体之间可有选课关系,学生与教师之间可能有讲课关系等。这种实体与实体间的关系抽象为联系。联系可用实体所组成的元组表示,例如元组〈e1,e2,…,en〉表示实体e1,e2,…,en之间的一个联系。如果n=2,则称为二元联系,如果n>2,则称为多元联系。同一类型的联系可