【教学课件】第五章数据库设计.ppt

上传人:牧羊曲112 文档编号:5662712 上传时间:2023-08-07 格式:PPT 页数:89 大小:460KB
返回 下载 相关 举报
【教学课件】第五章数据库设计.ppt_第1页
第1页 / 共89页
【教学课件】第五章数据库设计.ppt_第2页
第2页 / 共89页
【教学课件】第五章数据库设计.ppt_第3页
第3页 / 共89页
【教学课件】第五章数据库设计.ppt_第4页
第4页 / 共89页
【教学课件】第五章数据库设计.ppt_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《【教学课件】第五章数据库设计.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第五章数据库设计.ppt(89页珍藏版)》请在三一办公上搜索。

1、1,第五章 数据库设计,5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计 5.6 数据库实施 5.7 数据库运行与维护,2,5.1 数据库设计概述,数据库设计是指对于给定的应用环境,构造最优的DB模式,建立DB及应用系统,使之能有效的存储数据,满足各种用户的应用需求。1.设计步骤,3,5.1 数据库设计概述,需求分析 任务:准确了解与分析用户需求。即信息要求,处理要求,安全性与完整性要求 方法:自顶向下的结构化分析方法 阶段结果:数据流图(DFD)和数据字典(DD)概念结构设计 任务:把用户需求抽象为信息结构 方法:E-R模型 阶段结

2、果:基本E-R图逻辑结构设计 任务:把基本E-R图转换为DBMS支持的关系模型 方法:模式转换规则 阶段结果:关系数据库模式及关系子模式,4,5.1 数据库设计概述,物理设计 任务:为数据库设计最适合应用环境的存储结构和存取路径。结果:确定数据的存储记录格式、存储记录位置分布及访问方法。实施与维护 运用DBMS提供的数据语言,根据逻辑设计和物理设计的结果建立数据库,编制、调试应用程序,并试运行等。并在运行过程中不断地对系统评价、调整与修改,5,5.1 数据库设计概述,2.设计特点特点之一 DB建设是硬件、软件和干件的结合特点之二 DB设计和应用系统设计相结合(即设计过程中把结构设计和行为设计紧

3、密结合起来),6,5.1 数据库设计概述,3.设计方法常见的DB设计方法:视图模型化及视图汇总设计方法 关系模式的设计方法 新奥尔良设计方法 基于E-R模型的设计方法 基于3NF的设计方法 基于抽象语法规范的设计方法 计算机辅助DB设计方法,7,第五章 数据库设计,5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计 5.6 数据库实施 5.7 数据库运行与维护,8,5.2 需求分析,1.需求分析的任务 从DB设计的角度考虑,需求阶段的目标是:对现实世界要处理的对象进行详细调查,在了解原系统的概况,确定新系统功能的过程中,收集支持系统目标

4、的基础数据及处理,调查的重点是“数据”和“处理”,通过调查要从中获得每个用户对DB的如下要求:,9,5.2 需求分析-需求分析的任务,信息要求:用户将从DB中获得信息的内容、性质,由信息要求导出数据要求,即在DB中需存储哪些数据。处理要求:用户要完成什么处理功能,对某种处理要求的响应时间、处理的方式。安全性和完整性要求,10,5.2 需求分析,2.需求分析的方法分析方法:结构化分析方法自顶向下,逐层分解具体步骤:(1)首先了解组织机构情况:组织由哪些部门组成,各部门的职责是什么(2)了解各部门的业务活动情况:输入和使用什么数据如何加工处理这些数据输出什么数据,到什么部门,输出结果的格式是什么(

5、3)协助用户明确对新系统的各种要求(4)确定系统边界,11,5.2 需求分析-需求分析的方法,调查研究方法:跟班作业、调查会、请专人介绍、询问、设计调查表、查阅记录等。结果表达方法:用一组数据流图(DFD)和数据字典(DD)描述结果。数据流图是从“数据”和“对数据的加工”两方面表达数据处理系统工作过程的一种图形表示法。例:,12,5.2 需求分析-需求分析的方法,数据流图作为自顶向下逐步细化描述对象的工具,先建立系统高层抽象图,把整个系统看成一个处理,并表明其输入输出,然后再逐层分解,直到把系统的工作过程表达清楚为止。,13,5.2 需求分析,3.数据字典DFD 表达了数据和处理的关系DD 是

6、系统中各类数据描述的集合DD包括:数据项,数据结构,数据流,数据存储,处理五个部分。数据项(不可再分的数据单位)数据项描述=数据项名,数据项含义说明,别名,类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,14,5.2 需求分析-数据字典,数据结构(反映了数据间的组合关系)数据结构描述=数据结构名,含义说明,组成:数据项或数据结构 数据流(数据结构在系统内传输的路径)数据流描述=数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量,15,5.2 需求分析-数据字典,数据存储(数据结构停留和保存的地方)数据存储描述=数据存储名,说明,编号,输入数据流,输出数据流,组

7、成:数据结构,数据量,存取频度,存取方式 处理过程(具体处理逻辑)处理过程描述=处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明 一般用判定表或判断树描述,16,第五章 数据库设计,5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计 5.6 数据库实施 5.7 数据库运行与维护,17,5.3 概念结构设计,需求分析得到的结果还是现实世界的具体需求,这里要做第一步抽象,把他们抽象为信息世界的结构,才能更好、更准确的用某个DBMS实现用户的需求。将用户需求抽象为信息结构,就是概念结构设计,这个步骤是整个DB设计的关键所在。,18

8、,5.3 概念结构设计,设计方法通常有四类:自顶向下:先定义全局概念结构框架,然后逐步细分。自底向上:先定义各局部应用概念结构,再集成。逐步扩张:先定义最重要的核心概念结构,再向外扩充。混合策略:先用自顶向下策略设计一个全局概念结构框架,以它为骨架集成由底向上策略中设计的各局部概念结构。,19,5.3 概念结构设计,通常采用自底向上方法,即自顶向下进行需求分析,再自底向上设计概念结构。无论采用哪种方法,一般都以E-R模型为工具描述概念结构。,20,5.3 概念结构设计,1.数据抽象与局部视图设计 E-R模型是对现实世界的一种抽象,它抽取人们关心的事物的共同特征,忽略非本质的细节,并把这些特征用

9、多种概念精确地加以描述,这些概念组成了某种模型。,21,5.3 概念结构设计-数据抽象与局部视图设计,(1)选择局部应用 通过需求分析,得到了用多层数据流图和数据字典描述的整个系统。这里首先要做的是根据具体情况在多层数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用。通常高层数据流图反映系统概况,中层能较好的反映系统中各局部应用的子系统组成。所以以中层作为E-R图设计的依据。,22,5.3 概念结构设计-数据抽象与局部视图设计,(2)设计分E-R图 要将局部应用中的数据从数据字典中抽取出来,参照数据流图,分类,组织,形成实体、属性等。关键有三步:确定实体类型 确定实体间的

10、联系类型 确定实体和联系类型的属性,23,5.3 概念结构设计-数据抽象与局部视图设计,常用的数据抽象:分类:把现实世界中一组具有共同特性和行为的对象抽象为一个实体。聚集:把对象类型的组成成分抽象为实体的属性。概括:定义类型之间的一种子集联系,具有继承性。如何界定应用中的实体和属性?,24,5.3 概念结构设计-数据抽象与局部视图设计,基本准则:作为“属性”,不能再具有需要描述的性质,即属性是不可分的数据项,不能再由另一些属性组成。作为“属性”,在它所描述的实体之外,不能再与其他实体具有联系。例:,25,5.3 概念结构设计,2.视图的集成 即把分E-R图综合成总E-R图。方法:二元阶梯合成法

11、:先合并两个最相似的局部模式,其结果与另一个相似的局部模式合并,直至所有的合并为一个全局模式。N元合成法:首先分析识别所有的冲突,然后一次合成所有的局部模式,形成全局模式。平衡二元合成法:先把局部模式按相似性分成多对,然后合并每一对模式,对合并的中间结果重复上述过程,直至产生全局模式。混合合成法:先把局部模式分成多组,再使用上述任一方法合并每个模式组,对合并的中间结果重复,直至产生全局模式。,26,5.3 概念结构设计-视图的集成,无论何种方法,基本分成两步:第一步合并,解决各分E-R图之间的冲突,生成初步E-R图。第二步修改和重构,消除不必要冗余,生成基本E-R图。,27,5.3 概念结构设

12、计-视图的集成,(1)合并分E-R图,生成初步E-R图 由于各局部应用面向的问题不同,通常又由不同人设计,这就导致分E-R图之间必定会存在许多不一致的地方。因而在合并时,必须着力于消除分E-R图中的不一致,即合理消除各分E-R图的冲突是合并工作的关键所在。,28,5.3 概念结构设计-视图的集成,冲突的类型:属性冲突:属性域冲突:即属性值的类型、取值范围或取值集合不同 属性取值单位冲突 命名冲突:同名异义:即不同意义的对象具有相同的名字 异名同义:即同一意义的对象具有不同的名字 结构冲突:同一对象在不同应用中的不同抽象 同一实体在不同分E-R图中属性组成不同 实体之间联系在不同分E-R图中呈现

13、不同类型,29,5.3 概念结构设计-视图的集成,前两个冲突用讨论方法协商解决,结构冲突则要认真分析后用技术手段解决。例如:把属性实体或实体属性,使同一对象具有相同的抽象。同一实体的属性构成通常取分E-R图中属性的并,再适当调整顺序。实体联系的类别则根据应用的语义加以综合或调整。,30,5.3 概念结构设计-视图的集成,例:有下面两个E-R图产品和零件间 n:m“构成”按语义不能被产品、零件、供应商间多元 n:m“供应”所包括,因此在合并时就应综合它们。,31,5.3 概念结构设计-视图的集成,(2)修改与重构,生成基本E-R图 初步E-R图可能存在冗余数据和冗余联系,把消除了冗余的初步E-R

14、图称为基本E-R图。,32,5.3 概念结构设计-视图的集成,用分析的方法消除冗余 数据流图及数据字典是用分析方法消除冗余的依据例:其中Q3=Q1*Q2Q4=Q5 可以消除由于Q3 是由”使用”产生,故也应消除,33,5.3 概念结构设计-视图的集成,用规范化理论消除冗余 确定分E-R图实体间的函数依赖(实体间1:1,1:n,n:m 的联系可用实体码之间的函数依赖表示)求函数依赖集F的最小覆盖(无冗余数据依赖)例:部门与职工之间1:n 可表示为:职工号部门号 职工与产品之间n:m可表示为:(职工号,产品号)出勤天数 职工与产品之间1:1可表示为:负责人.职工号产品号 或 产品号负责人.职工号,

15、34,5.3 概念结构设计-视图的集成,视图集成后形成了一个整体的数据库概念结构,对该结构必须验证确保它满足下列条件:整体概念结构内部必须具有一致性(即不能存在相互矛盾的表达)整体概念结构能准确反映原来每个视图结构,包括属性、实体及联系。整体概念结构能满足需求分析各阶段所确定的所有需求。,35,第五章 数据库设计,5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计 5.6 数据库实施 5.7 数据库运行与维护,36,5.4 逻辑结构设计,任务:把概念结构转换为与选用的DBMS所支持的数据模型。(按理:先选择对某个概念结构最好的数据模型,

16、然后对支持这种数据模型的各种DBMS进行比较后选出最合适的DBMS)步骤:,37,5.4 逻辑结构设计,1.E-R图向关系模型的转换 关系模型的逻辑结构是一组关系模式的集合。因此转换实际上是要将实体、属性和联系转换为关系模式。转换规则:(1)每个实体型转换成一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。(2)把各个实体型之间的每一个n:m联系转换成一个关系模式。该关系模式中的属性除了要包括联系本身所具有的属性外,还要包括这个联系的双方实体型的主码作为外来码。,38,5.4 逻辑结构设计-E-R图向关系模型的转换,(3)实体型之间1:n联系,一般不用建立单独的关系模式,让“单”的

17、一方的主码作为“多”的一方的外来码。若联系本身具有属性,则也应作为“多”的一方关系模式中的属性。(4)对n:m的多元联系,要单独建立关系模式。关系模式中的属性要包括联系的属性,还要包括这个联系的各个实体的主码作为外来码。(5)具有相同码或只有单一属性的模式可合并或消去。,39,5.4 逻辑结构设计-E-R图向关系模型的转换,例:,40,5.4 逻辑结构设计-E-R图向关系模型的转换,关系模式:部门(部门号,部门名,经理职工号,)职工(职工号,职工名,性别,部门号)产品(产品号,产品名,规格,组长职工号)供应商(供应商号,名称,电话,地址,)零件(零件号,零件名,规格,型号,)职工工作(职工号,

18、产品号,工作天数,)供应(产品号,零件号,供应商号,供应量,),41,5.4 逻辑结构设计,2.数据模型的优化 数据库逻辑设计的结果不唯一,要提高数据库应用系统的性能,就应根据应用需要修改和调整数据模型的结构,即做优化工作,而规范化理论是DB逻辑设计的指南和工具。具体方法如下:(1)确定数据依赖。根据需求阶段得到的语义,分别写出每个关系模式内部各属性间的数据依赖及不同关系模式属性间的数据依赖。(如:S.S#SC.S#),42,5.4 逻辑结构设计-数据模型的优化,(2)对各关系模式之间的数据依赖进行极小化处理,消除冗余联系。(3)按照数据依赖理论对关系模式逐一分析,确定各关系模式的范式级别。(

19、4)按需求分析阶段得到的处理要求,分析对于这样的应用环境,这些模式是否合适,确定是否要对它们进行合并或分解。(5)对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。,43,5.4 逻辑结构设计-数据模型的优化,常用的分解方法:水平分解 分解规则:根据“80/20原则”,一个大型关系中,经常被使用的数据只是很有限的一部分,把经常使用的数据分解出来,形成一个子关系。若关系R上具有n个事务,且多数事务存取的数据不相交,则R可分解为少于或等于n个子关系,使每个事务存取的数据形成一个关系。,44,5.4 逻辑结构设计-数据模型的优化,垂直分解:基本原则:把经常在一起使用的属性从R中分解出来

20、形成一个独立的关系模式,可提高某些事务的效率,但也可能使另一些事务不得不执行连接操作而降低效率,因此是否进行垂直分解取决于分解后R上的所有事务的总效率是否得到提高。垂直分解要确保无损连接性和函数依赖保持性。,45,5.4 逻辑结构设计,3.设计用户子模式 经过前面一系列工作,生成了整个应用系统的的模式,还应根据局部用户要求结合具体DBMS的特点,设计用户外模式。设计DB模式主要从系统的时间效率、空间效率、易维护等角度出发,由于外模式与模式是独立的,因此设计外模式时更需注意考虑用户的习惯与方法。包括:使用更符合用户习惯的别名 在合并E-R图时,曾做消除命名冲突工作,使其具有唯一名字,这是必要的。

21、但对某些局部应用,由于改用了不符合用户习惯的属性名,使他们感到不便,则在设计子模式时可重新定义。,46,5.4 逻辑结构设计-设计用户子模式,针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求 例:产品(产品号,产品名,规格,单价,生产车间,生产负责人,产品成本,产品合格率,质量等级)可分解为:产品1(产品号,产品名,规格,单价,质量等级)产品2(产品号,产品名,规格,单价,车间,负责人)简化用户对系统的使用 若某些局部应用经常要使用某些很复杂的查询,为方便用户,可将这些复杂查询定义为视图,用户每次都只是对定义好的视图查询,使用户感到简单、直观、易于理解。,对一般用户,对销售部门,4

22、7,第五章 数据库设计,5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计 5.6 数据库实施 5.7 数据库运行与维护,48,5.5 数据库物理设计,DB在物理设备上的存储结构与存取方法称为DB的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是DB的物理设计。一般分为确定DB物理结构和评价物理结构两步。,49,5.5 数据库物理设计,在设计前必须首先做到:充分了解所用DBMS的内部特征(特别是存储结构与存取方法)充分了解应用环境(特别是应用的处理频率和响应时间)充分了解外存设备的

23、特性对关系DB物理设计的内容主要包括:为关系模式选择存取方法 设计关系、索引等DB文件的物理存储结构。,50,5.5 数据库物理设计,1.关系模式存取方法选择 DBS是多用户共享系统,对同一个关系要建立多条存取路径才能满足多用户的多种应用要求。因此确定选择存取方法是物理设计任务之一。存取方法是快速存取DB中数据的技术。DBMS提供了多种方法。常用的:索引方法 聚簇方法 HASH方法(散列存取方法),51,5.5 数据库物理设计-关系模式存取方法选择,(1)索引存取方法的选择 根据应用要求确定对关系的哪些属性列建立索引,或建立组合索引。哪些索引要设计成唯一索引等。一般来说:若一个(或一组)属性

24、经常在查询条件中出现 经常作为最大值和最小值等聚集函数的参数 经常在连接操作的连接条件中出现 则考虑在这个(或这组)属性上建立索引。但也并不是索引越多越好。系统要为维护索引付出代价,查找索引也要付出代价。假如一个关系的更新频率很高,则不能建立太多索引。,52,5.5 数据库物理设计-关系模式存取方法选择,(2)聚簇存取方法的选择 为提高某个属性的查询速度,把这个属性上具有相同值的元组集中存放在连续的物理块称为聚簇。(将逻辑上经常一起查询的属性在物理存储上进行调整)聚簇功能可大大提高按聚簇码进行查询的效率。例:为S建立索引文件,主要查询金融系的所有学生(设有58名)。,53,5.5 数据库物理设

25、计-关系模式存取方法选择,极端情况:58名学生对应的元组放在58个不同的物理块上。由于每访问一个物理块要执行一次I/O操作,即使不考虑访问索引文件的I/O次数,也要执行58次I/O操作。若将金融系的学生元组集中存放,则每读一个物理块可得到多个满足条件的元组,从而减少了访问磁盘的次数。另外聚簇后,聚簇码相同的元组集中放在一起,因此聚簇码只要在一个元组中存放一次,而不必每个元组重复存放。因而节省了一些存储空间。,54,5.5 数据库物理设计-关系模式存取方法选择,聚簇功能不仅适应于单表,也适用于多表 例:经常按系别查询学生成绩,就要涉及S与SC的连接操作。而利用聚簇,可把相同学号的学生元组和选课元

26、组物理上聚簇在一起。一个DB可建立多个聚簇,一个关系只能加入一个聚簇。注:建立聚簇的开销非常大,且聚簇只能提高某些特定应用的性能。一般应考虑下列条件:,55,5.5 数据库物理设计-关系模式存取方法选择,经常在一起进行连接操作的关系可建立聚簇。对应每个聚簇码值的平均元组数即不太少,也不太多。聚簇码值相对稳定(经常修改的属性不合适)。,56,5.5 数据库物理设计,2.确定数据库的存储结构 主要指确定数据存放位置和存储结构,确定系统配置等。要结合考虑存取时间、存储空间利用率和维护代价三个因素。(1)确定数据的存放位置 为了提高性能,应根据应用情况将数据分为:易变数据 稳定数据 经常存取数据 存取

27、频率低数据 分别存放。,57,5.5 数据库物理设计-确定数据库的存储结构,例:若有多个磁盘,可将表和索引分放在不同磁盘上,查询时,两个磁盘驱动器可同时工作,提高I/O读写效率。也可将一个较大的表分放在两个磁盘上,以加快存取速度,在多用户情况下特有效。还可将日志文件与表、索引放在不同磁盘上,以改进系统性能。(2)确定系统配置 DBMS提供许多系统配置变量,存储分配参数,供设计人员对DB进行物理优化。,58,5.5 数据库物理设计-确定数据库的存储结构,3.评价物理结构 进行DB物理设计时需要对时间效率、空间效率、维护代价、各种用户要求进行权衡,其结果可产生多种方案。因此要评价,选一个较优的方案

28、。评价物理DB的方法完全依赖于所用的DBMS,主要从定量计算多种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。,59,第五章 数据库设计,5.1 数据库设计概述 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计 5.6 数据库实施 5.7 数据库运行与维护,60,5.6 数据库的实施,数据库实施主要包括以下工作:用DDL定义DB结构 编制与调试应用程序 组织数据入库 DB试运行 筛选数据 功能测试 输入数据 性能测试 校验数据 转换数据 综合数据,61,第五章 数据库设计,5.1 数据库设计概述 5.2 需

29、求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计 5.6 数据库实施 5.7 数据库运行与维护,62,5.7 数据库运行与维护,DB试运行结果符合设计目标后,就可以真正投入运行了。在此阶段,对DB经常性的维护工作主要是由DBA完成,它包括以下内容:DB的转储和恢复 DB的安全与完整性控制 DB的性能的监督、分析和改进 DB的重组和重构小结:一个DB应用系统经过 需求概念逻辑物理实施维护 六个阶段,DB的各级模式正是在这样的设计过程中逐步形成的。,63,概念结构设计,逻辑结构设计,物理结构设计,64,数据库设计应用实例分析,本章的重点是概念结构设计和逻辑结构设计,这也是

30、数据库设计过程中最重要的两个环节。下面分析几个例子。【例1】设计一个小型数据库系统:某学院有若干教研室,每个教研室有一个室主任和多个教师,每个教师只能属于一个教研室;一个教师可开设多门课,每门课可由不同的教师开设。E-R模型具体建立步骤如下:(1)先确定实体型 本问题有三个实体型:教研室、教师和课程。,65,数据库设计应用实例分析,(2)确定联系类型 在三个实体型之间有两个联系类型:教研室和教师之间是1:N联系,定义联系类型为”属于”;教师和课程之间是M:N联系,定义联系类型为”开设”。(3)确定实体型和联系类型的属性 各实体型的属性分别为:教研室:名称,室主任,专业方向,电话 教师:教师号,

31、姓名,性别,出生年月,职称 课程:课程号,课程名,学分,开设学期 开设:地点,时间,66,数据库设计应用实例分析,(4)把实体型、联系类型和属性组成E-R图,67,数据库设计应用实例分析,把E-R图转换成关系模式 按照转换规则,把E-R图中的每一个实体型转换成一个关系模式,带有下划线的为关系模式的码,斜体字为关系模式的外码。教研室(名称,室主任,专业方向,电话)教师(教师号,姓名,性别,出生年月,职称,教研室)课程(课程号,课程名,学分,开设学期)开设(教师号,课程号,地点,时间),68,数据库设计应用实例分析,【例2】设计一个学校的课程管理系统,有关课程管理的规则如下:学校开设多门课,每门课

32、可由不同的教师讲授,用统一指定的教科书。每个学生可选修多门课,每门课可有多个学生选修。每个教师要教多个学生,每个学生可选择不同教师的课程。每门课程有指定的教室,某一时刻每个教室只能开设一门课。,69,数据库设计应用实例分析,1.设计E-R模型(1)确定实体型 由分析可知,课程管理系统有五个实体型:学生,课程,教师,教室,教科书。(2)确定联系类型 共有下述四个联系类型。学生和课程之间是M:N联系,定义为”选修”。课程和教室之间是1:1关系,定义为”开设”。学生和教师之间是M:N联系,定义为”教学”。另外课程、教师和教科书之间存在三个实体间的1:N联系,定义联系类型为”讲授”。,70,数据库设计

33、应用实例分析,(3)确定实体型和联系类型的属性各实体型的属性分别为:学生:学号,姓名,性别,出生年月,系别 课程:课程号,课程名,学分 教师:教师号,姓名,性别,职称 教科书:书号,书名,出版社,单价 教室:编号,地址,容量联系类型属性有:选修:成绩 教学:人数,71,数据库设计应用实例分析,(4)把实体型、联系类型和属性组成E-R图,72,数据库设计应用实例分析,2.把E-R图转换成关系模式 按照转换规则,得到八个关系模式:学生(学号,姓名,性别,出生年月,系别)课程(课程号,课程名,学分,教室)教师(教师号,姓名,性别,职称)教科书(书号,书名,出版社,单价)教室(编号,地址,容量)选修(

34、学号,课程号,成绩)教学(教师号,学号,人数)讲授(教师号,课程号,书号),73,数据库设计应用实例分析,【例3】某超市公司要设计一个数据库系统来管理公司的业务信息,该超市公司的业务管理大致可分为三部分:超市公司的仓库管理业务 连锁商店的商品销售业务 连锁商店的集团购买业务,74,数据库设计应用实例分析,业务管理规则如下:(1)该超市公司有若干仓库,若干连锁商店,供应若干商品;(2)超市公司的业务员负责与供应商联系商品进货业务;(3)购进的商品按类存放在仓库中,每个仓库有若干仓库保管员;(4)每个连锁商店有一个经理和若干收银员,每个收银员只在一个连锁商店工作;,75,数据库设计应用实例分析,(

35、5)每个商品编号只有一个商品名称,但不同商品编号可以有相同的商品名称,每种商品可有多种销售价格;(6)连锁商店实行会员制,通过会员卡收集顾客信息。顾客办理会员卡后,可享受一定的优惠;(7)连锁商店要处理客户和销售员送来的集团购买大宗商品的订单,并根据库存情况在交出货物同时开出发票,收到付款后进行应收款处理;(8)连锁商店对大宗订货给予优惠,每种商品规定了不同订货数量的折扣。,76,数据库设计应用实例分析,下面进行DB概念结构设计和逻辑结构设计1.设计局部E-R模式 对该超市公司的DBS设计可按公司不同的业务分类,先为每类业务设计一个局部E-R模式,然后再集成,形成全局E-R模式。,77,数据库

36、设计应用实例分析,仓库管理子系统分E-R图 根据超市公司的管理规则(2)和(3),与仓库管理子系统有关的实体有:业务员,商品,供应商,仓库,职工。因为每个业务员都可以与若干家供应商联系多项商品或进货业务,所以在业务员,商品和供应商之间存在一个三元的多对多的联系。另外由规则可知,在仓库与商品之间,在仓库和职工之间都存在一对多的联系,由此得到下面分E-R图:,(2)超市公司的业务员负责与供应商联系商品进货业务;(3)购进的商品按类存放在仓库中,每个仓库有若干仓库保管员,78,仓库管理子系统分E-R图,79,数据库设计应用实例分析,商品销售处理子系统分E-R图 根据规则(1),(4),(5)和(6)

37、,与商品销售业务有关的实体有:商店,商品,收银员,顾客。又因为每个收银员都要与多个顾客购买的多种商品发生业务联系,所以在收银员、商品与顾客之间存在一个多对多的联系。而商店与商品之间的联系显然也是多对多的。由规则(4),商店与收银员之间存在一个一对多的联系,由此得到下面分E-R图:,(1)该超市公司有若干仓库,若干连锁商店,供应若干商品(4)每个连锁商店有一个经理和若干收银员,每个收银员只在一个连锁商店工作,(5)每个商品编号只有一个商品名称,但不同商品编号可以有相同的商品名称,每种商品可有多种销售价格(6)连锁商店实行会员制,通过会员卡收集顾客信息。顾客办理会员卡后,可享受一定的优惠,80,商

38、品销售处理子系统分E-R图,81,数据库设计应用实例分析,集团购买处理子系统分E-R图 连锁商店的集团购买业务是单独处理的,此业务处理主要是围绕了“订单”和“应收帐款”的处理。且这两项处理用的数字是许多数据流共享的数据。因此可确定“订单”和“应收帐款”为实体。另外每张订单由订单号、若干头信息和订单细节组成。订单细节又由商品号、数量等来描述。因此订单细节就不能做为订单的属性处理,而应该上升为实体。,82,数据库设计应用实例分析,一张订单可以订若干商品,所以订单与订单细节两个实体间是一对多联系。由此,原订单和商品的联系实际上是订单细节和商品的联系。每条订单细节对应一个商品描述,订单处理从中获得当前

39、商品单价,重量等信息。由于连锁商店对集团的大宗订货给予优惠。每种商品都规定了不同订货数量的折扣,应增加一个“折扣规则”实体来存放这些有关信息。下面就是有关集团购买处理的分E-R图:,83,集团购买处理子系统分E-R图,84,数据库设计应用实例分析,2.设计全局E-R模式这里要做的工作是把前面得到的分E-R图集成。在集成过程中,要注意合理地消除各分E-R图的冲突,消除不必要的冗余。例如,连锁商店的所有商品,都是通过公司的仓库调配进货的,所以商品和仓库之间的多对多联系,以及商品和商店之间的多对多的联系,可以合并成三个实体间的多对多联系。集成后的E-R图如下图所示:,85,全局E-R模式,86,数据

40、库设计应用实例分析,3.把E-R模式转换成关系模式遵循关系模型的转换规则,把上面得到的全局E-R图转换成关系模式:职工(工号,姓名,性别,仓库号)仓库(仓库号,地址,电话,负责人)商店(商店号,商店名,地址,电话,经理)商品(商品号,商品名,规格,单价,产地)收银员(工号,姓名,性别,商店号),职工关系模式包含了1:n联系“从属”所对应的关系模式,仓库关系模式包含了1:1联系“领导”所对应的关系模式,收银员关系模式包含了1:n联系“聘用”所对应的关系模式,87,数据库设计应用实例分析,顾客1(顾客号,姓名,地址,电话)供应商(供应商号,名称,地址,帐号,电话)业务员(工号,姓名,性别,电话)进货1(商品号,供应商号,业务员,进货量)进货2(商品号,商店号,仓库号,数量)销售(商品号,收银员,顾客号,销售额)顾客2(顾客号,名称,地址,电话,信贷状况,帐目余额),88,数据库设计应用实例分析,应收帐款(顾客号,订单号,发票号,应收金额,支付日期,支付金额)订单(订单号,顾客号,订货项数,订货日期,交货日期)订单细节(订单号,细节号,商品号,订货数,金额)商品描述(商品号,商品名,单价)折扣规则(商品号,订货量,折扣),89,第六章结束,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号