欢迎来到天天文库
浏览记录
ID:45451971
大小:599.00 KB
页数:175页
时间:2019-11-13
《第2章+数据模型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第2章数据模型2.1实体联系模型2.2关系模型2.3面向对象的数据模型习题22.1实体―联系模型不同的数据模型提供给我们模型化数据和信息的不同工具。根据模型应用的不同目的,可以将这些模型划分为两个层次:一类模型是概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计;另一类模型是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出信息世界中的常用概念。概念模型的表示方法很多,其中最常用的是P.P.S.Chen于1976年提出的实体-联
2、系方法(Entity―RelationshipApproach)。该方法用E―R图来描述现实世界的概念模型,E―R方法也称为E―R模型。实体―联系(E―R)数据模型是基于对现实世界的这样一种认识:世界由一组称作实体的基本对象及这些对象间的联系组成。E―R模型是一种语义模型,模型的语义方面主要体现在模型力图去表达数据的意义。E―R模型在将现实世界中事实的含义和相互关联映射到概念模式方面非常有用,因此,许多数据库设计工具都利用了E―R模型的概念。2.1.1基本概念E―R数据模型所采用的概念主要是三个:实体集、联系集和属性。1.实体(entity)实体是对现实世界中客观存在并可互相
3、区别的“事件”或“物体”的抽象。实体可以是具体的人、事、物,也可以是抽象的概念或联系,例如,学校中的每个人是一个实体,一个系、一门课,学生的一次选课也是一个实体。实体集是具有相同类型及相同性质(或属性)的实体集合。例如,全体学生就是一个实体集,全部课程也是一个实体集。实体集可以相交。例如,假设某些教师在本校在职学习,那么他们既是教师身份,也是学生身份,说明学生实体集和教师实体集是相交的。2.属性(attribute)实体一般具有若干特征,称之为实体的属性。实体通过一组属性来表示,而属性是实体集中每个成员具有的描述性性质。例如学生具有姓名、学号等属性。每个属性都有其取值的范围,
4、在E-R数据模型中称为值集(valueset)或域。例如,实体学生的属性姓名的域可能是某个长度的所有字符串的集合,属性成绩的域可能是所有正整数的集合。在同一实体集中,每个实体的属性及其域是相同的,但可能取不同的值。一个实体是由其属性的值确定的。例如,实体班级(班级号,班级名)属性的一个取值(10002,计算机881)就确定了计算机881班这个实体。在E―R模型中,根据属性取值的不同种类,可将属性划分为如下的几种类型:(1)简单属性:指它们不能再划分为更小的部分。例如,课程名是简单属性。(2)复合属性:指它们可以再划分为更小的部分(即划分为别的属性)。例如,出生日期可被设计成包
5、括出生年、月、日的成分属性,它是复合属性。如果用户希望在某些时候访问整个属性,而在另一些时候访问属性的一个成分,那么在设计模式中使用复合属性是一个很好的选择。通过复合属性可将相关属性聚集起来,使模型更清晰。(3)单值属性:指所定义的属性对一个特定实体都只有单独的—个值。例如,学号属性只对应一个学号号码。(4)多值属性:指对某个特定实体而言,一个属性可能对应于一组值。例如,假设实体学生还有社会关系这个属性,那么一个学生可能有0个、1个或多个亲属,该实体集中不同的学生实体在属性社会关系上有不同数目的值,这样的属性称多值属性。在具体设计中,可根据应用需求对某个多值属性的取值数目进行
6、上、下界的限制。例如,上述学生社会关系属性限制在6个以内。(5)NULL属性:当实体在某个属性上没有值或属性值未知时使用NULL值。例如,某个学生无亲属,那么该学生的社会关系属性值是NULL,表示“无意义”。NULL用于值未知时,未知的值可能是缺失的(即值存在,只不过我们没有该信息)或不知道的(我们并不知道该值是否真的存在)。(6)派生属性:这类属性的值可以从别的相关属性或实体派生出来。例如,学生的年龄可以通过其出生日期计算出来。形式化地说,实体集的属性是将实体集映射到域的函数。从数学上看,每个属性可以看成是一个函数。设A是实体集E的一个简单属性,v是A的值集,则A可定义为函
7、数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)联系是多
此文档下载收益归作者所有