版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、An Introduction to Database System,数据库系统概论 An Introduction to Database System 第六章 数据库设计(续-1),An Introduction to Database System,7.3 概念结构设计,7.3.1 概念结构设计概述 7.3.2 概念结构设计的方法与步骤 7.3.3 数据抽象与局部视图设计 7.3.4 视图的集成,An Introduction to Database System,7.3.1 概念结构设计,把用户需求抽象为概念模型即为概念结构设计。 概念模型除了要求能反映客观世界并且易于理解外,还要求其
2、易于向数据模型(如关系模型)转化。 概念模型独立于具体的数据库系统,是整个数据库设计的基础。,An Introduction to Database System,1. 概念模型,概念模型的用途 概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次 是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言 对概念模型的基本要求 较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识 简单、清晰、易于用户理解。,An Introduction to Database System,2. 信息世界中的基本概念,(1) 实体(Entity) 客观存在并可相互区别的事物称为实体。
3、 可以是具体的人、事、物或抽象的概念。 (2) 属性(Attribute) 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。 (3) 码(Key) 唯一标识实体的属性集称为码。,An Introduction to Database System,信息世界中的基本概念(续),(4) 域(Domain) 属性的取值范围称为该属性的域。 (5) 实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画 同类实体称为实体型 (6) 实体集(Entity Set) 同型实体的集合称为实体集,An Introduction to Database System,信息世界中的基
4、本概念(续),(7) 联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系 实体型间联系 两个实体型 一对一联系(1:1) 三个实体型 一对多联系(1:n) 一个实体型 多对多联系(m:n),An Introduction to Database System,两个实体型间的联系,An Introduction to Database System,两个实体型间的联系,一对一联系 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。 实例 班级与班长之间
5、的联系: 一个班级只有一个正班长 一个班长只在一个班中任职,An Introduction to Database System,两个实体型间的联系 (续),一对多联系 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系 记为1:n 实例 班级与学生之间的联系: 一个班级中有若干名学生, 每个学生只在一个班级中学习,An Introduction to Database System,两个实体型间的联系 (续),多对多联系(m:n) 如果对于实体集A中的每一个实体,实体集
6、B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n 实例 课程与学生之间的联系: 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程,An Introduction to Database System,3. 概念模型的表示方法,概念模型的表示方法很多 实体联系方法(E-R方法) 用E-R图来描述现实世界的概念模型 E-R方法也称为E-R模型,An Introduction to Database System,E-R图,实体型 用矩形表示,矩形框内写明实体名。,学生,教师,An In
7、troduction to Database System,E-R图(续),属性 用椭圆形表示,并用无向边将其与相应的实体连接起来,An Introduction to Database System,E-R图(续),联系 联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n) 联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,An Introduction to Database System,联系的表示方法,An Introduction to Data
8、base System,联系的表示方法(续),An Introduction to Database System,联系的表示方法示例,An Introduction to Database System,联系的表示方法示例(续),An Introduction to Database System,联系属性的表示方法,An Introduction to Database System,E-R图实例:,学生,课程,班级,校园卡,学号,姓名,选课,持有,属于,编号,名称,学分,卡号,余额,班号,班名,m,n,1,1,n,1,成绩,班长,1,1,An Introduction to Databa
9、se System,E-R图(续),E-R图实例: P19-P20 某工厂物资管理E-R图,An Introduction to Database System,7.3 概念结构设计,7.3.1 概念结构设计概述 7.3.2 概念结构设计的方法与步骤 7.3.3 数据抽象与局部视图设计 7.3.4 视图的集成,An Introduction to Database System,7.3.2 概念结构设计的方法与步骤,设计概念结构的四类方法 自顶向下: 首先定义全局概念结构的框架,然后逐步细化 自底向上:首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构 逐步扩张: 首先定义最重
10、要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构 混合策略: 将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。,An Introduction to Database System,概念结构设计的方法与步骤(续),自顶向下策略,An Introduction to Database System,概念结构设计的方法与步骤(续),自底向上策略,An Introduction to Database System,概念结构设计的方法与步骤(续),逐步扩张,An Introduction t
11、o Database System,概念结构设计的方法与步骤(续),常用策略(P211图7.8) 自顶向下地进行需求分析 自底向上地设计概念结构 自底向上设计概念结构的步骤 (P211图7.9) 第1步:抽象数据并设计局部视图 第2步:集成局部视图,得到全局概念结构,An Introduction to Database System,7.3 概念结构设计,7.3.1 概念结构设计概述 7.3.2 概念结构设计的方法与步骤 7.3.3 数据抽象与局部视图设计 7.3.4 视图的集成,An Introduction to Database System,7.3.3 数据抽象与局部视图设计,数据抽
12、象 局部视图设计,An Introduction to Database System,一、数据抽象,概念结构是对现实世界的一种抽象 从实际的人、物、事和概念中抽取所关心的共同特性,忽略非本质的细节 如学生具体的手机,可以抽象为手机号码,忽略手机的型号,颜色,功能等。,An Introduction to Database System,数据抽象(续),三种常用抽象 1. 分类(Classification) 定义某一类概念作为现实世界中一组对象的类型 这些对象具有某些共同的特性和行为 它抽象了对象值和型之间的“is member of”的语义 在E-R模型中,实体型就是这种抽象 举例:“学生
13、”是对具体每一个学生抽象,具有姓名、性别、身高等共同特征和选课、入学、毕业等共同的行为特征。抽象的“学生”所具有的共同的特性和行为构成(实体)型,一个具体的学生是对这些特征和行为的具体化,就是值(实体)。在面想对象的程序设计中,实体型即为类,实体即为对象。,An Introduction to Database System,数据抽象(续),2. 聚集(Aggregation) 定义某一类型的组成成分 它抽象了对象内部类型和成分之间“is part of”的语义 在E-R模型中若干属性的聚集组成了实体型,就是这种抽象 例:“学生”实体型的某些特性本身是一种实体型,如“家庭情况”是一个包含“父亲
14、”,“母亲”,“住址”等特性的实体型。所以广义地看,“学生”实体型是若干实体型的聚集。,An Introduction to Database System,数据抽象(续),3. 概括(Generalization) 定义类型之间的一种子集联系 它抽象了类型之间的“is subset of”的语义 概括有一个很重要的性质:继承性。子类继承超类上定义的所有抽象。,An Introduction to Database System,例:,本科生、硕士生和博士生既具有相同的特性,又具有各自特殊的特性,我们可以把它们相同的特性提取(概括)出来形成“学生”实体型,本科生、硕士生和博士生可以继承“学生”
15、的所有特性,而不必重复地各自定义相同的特性。 在面向对象程序设计中,“学生”称为基类、父类或超类,本科生、硕士生和博士生称为“学生”的派生类、子类。,An Introduction to Database System,数据抽象(续),注:原E-R模型不具有概括,本书对E-R模型作了扩充,允许定义超类实体型和子类实体型。 用双竖边的矩形框表示子类, 用直线加小圆圈表示超类-子类的联系P213图7.13,An Introduction to Database System,数据抽象(续),数据抽象的用途 对需求分析阶段收集到的数据进行分类、组织(聚集和概括),形成 实体 实体的属性及标识实体的码
16、 确定实体之间的联系类型(1:1,1:n,m:n),An Introduction to Database System,二、局部视图设计,设计分E-R图的步骤: 选择局部应用 逐一设计分E-R图,An Introduction to Database System, 选择局部应用,需求分析阶段,已用多层数据流图和数据字典描述了整个系统。 设计分E-R图首先需要根据系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分E-R图。,An Introduction to Database System,选择局部应用
17、(续),通常以中层数据流图作为设计分E-R图的依据。原因: 高层数据流图只能反映系统的概貌 中层数据流图能较好地反映系统中各局部应用的子系统组成 低层数据流图过细,An Introduction to Database System, 逐一设计分E-R图,任务:将各局部应用涉及的数据分别从数据字典中抽取出来,参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型(1:1,1:n,m:n) 实体和属性:实体与属性是相对而言的。同一事物,由需求确定其是作为属性存在还是作为实体存在。,An Introduction to Database System,逐一设计分
18、E-R图(续),例:在学生管理中,若只需要区分不同系的学生,则“系”可以作为实体“学生”的一个属性。若还需要关注系的名称、系领导等系的其他信息,则“系”应该作为一个实体。 属性必须是不可分的数据项,对应1NF。 一般不通过属性建立实体之间的联系。对上例中的后一种情况,“系”不能作为“学生”的属性,学生所在系通过“学生”和“系”两个实体的关系来反映。 使用实体使设计更具有可扩展性,但会增加设计和实现的复杂性,必须在两者之间作出权衡。,An Introduction to Database System,逐一设计分E-R图(续),例:P216 图7.18 第一层数据流图 圆1.0-5.0为处理,方
19、框表示数据来源和去向,开口长方形表示数据存储。 流程说明: 1.0:客户发出订单,订单进入系统,主管部门根据所订货的产品信息和该客户的应收帐款等情况进行核对审批,审批结果返回客户,若通过,则进入下一流程。 2.0:订单存档,并以生产通知单形式传入生产部门,生产完成后进入下一流程。,An Introduction to Database System,例: (续),3.0:向客户发出包装通知单,即所订产品已完成生产进行提交,同时财务部门向客户开出发票,金额进入该客户应收帐款帐户。 4.0:客户收到货物后支付货款,货款冲抵该客户的应收帐款。 5.0:把应收帐款的变动情况提交客户进行核对和确认。,A
20、n Introduction to Database System,例: (续)第二层数据流图,1.1:系统对客户订单的价格和产品资料库中的价格进行核对。 1.2:系统依据某种规则,对该客户的应收帐款情况进行核对。 1.3:主管部门结合以上核对信息对订单进行审批,把结果返回给客户,若批准则进入下一流程,An Introduction to Database System,例: (续)第二层数据流图,2.1:把批准的订单存入记录本 2.2:不同的产品生产要经过不同的工序,为订单中的产品分配工种号以安排生产。 2.3:依据工种等信息产生待完成订货清单 2.4:对所有订单进行合并产生订单报表,提交生
21、产部门生产。,An Introduction to Database System,例: (续)第二层数据流图,3.1: 得到生产部门准备发货的信息后,开发票并通知客户。 3.2:开发票后记录发票号,以方便以后发票号的分配(实际不需要,统一发票的发票号已打印在发票上),An Introduction to Database System,例: (续)第二层数据流图,4.1:客户根据实际验收的货物发出结算数据及货款(可能是部分货款) 4.2:用已支付的货款调整应收帐款 4.3:未支付部分根据该客户的信用等级进行审批 4.4:审批通过则欠款记入该客户的应收帐款,An Introduction to
22、 Database System,逐一设计分E-R图(续),分E-R图: 实体:顾客、产品、订单、应收帐款、发票。 P219图7.24中实体“订单细节”不合适地包含了设计思想。 应收帐款根据客户和产品汇总,故一个产品一个应收款,客户,订单,产品,应收帐款,发票,订货,付款,验收,包含,数量,价格,1,n,1,n,1,n,m,1,m,n,An Introduction to Database System,7.3 概念结构设计,7.3.1 概念结构 7.3.2 概念结构设计的方法与步骤 7.3.3 数据抽象与局部视图设计 7.3.4 视图的集成,An Introduction to Databa
23、se System,7.3.4 视图的集成,各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构即总E-R图。,An Introduction to Database System,视图的集成(续),视图集成的两种方式 一次集成 一次集成多个分E-R图 通常用于局部视图比较简单时 逐步累积式 首先集成两个局部视图(通常是比较关键的两个局部视图) 以后每次将一个新的局部视图集成进来,An Introduction to Database System,视图的集成(续),集成局部E-R图的步骤 1. 合并:消除冲突产生初步E-R图 2. 修改与重构:用规范化理论消除
24、冗余得到基本E-R图。,An Introduction to Database System,视图的集成(续),An Introduction to Database System,一. 合并分E-R图,生成初步E-R图,冲突的种类 属性冲突 命名冲突 结构冲突,An Introduction to Database System, 属性冲突,两类属性冲突 属性域冲突:属性值的类型、取值范围或取值集合不同。 属性取值单位冲突。 例:学号取数值型或字符型冲突;学生年龄和教师年龄取值范围的冲突;身高的单位冲突。 通常用讨论、协商等行政手段加以解决,An Introduction to Databa
25、se System, 命名冲突,两类命名冲突 同名异义:不同意义的对象在不同的局部应用中具有相同的名字。如单位在不同场合可以是计量单位也可以是指工作单位。 异名同义(一义多名):同一意义的对象在不同的局部应用中具有不同的名字。如采购价格、成本价格、进货价格可能指的是同一个价格。 命名冲突可能发生在属性级、实体级、联系级上。其中属性的命名冲突更为常见。解决方法同上。,An Introduction to Database System, 结构冲突,三类结构冲突 1)同一对象在不同应用中具有不同的抽象。如在零售处理中把商品单位作为商品的的属性,而在批发处理中由于单位的复杂性把单位作为实体来处理。 解决方法:根据前面确定属性或实体的基本准则进行统一。,An Introduction to Database System,结构冲突(续),2)同一实体在不同局部视图中,由于对实体的关注点不同造成所包含的属
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新化地理会考试试卷及答案
- 2026二年级数学 苏教版数学乐园数感培养
- 椒江叉车考试试题题库及答案
- 企业知识产权管理机构及制度
- 企业信访维稳工作联席会议制度
- 人事行政制度
- 西北名校教研联盟2025届高三下学期2月联考物理试卷(含解析)
- 二线值班医生值班制度
- 化工厂各个岗位奖惩制度
- 业务员退换货奖惩制度
- 2026年安庆医药高等专科学校单招职业技能考试题库带答案详解(a卷)
- 2026四川成都新都区集中招聘编外人员10考试备考题库及答案解析
- 2026银行间市场数据报告库(上海)股份有限公司招聘笔试模拟试题及答案解析
- 2026年郑州市检验检测有限公司公开招聘19人考试参考试题及答案解析
- GB/T 47067-2026塑料模塑件公差和验收条件
- 2026中考数学易错题专项突破01 实数及运算(3大易错点分析)(含答案)
- 民营企业人才引进与培养方案
- (2026年)粮油质量检验员考核试题(+答案)
- 2025四川党政领导干部政治理论考试(理论测试)强化练习题及答案
- 公安旅馆培训
- 2026年中考道德与法治一轮复习:情境100题含答案
评论
0/150
提交评论