您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第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/2016E-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数
本文标题:第2章建立数据模型.
链接地址:https://www.777doc.com/doc-2154974 .html