您好,欢迎访问三七文档
第13章.数据建模主要内容1.数据模型2.实体关系模型ERD3.ERD建模1.数据模型数据模型描述数据的定义、结构和关系等特性的模型说明了问题域和解系统共享的事物、对共享事物的描述和共享事物之间的关系能够反映企业业务的核心知识建立数据模型的过程被称为数据建模模型建立:ERD数据规范化面向对象分析中的类图也可以建立数据描述模型1.数据模型规划分析维护设计实现概念数据模型(仅仅是概念)概念数据模型(概念+属性)逻辑数据模型规范化的逻辑数据模型物理数据模型演化的数据模型主要内容1.数据模型2.实体关系模型ERD1.实体2.属性3.关系3.ERD建模2.实体关系模型ERD起源于PeterChen1976年提出的实体关系建模方法没有标准的表示法基本元素实体关系属性2.1实体实例(Instance)需要在系统中收集和存储的现实世界事物实体(Entity)具有相同特征和属性的实例集的类别描述StudentIDNameDOBName:SandraDeeID:205-7123DOB:Jan17,1962实例实体2.1实体概念实体逻辑实体StudentStudentIDNameDOB2.1实体进程实体系统需要它们在某些时刻的快照或者它们的运行环境信息不是它们所体现出来的功能和达成的效果选课时间地点选课人被选课程2.2属性属性实体的描述特征。以数字、代号、单词、短语、文本乃至声音和图像的形式存在一系列属性的存在集成起来就可以描述一个实体的实例属性是实体的特征,不是数据。属性会以一定的形式存在,这种存在才是数据,被称为属性的值(Value)2.2属性属性的值就应该是一个合法的或者有业务含义的值,这个合法的取值范围称为域(Domain)数据类型类型说明域例子Number整数{最小~最大}月份的域:{1~12}Real实数{最小~最大}考试得分:{0.0~100.0}Text文本TEXT(属性的最大长度)电话号码:TEXT(20)Date日期{最早~最晚}出生日期:{1900-01-01~今天}Time时间{最早~最晚}Boolean布尔Enumeration枚举{值1、…、值n}性别:{男、女、未知}Binary二进制2.2属性标识符,又称为键(Key)可以被用来唯一的确定和标识每个实例的属性或者属性组合一个实体可能有多个键,都被称为候选键(CandidateKey)人们通常会从多个候选键中选择和使用固定的某一个键来进行实例的标识这个被选中的候选键被称为主键(PrimaryKey)没有被选做主键的候选键被称为替代键(AlternateKey)2.2属性单值属性和多值属性简单属性和组合属性存储属性和导出属性StudentStudentNoLastFirstNameyearProgramDOBemailAddressStreetCityPCage2.3关系存在于一个或多个实体之间的自然业务联系所有的关系隐含地都是双向的关系表达的不是实体物理上的联系(例如车与车轮),而是逻辑上的链接(例如整体部分关系)学生课程选择2.3关系度数参与关系的实体数量雇员管理学生课程选择雇员时间在...工作项目一元关系(递归关系)二元关系三元关系(a)(b)(c)2.3关系基数(约束)最大基数(键约束KeyConstraint)对关系中任意的其他实体实例,该实体可能参与关系的最大数量最小基数(参与约束ParticipantConstraint)对关系中任意的其他实体实例,该实体可能参与关系的最小数量SalesStaff#EmployeeIDEmployeeNameEmployeePhoneSalesOrganizationalStructure#ManageID#SubordinateID#TeamnameAssignmentDatemanageReportsto0:N0:N1:11:12.3关系子类型关系在多个实体大部分相似、少部分不同时,可以从相似的实体当中抽取共性,建立一个公共的超类型(Super-type),所有实体都是超类型的子类型员工管理者销售人员财务人员ISA2.3关系被关系影响的实体弱实体指存在和标识需要依赖于其他实体的实体关联实体实体间建立关系时的副产品考试课程考试对...评价学生课程选择2.ERD表示法实体弱实体关联实体关系属性标识符属性多值属性组合属性导出属性子类型关系E1RE2E1强制参与,E2可选参与E1RE21NE1最多一个实例参与,E2最多N个实例参与实体关系属性基数2.ERD表示法实体弱实体关联实体关系属性标识符属性子类型关系MandatoryOneMandatoryManyOptionalOneOptionalMany实体关系属性基数...attr1attr2...#attr_id...主要内容1.数据模型2.实体关系模型ERD3.ERD建模1.简单情况下的ERD建模2.硬数据的ERD建模3.复杂情况下的ERD建模4.ERD与过程模型3.1简单情况下的ERD建模从描述信息中辨识实体可以重点关注描述信息中的名词,看系统是否需要收集其相关的特征确定实体的标识符建立实体间关系判断各个关系的建立是否会产生新的关联实体或者影响已有的实体特性添加详细的描述信息实体的详细属性和关系的基数3.1简单情况下的ERD建模——示例研讨班在每个学年开始的时候开设,然后持续一个学年。每个研讨班针对一个或几个研究方向。每个研讨班由一位或几位教师主持。在研讨班开设之后,学生可以根据主持教师(的姓名)和研讨班的方向来选择和参加某个研讨班。所有的学生必须且只能参加一个研讨班的学习。研讨班时常会开展活动,由教师来决定活动的时间、地点、主题和做报告的学生(的姓名)。每次活动时,由一位或多位同学围绕活动主题做学习报告,交流自己对新技术的学习心得。每个学生一次活动最多只能作一个报告,但每个学生至少会在一次活动中做一个报告。教师对每份活动中的学生报告进行一次点评和指导,提出建议和意见。3.1简单情况下的ERD建模——示例研讨班学年研究方向教师学生活动(活动的)时间(活动的)地点(活动的)主题学习报告学习心得建议和意见学生研讨班教师活动学习报告3.1简单情况下的ERD建模——示例学生研讨班教师活动学号工号班号班号活动顺序号学习报告班号活动顺序号学生的学号3.1简单情况下的ERD建模——示例学生研讨班教师活动学号工号班号活动顺序号学习报告参加主持开展点评和指导3.1简单情况下的ERD建模——示例学生研讨班教师活动学号工号班号活动顺序号学习报告参加主持开展点评和指导姓名方向学年姓名地点时间主题心得内容建议意见3.2硬数据的ERD建模分析表单内容,确定表单主题每个主题描述为一个独立的数据实体建立主题之间的关系围绕主题组织表单的项目3.2硬数据的ERD建模——示例3.2硬数据的ERD建模——示例包裹寄件人收件人被...邮寄签收邮编详细地址姓名电话手机邮编详细地址姓名电话手机用户代码条码内容是否保价保价金额备注接收局号码重量单价挂号费保价费回执费资费3.3复杂情况下的ERD建模1.发现系统的概念域指那些在系统业务中非常重要的概念,如果没有这个概念,组织就可能不会存在或者业务发生重大变化不能遗漏那些对业务有重大影响的概念,同时概念域的发现也不要太细节每一个概念域都会以星型发散的方式扩展为多个逻辑实体3.3复杂情况下的ERD建模2.建立对概念域的描述概念域同义词定义和描述资源相关的程序功能待确定的问题3.3复杂情况下的ERD建模3.展开概念域简单情况下的ERD建模或者进一步细分子域4.合并概念域的局部数据模型消除冗余和冲突3.4ERD与过程模型功能/实体矩阵(Function/EntityMatrix)可以帮助验证过程模型和数据模块的正确性,发现其中的错误、遗漏、冗余和不一致功能/实体学生课程注册修改课程信息RU注册课程RRC取消课程注册RRD本章小结在结构化分析当中,数据建模是过程建模的有利补充。数据建模也可能会单独发生,起到主导需求分析的作用ERD是最为常用的数据模型,它拥有完备的语法和语义ERD的建立过程通常是复杂的,但是复杂情况可以分为简单情况进而逐一治之
本文标题:第13章.数据建模
链接地址:https://www.777doc.com/doc-1910847 .html