第3章 数据库系统设计的步骤

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

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

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

资源描述

22:03:06第3章数据库系统设计的步骤和方法•概念结构的设计•数据库逻辑结构的设计•数据库的物理设计本章节是课程的最重要内容。数据库系统设计包括数据库设计和数据库应用系统设计。而数据库设计正确与否直接影响到应用系统的成败。本章要介绍数据库系统设计的基本理论和方法。主要包括:22:03:06目标:建立一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据库模式。内容:数据库的结构特性设计、行为特性设计和物理模式设计。其中数据库的结构设计最关键。3.1数据库系统设计概述3.1.1数据库系统设计的内容22:03:06结构特性设计称逻辑结构特征或静态结构设计。将现实世界中的事物、事物间的联系用E-R图表示,得出数据库的概念结构模型,最后将该模型转化为数据库的逻辑结构模型表示。1.数据库的结构特性设计22:03:06确定数据库用户的行为和动作,并根据其行为特性设计出用户数据库。2.数据库的行为特性设计3.数据库的物理模式设计在选定的DBMS环境下,把数据库的逻辑结构模型加以物理实现,设计出数据库的存储模式和存取方法。22:03:06数据库设计应分6个阶段进行:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。3.1.3数据库系统设计方法22:03:063.1.4数据库设计的基本步骤需求分析调查和分析用户的应用需求,主要包括:业务规则、完整性约束条件、事务处理和安全性要求等。把概念结构设计转换成所选择的DBMS支持的数据模型。为数据模型在设备上选定合适的存储结构和存取方法建立数据库,装载数据,编制程序性能监测、数据转储与恢复、安全控制数据库实施数据库运行与维护表达出一个组织环境中信息需求的概念模型,明确描述出业务环境数据需求和数据之间的联系数据库物理设计逻辑结构设计概念结构设计22:03:063.2系统需求分析主要任务是:详细调查现实世界要处理的对象(组织、部门、企业等);充分了解原系统(手工系统或计算机系统)的概况和发展前景;明确用户的各种需求;收集支持系统目标的基础数据及其处理方法;确定系统的功能。系统需求分析出的内容:要保存的数据数据处理内容数据安全性和完整性要求22:03:06•设计方法的自顶向下的需求分析(从全局到局部)•自底向上的概念结构设计(从局部到全局)3.3概念结构的设计3.3.1概念结构的特点及设计方法概念模型的特点:•是对现实世界的一个真实模型•容易理解•容易修改•容易向数据模型转换设计方法:22:03:06XX公司管理信息系统人员管理工程管理材料管理………入库管理出库管理工程管理ER图人员管理ER图入库管理ER图出库管理ER图材料管理ER图XX公司管理ER图22:03:063.3概念结构的设计3.3.2数据抽象与局部ER设计数据抽象是从实际的人、物、事和概念中抽取所关心的、本质的共同特性。把这些特性用各种概念精确地加以描述这些概念组成了某种模型什么叫数据抽象?数据抽象的三种基本方法:分类、聚集、和概括。利用数据抽象方法,可以对现实世界抽象得出概念模型的实体集和属性。22:03:06(1)分类定义某一类概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为。3.3概念结构的设计3.3.2数据抽象与局部视图设计1.三种数据抽象方法实体集的抽象22:03:06定义某一类型的组成部分,它抽象了对象内部类型和对象内部“组成部分”的语义。(2)聚集属性的抽象职工(职工号,姓名,性别,配偶)配偶(姓名,年龄,工作单位)22:03:06定义类型之间的一种子集联系,它抽象了类型之间的“所属”的语义。(3)概括学生本科生研究生超类子类超类与子类的抽象。22:03:062设计分E-R图(1)选择局部应用自顶向下的需求分析,得到每一个局部应用,对每一个局部应用设计E-R图。(2)局E-R图的设计确定局部应用中实体集和实体集之间的联系。22:03:06如何确定实体集和属性?实体集与属性是相对而言的,同一事物在某个环境中是属性,在另一个环境中可能就是实体集。确定实体集和属性的原则:(1)属性不能再具有描述特性(2)属性不能与其他实体集发生联系(3)在满足处理问题的要求前提下,尽量减少实体集,能作属性时不要作为实体集。例如:教学管理中:教师(职工编号,姓名,年龄,职称)工资管理中:职称(职称代号,名称,职称工资)名称类别性质属性不能再具有描述特性(1)姓名性别工种职工姓名性别工种职工是名称类别性质n1姓名性别部门职工编号名称电话属性不能再具有描述特性(2)姓名性别部门职工属于编号电话名称n1属性不能与其他实体集发生联系劳保用品发放品名规格姓名性别工种职工nm劳保用品发放品名规格姓名性别工种职工nm在满足处理问题的要求前提下,尽量减少实体集(1)国名国歌国徽国家首都如果有首都名就可以满足处理了,就….首都是首都名面积国名国歌国徽国家人口11在满足处理问题的要求前提下,尽量减少实体集(2)职称具有编号名称姓名性别年龄职工职称工资姓名性别年龄职工职称如果有职称名就可以满足处理了,就….n1派生属性(衍生属性)工资=基本工资+等级工资+效益工资工号姓名效益工资职工基本工资等级工资工资是否使用派生属性,取决于某一种应用处理需求派生属性多值属性价格:经销、代销、批发、零售产品名规格产品价格产品号(1)在原实体集中增加属性,使这些属性是该多值属性的组成部分优点:没有增加新的实体集缺点:不适应处理上的变化经销产品名规格产品零售代销批发产品号(2)建立一个新的实体集,原来的多值属性上升为实体集优点:适应处理上的变化缺点:增加了新的实体集产品名规格产品类型价格销售价格有产品号产品号新实体集的属性包括原实体集的主码和多值属性.与原实体集之间具有1:N联系,新实体集依赖原实体集而存在,所以新实体集是一个弱实体集.1nER图设计实际例题公司管理工程管理人事管理财务管理合同管理……..该公司有若干技术部,每一技术部门承担多个工程,每个工程是部门负责制。每一个工程属于一个客户,一个客户可能有多个工程,一名员工可能参与多个工程,每一个工程有多名员工参与。选择局部应用(1):XX公司管理-工程管理在工程管理中数据库需保存的主要信息有:工程号、工程名、工程负责部门、完成期限、用户信息、每项工程职工的参与,职工参与工程的工作量。局部ER图设计实际例题选择局部应用:XX公司管理-工程管理工程号工程名客户名工期部门名员工名承担工程……根据处理的需要:部门需要描述吗?客户需要描述吗?员工名需要描述吗?工程号性别MN工程名工期员工工程参与部门名员工号员工名一名员工可能参与多个工程,每一个工程有多名员工参与。工程号工程名部门名承担工程工期工时工程号工程名工期部门名承担工程N1工程号电话工程名工期客户工程属于部门名客户号客户名每一个工程属于一个客户,一个客户可能有多个工程工时工程号性别MN工程名工期员工工程参与部门名员工号员工名电话N1客户属于客户号客户名实体集:工程(工程号,工程名,工期,部门名)员工(员工号,员工名,性别)客户(客户号,客户名,电话)联系:参与(工时)属于MN员工工程参与N1客户属于工程管理E-R图(1)该公司有多个部门,每个部门有多个职工,每一名职工属于一个部门。一名职工可能有多种技能,同一种技能有很多员工具备。选择局部应用(2):XX公司管理-人员管理在人员管理中数据库需保存的主要信息主要有:职工基本信息、所属部门,具备的技能与技术等。职工号职工名部门名性别年龄技能职工……职工技能具有MN聘用1N部门实体集:部门(部门号,部门名,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)联系:聘用具有(等级)人员管理E-R图(2)(分析方法同上)22:03:061)属性域冲突,即属性值的类型、取值范围不同。假设:E-R(1)中部门号为字符型,取值范围(0-9)E-R(2)中部门编号为数字型,取值范围(0-99)2)属性取值单位冲突如职工的工作量有的以小时为单位,有的可能以天为单位属性冲突通常以讨论和协商方式解决3.3.3视图的集成1.合并分E-R图,生成初步E-R图(1)属性冲突22:03:06(2)命名冲突1)同名异义冲突,即不同意义的对象在不同的局部应用中具有相同的名字。例如:房间(宿舍楼号,房间号,床位数)房间(教学楼号,教室号,座位数)2)异名同义冲突,即意义相同的对象在不同的局部应用中有不同的名字。例如:E-R(1)’员工‘与E-R(2)’职工‘是相同意义上的对象22:03:061)同一对象在不同的应用中具有不同的抽象。‘部门’在E-R(1)作为属性,在E-R(2)实体集2)同一实体集在不同分E-R图中的属性组成不一致.同一实体集在不同局部视图中所包含的属性不完全相同。这是常见的一类冲突:E-R(1)中员工(员工号,员工名,性别)E-R(2)中职工(职工号,职工名,性别,年龄)(3)结构冲突22:03:063)实体集之间的联系在不同的分E-R图中呈现不同的类型。例如2个实体集E1、E2在一个局部应用中是一对一的联系,而在另一个局部应用中是一对多的联系(3)结构冲突冲突属性冲突命名冲突结构冲突属性域冲突属性取值单位冲突同名异义冲突异名同义冲突同一对象有不同的抽象同一实体集属性组成不一致.实体集之间的联系类型不一致22:03:06实体集:部门(部门号,部门名,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)联系:聘用具有(等级)实体集:工程(工程号,工程名,工期,部门名)员工(员工号,员工名,性别)客户(客户号,客户名,电话)联系:参与(工时)属于一、命名冲突:1)‘员工’统一为‘职工’二、结构冲突:1)职工属性为职工号,职工名,性别,年龄2)将部门名抽象为实体集将局部E-R图合并实体集:客户(客户号,客户名,电话)工程(工程号,工程名,工期)部门(部门号,部门名,电话,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)联系:属于承担参与(工时)聘用具有(等级)技能具有MN聘用N1MN职工工程参与N1部门承担职工1N属于客户确定局部结构范围确定局部结构实体集定义局部结构属性定义局部结构联系还有局部结构设计?系统分析结果全局E-R模型设计有无E-R模型的设计步骤22:03:063.4.2概念模型向关系模型的转换1.实体集的转换规则一个实体集转换为关系模型中的一个关系模式,实体集的属性就是关系模式的属性,从实体集码中选择一个当主码。客户(客户号,客户名,电话)工程(工程号,工程名,工期)部门(部门号,部门名,电话,负责人)职工(职工号,职工名,性别,年龄)技能(技能代号,技术名称,类别)22:03:062.实体集间联系的转换规则(1)1:1联系的转换方法1)将1:1联系转换为一个独立的关系模式,与该联系相连的各实体集的主码以及联系本身的属性均转换为该模式的属性,且每个实体集的主码均是该关系模式的码,选择一个当主码。实体集:职工(职工号,姓名,年龄)地点(地点编号,地点名,值班电话)联系:值班(日期)值班(职工号,地点编号,日期)或值班(地点编号,职工号,日期)地点职工值班1122:03:062)将1:1联系与某一端实体集所对应的关系模式合并,在被合并关系模式中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的主码产品职工负责11实体集:职工(职工号,姓名,年龄)产品(产品号,产品名,价格)联系:负责职工(职工号,姓名,年龄,产品号)产品(产品号,产品名,价格)职工(职工号,姓名,年龄)产品(产品号,产品名,价格,职工号)在关系数据库中,为了实现表与表之间的联系,将一个表的主码放到另一个表中(公共属性),这些在另一个表中起联系作用的属性称为外码如果职工记录多产品记录少则有太多的空值22:03:06(2)1:n联系的转换方法1)将联系转换为一个独立的关系模式。其关系的属性由与该联系相连的各实体集的主码以及联系本身的属性组成,而该关系的主码为n端实体集的主码图书读者借阅1n读者(读者号,姓名,性别)图书

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

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

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

×
保存成功