第2章建立数据模型.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2019/12/201第2章建立数据模型2019/12/202主要内容现实世界的数据化过程概念模型ER模型的设计方法数据模型关系模型ER模型向关系模型的转化2019/12/203现实世界的数据化过程学生编号名字年龄性别班级现实世界数据世界信息世界学生概念化形式化用户计算机2019/12/204现实世界–由实际事物组成,事物之间联系错综复杂–事物和事物特性信息世界–现实世界在人脑中的反映–事物和事物特性←→实体和实体属性数据世界–信息世界数据化后的产物–实体和实体属性←→记录和数据项数据抽象应用概念模型关系模型现实世界信息世界数据世界抽象化数据化2019/12/205三个世界中概念的对应关系:一个事物一类事物事物的各种特性现实世界实体实体集属性、域、码信息世界元组关系属性(字段)、主码、外部码数据世界认识抽象数据转换2019/12/206主要内容现实世界的数据化过程概念模型ER模型的设计方法数据模型关系模型ER模型向关系模型的转化2019/12/207概念模型定义按用户的观点来对数据和信息建模用于组织信息世界的概念,表现从现实世界中抽象出来的事物以及它们之间的联系E-R模型(Entity-RelationshipModel,实体-联系模型)1976年,PeterChen陈品山E-R模型是一种静态信息模型,只能反映当前状态,不能反映实体的变化过程。2019/12/208实体-联系模型三要素(三个基本语义)实体(Entity):客观事物联系(Relationship):客观事物之间的联系属性(Attributes):客观事物的特征(属性)刻划工具:实体-联系图(E-R图)实体:矩形属性:椭圆联系:菱形实体和联系间、实体和属性间、联系和属性间:线段2019/12/209示例学生课程选修姓名学号系别课程名学分主讲老师成绩联系集属性mn实体集的码实体集2019/12/2010实体(Entity)实体:可以相互区别的客观事物和概念统一抽象例:学生、回扣、医疗实体类型,实体集:将具有共性的一类实体抽象为实体类型选修mn学生课程实体集2019/12/2011联系:实体之间的关系抽象为联系联系分类1:1一对一联系1:n一对多联系m:n多对多联系联系(Relationship)2019/12/2012联系的参与多样性实体型B实体型A联系名实体型B实体型A联系名实体型B实体型A联系名1:11:NM:N1n1mn12019/12/2013联系属性联系的元:某一联系R所对应的实体类型有n个,称R为n元联系一元联系n=1二元联系n=2多元联系n2旅行社景点游客团队游mnk联系(续)学生课程选修成绩联系集属性mn2019/12/2014属性(Attribute)属性:对实体特征的描述实体码(KEY,实体标识符,又称实体键):能唯一标识实体的属性或极小属性组,用下划线标出。域:属性的取值范围同一实体类型所有实体都具有相同的属性及相同的对应域,但属性在域上的取值不一定相同。学生姓名学号系别实体集的码2019/12/2015属性分类:实体与属性、原子属性与组合属性的划分存在一定的相对性,无绝对。(这是由于描述事物的抽象层次不同或观察研究问题的角度不同而引起)性别、颜色工资、籍贯一个人的性别一个人的学校属性不可再分属性可以再分对应域中的元素为单个值对应域中的元素为多个值原子属性组合属性单值属性多值属性按组成分类按取值分类属性举例性质分类情况分类标准属性(续)2019/12/2016E-R图中:带下划线的属性为实体键或实体键的一部分组合属性用一个树型表示多值属性用虚线椭圆表示或标出关系型数据库系统不能处理组合属性和多值属性的情况,实际操作是要转化成原子属性和单值属性的情况。学生学号姓名年龄性别毕业学校出生日期年月日2019/12/2017定义实体集定义联系集定义属性几个注意的问题实体与自身的联系、多个实体之间的联系、历史演变数据的保存建立E-R模型1、找实体并表示(每类实体一个二维表)1、找联系(每类实体之间)2、表示联系(参与多样性)1、找属性(确定每个二维表的字段)2、确定字段的属性、域名字、数据类型、精度、缺省值、取值范围、是否允许空值……3、确定主码2019/12/2018试设计一个实体-联系模型以存放某学生期末考试:C#、物联网、JAVA语言、数据库系统原理、LINUX五门课程学生成绩。建立E-R模型示例2019/12/2019解法一:E-R图分析:能够满足要求,但模型不具有可扩性。成绩学号姓名C#IoTJAVALINUXDBS2019/12/2020解法二:E-R图分析:能够满足要求,模型具有可扩性,但数据存在冗余,易造成数据不一致性。学生学号姓名课程成绩2019/12/2021解法三:E-R图分析:能够满足要求,但模型不具有可扩性,和解法一雷同,操作比其麻烦。成绩学号姓名IoTJAVAC#DBSLINUX学生学号拥有112019/12/2022解法四:E-R图分析:能够满足要求,模型具有可扩性,数据不存在冗余,数据一致性好。课程学号姓名课程号成绩课程名学生选修nm(此为最佳答案)2019/12/2023主要内容现实世界的数据化过程概念模型ER模型的设计方法数据模型关系模型ER模型向关系模型的转化2019/12/2024E-R模型的设计方法总的设计原则:相对性原则:实体、属性、联系等,是对同一个对象抽象过程的不同解释和理解。一致性原则:同一对象在不同的业务系统中的抽象结果,应保持一致。简单化原则:E-R模型中,能作为属性处理的对象,尽量归为属性。2019/12/2025ER图设计用实体集或属性代表物体?对现实世界的概念是用实体集还是联系集去描述?用多元关系还是二元关系去描述?在建模过程中使用概括还是特殊化?2019/12/2026E-R设计原则用实体集还是用属性?问题焦点:什么可作为属性?什么可作为实体集?例:学生实体集中的电话属性,有两种不同的处理方式1)作为属性2)作为不同的实体,学生与电话之间的关系用联系集来表示课程实体集中的主讲教师属性?2019/12/2027属性变实体集示例货号货物名称仓库号存量货物货号名称存放职工职工号姓名年龄仓库管理仓库号面积存量n1mn2019/12/2028E-R设计原则(续)用二元联系?多元联系?多元联系可以清晰表示出几个实体集参与到一个联系的情况,而转换为多个二元联系后,难以体现这种参与性。确定联系集属性2019/12/2029子类和Is-a层次联系对实体集求精,产生一系列不同层次的实体子集。特殊化在这个自顶向下的设计过程中,其区别被显示出来。描述方法是一个标志ISA的三角属性继承:高层实体集的属性被低层实体集继承。(父类实体集的属性被子类实体集继承)概括主要使用在自低向上的设计中。概括是特殊化的逆过程,在实际使用中互相配合。IsaABIsa职工经理Isa姓名性别年龄职工号任职时间姓名职工号职工出生部门经理任职时间IsaIsa2019/12/2030子类示例2019/12/2031“好”的E-R模型满足用户功能需求实体联系尽可能少实体集所含属性尽可能少实体集间联系无冗余2019/12/2032企业E-R模型的设计方法先局部、后整体、最后优化一、确定局部应用范围,设计局部ER模型确定局部应用范围定义实体集、联系集、属性设计局部E-R图修改否?2019/12/2033二、集成局部E-R模型,形成全局初步E-R模型合并局部E-R图检查并消除冲突确定公共实体型修改否?局部E-R图进入“全局模型优化”三、消除冗余,优化全局E-R模型企业E-R模型的设计方法(续)2019/12/2034采用ER方法的数据库概念设计之设计局部ER模式有需求分析结果确定局部结构范围实体定义联系定义属性分配还有局部结构待分析无进入全局ER模式设计局部ER模式设计范围的划分要自然,易于管理;范围的大小要适度。太小了,会造成局部结构过多,设计过程繁琐,综合困难;太大了,则容易造成内部结构复杂,不便分析范围之间的界面要清晰,相互影响要小采用人们习惯的划分;避免冗余,在一个局部结构中,对一个对象只取一种抽象形式,不要重复;依据用户的信息处理需求确定属性的原则:属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:N的;不同实体类型的属性之间应无直接关联关系。属性分配的原则:当多个实体类型用到同一属性时,一般把属性分配给那些使用频率最高的实体类型,或分配给实体值少的实体类型。有些属性不宜归属于任一实体类型,只说明实体之间联系的特性2019/12/2035局部模式1现有的教学管理系统初步分析系统的对象根据服务种类分析教师子模块……人事管理局部应用的分E-R图局部ER图2019/12/2036局部模式2学籍管理局部应用的分E-R图导师班级学生组成管理班主任档案材料宿舍住宿归档指导系有参加学会1N111NNN11NMN1具有社会关系1N现有的教学管理系统初步分析系统的对象根据服务种类分析学生子模块……局部ER图2019/12/2037局部模式3现有的教学管理系统初步分析系统的对象根据服务种类分析课程子模块……局部ER图课程管理局部应用分E-R图1教室M1教科书教师担任课程系开设N1学生选修NMN上课PN2019/12/2038采用ER方法的数据库概念设计之设计全局ER模式无全局ER模式设计局部ER模式确定公共实体类型合并两个局部ER模式检查并消除冲突还有未合并的局部模式有还有冲突吗有属性冲突:如,重量单位有的用公斤,有的用克。结构冲突:同一对象在不同应用中的不同抽象;同一实体在不同局部ER图中属性的个数或次序不同;实体之间的联系在不同的局部ER图中呈现不同的类型命名冲突:属性名、实体名、联系名之间存在同名异义或异名同义冲突2019/12/2039采用ER方法的数据库概念设计之全局ER模式的优化实体类型的合并1:1联系的两个实体类型具有相同码的实体类型冗余属性的消除冗余联系的消除:利用规范化理论中函数依赖的概念消除冗余联系2019/12/2040例:三个局部ER图合并成一个ER图1合并后的教学管理E-R图1N1P1N1N1N1MMNNNN社会关系具有1NNM1系聘用承接项目参加设置院长学院主管NN111教师评定职称分配工作量111N档案材料归档参加学会1宿舍住宿教科书担任指导课程选修教室上课有1班级学生组成N开设N管理11教师管理112019/12/2041主要内容现实世界的数据化过程概念模型ER模型的设计方法数据模型关系模型ER模型向关系模型的转化2019/12/2042数据模型数据模型:是对客观事物及联系的数据描述,是信息模型的数据化。数据库管理系统是建立在一定的数据模型之上,根据数据模型实现在计算机上存储、处理、表示、组织数据,不同的数据模型对应不同类型的数据库管理系统。2019/12/2043从计算机实现的观点来对数据建模是信息世界中的概念和联系在计算机世界中的表示方法一般有严格的形式化定义,以便于在计算机上实现如层次模型、网状模型、关系模型、面向对象模型数据模型(续)2019/12/2044四种类型数据组织方法数据结构特点数据模型层次数据模型层次方法有序树或森林适于描述层次结构的数据网状数据模型网状方法图速度快,不易掌握关系数据模型关系方法二维表(关系)易于理解和使用、有严格的理论基础面向对象数据模型面向对象方法对象适于模拟实体的行为四种常见数据模型2019/12/2045数据模型的三要素数据模型=数据的组织方法+数据操作集合+数据完整性集合1、数据的组织方法(数据结构)描述系统的静态特性,即组成数据库的对象类型数据本身类型、内容、性质。如网状模型中的数据项、记录,关系模型中的域、属性,关系等数据之间的联系例如网状模型中的系型,关系模型中的外码在数据库系统中一般按数据结构的类型来命名数据模型2019/12/2046数

1 / 102
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功