《第5章数据库设计(大学教程)》由会员分享,可在线阅读,更多相关《第5章数据库设计(大学教程)(33页珍藏版)》请在金锄头文库上搜索。
1、数据库原理及应用第第5 5章章数据库设计数据库设计本章重点本章重点 本章要求了解数据库设计的方法、特本章要求了解数据库设计的方法、特点和步骤,掌握需求分析、概念结构、逻点和步骤,掌握需求分析、概念结构、逻辑结构、物理结构、数据库实施、数据库辑结构、物理结构、数据库实施、数据库运行和维护六个阶段设计的目标、方法和运行和维护六个阶段设计的目标、方法和应注意的事项,重点掌握概念结构和逻辑应注意的事项,重点掌握概念结构和逻辑结构设计这二个阶段。结构设计这二个阶段。 8/25/2024数据库原理及应用5.1 5.1 数据库设计概述数据库设计概述 数据库设计是建立数据库及其应用系统的技术,是信息系数据库设
2、计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。统开发和建设中的核心技术。 具体说,具体说,数据库设计数据库设计是指对于一个给定的应用环境,构造是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求地存储数据,满足各种用户的应用需求( (信息要求和处理要信息要求和处理要) )。这个问题是数据库在应用领域的主要研究课题。这个问题是数据库在应用领域的主要研究课题。 在数据库领域内,常常把使用数据库的各类系统统称为数在数据库领域内,常常把使用数据库的各类系统统称
3、为数据库应用系统。据库应用系统。 数据库设计是信息系统开发和建设的重要组成部分。数据库设计是信息系统开发和建设的重要组成部分。 8/25/2024数据库原理及应用5.1.1 5.1.1 数据库设计的步骤数据库设计的步骤我们按规范设计的方法将数据库设计分为以下六个阶段我们按规范设计的方法将数据库设计分为以下六个阶段, ,共九共九步:步:需求分析阶段需求分析阶段 第第1 1步:了解和分析用户的应用需求(包括数据与处理),进步:了解和分析用户的应用需求(包括数据与处理),进行需求收集和分析。行需求收集和分析。概念结构设计阶段概念结构设计阶段第第2 2步:对用户需求进行综合、归纳与抽象,形成一个独立于
4、步:对用户需求进行综合、归纳与抽象,形成一个独立于具体具体RDBMSRDBMS的概念模型。的概念模型。逻辑结构设计阶段逻辑结构设计阶段第第3 3步:按照一组转换规则,将概念模型转换为某个步:按照一组转换规则,将概念模型转换为某个RDBMSRDBMS支持支持的关系模型;的关系模型;第第4 4步:根据规范化理论,对关系模型进行优化。若对逻辑结步:根据规范化理论,对关系模型进行优化。若对逻辑结构设计不满意,则转第构设计不满意,则转第3 3步进行。步进行。8/25/2024数据库原理及应用物理结构设计阶段物理结构设计阶段第第5 5步:为关系模型选取一个最适合应用环境的物理结构(包括步:为关系模型选取一
5、个最适合应用环境的物理结构(包括存储结构和存取方法);存储结构和存取方法);第第6 6步:对此物理结构进行评价设计和性能预测。若对物理结构步:对此物理结构进行评价设计和性能预测。若对物理结构设计不满意,则转第设计不满意,则转第3 3或第或第5 5步进行。步进行。数据库实施阶段数据库实施阶段第第7 7步:运用步:运用RDBMSRDBMS提供的数据语言及其宿主语言,根据逻辑设提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,并组计和物理设计的结果建立数据库,编制与调试应用程序,并组织数据入库;织数据入库;第第8 8步:系统的试验性运行。若对数据库实施不满意,则
6、转第步:系统的试验性运行。若对数据库实施不满意,则转第5 5步进行。步进行。数据库运行和维护阶段数据库运行和维护阶段第第9 9步:数据库应用系统经过试运行后即可投入正式运行。在数步:数据库应用系统经过试运行后即可投入正式运行。在数据库系统的运行过程中必须不断地对其进行评价、调整与修改。据库系统的运行过程中必须不断地对其进行评价、调整与修改。8/25/2024数据库原理及应用5.2 5.2 需求分析需求分析5.2.1 5.2.1 需求分析的任务和方法需求分析的任务和方法 需求分析阶段的任务是通过详细调查现实世界要处理的需求分析阶段的任务是通过详细调查现实世界要处理的对象对象( (组织、部门、企业
7、等组织、部门、企业等) ),充分了解原系统的工作概况,充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅按当新系统必须充分考虑今后可能的扩充和改变,不能仅按当前应用需求来设计数据库。前应用需求来设计数据库。 调查的重点是调查的重点是“数据数据”和和“处理处理”,通过调查要从中获,通过调查要从中获得每个用户对数据库的如下要求:得每个用户对数据库的如下要求: 1. 1. 信息要求信息要求 2 2处理要求处理要求 3. 3. 安全性和完整性的要求安全性和完整性的要求 为了很好
8、地完成调查的任务,设计人员必须不断地与用为了很好地完成调查的任务,设计人员必须不断地与用户交流,与用户达成共识,以便逐步确定用户的实际需求,户交流,与用户达成共识,以便逐步确定用户的实际需求,然后分析与表达这些需求。然后分析与表达这些需求。 8/25/2024数据库原理及应用5.2.2 5.2.2 数据字典数据字典 数据字典数据字典(Data Dictionary,简称,简称 DD)则是对系则是对系统中数据的详尽描述,是各类数据属性的清单。对数据统中数据的详尽描述,是各类数据属性的清单。对数据库设计来讲,数据字典是进行详细的数据收集和数据分库设计来讲,数据字典是进行详细的数据收集和数据分析所获
9、得的主要结果。析所获得的主要结果。 数据字典是各类数据描述的集合,它通常包括以下数据字典是各类数据描述的集合,它通常包括以下五个部分:五个部分: 数据项,是数据的最小单位。数据项,是数据的最小单位。 数据结构,是若干数据项有意义的集合。数据结构,是若干数据项有意义的集合。 数据流,可以是数据项,也可以是数据结构。表示某一数据流,可以是数据项,也可以是数据结构。表示某一处理过程的输入或输出。处理过程的输入或输出。 数据存储,处理过程中存取的数据常常是手工凭证、数据存储,处理过程中存取的数据常常是手工凭证、手工文档或计算机文件。手工文档或计算机文件。 处理过程。处理过程。8/25/2024数据库原
10、理及应用5.2.3 5.2.3 数据流图数据流图 如何分析和表达用户的需求,这是一个重要的问如何分析和表达用户的需求,这是一个重要的问题。在众多的分析方法中,结构化分析题。在众多的分析方法中,结构化分析(Structured(Structured Analysis, Analysis,简称简称 SASA方法方法) )是一个简单实用的方法。是一个简单实用的方法。 SASA方法用自顶向下、逐层分解的方式分析系统。方法用自顶向下、逐层分解的方式分析系统。用数据流图,数据字典描述系统。任何一个系统都可以用数据流图,数据字典描述系统。任何一个系统都可以抽象为如图抽象为如图5.25.2所示的情况。所示的情
11、况。 图图5.2 5.2 系统高层抽象图系统高层抽象图 数据流图表达了数据和处理过程的关系。数据流图表达了数据和处理过程的关系。 8/25/2024数据库原理及应用 最后要指出两点:最后要指出两点: 1 1、需求分析阶段一个重要而困难的任务是收集将来、需求分析阶段一个重要而困难的任务是收集将来应用所涉及的数据。若设计人员仅按当前应用来设计数应用所涉及的数据。若设计人员仅按当前应用来设计数据库,以后再想加入新的实体,新的数据项和实体间新据库,以后再想加入新的实体,新的数据项和实体间新的联系就会十分困难。新数据的加入必定会影响数据库的联系就会十分困难。新数据的加入必定会影响数据库的概念结构、逻辑结
12、构和物理结构,因此设计人员应充的概念结构、逻辑结构和物理结构,因此设计人员应充分考虑到可能的扩充和改变,使设计易于更动。分考虑到可能的扩充和改变,使设计易于更动。 2 2、必须强调用户的参与,这是数据库应用系统设计、必须强调用户的参与,这是数据库应用系统设计的特点。在数据分析阶段,任何调查研究没有用户的积的特点。在数据分析阶段,任何调查研究没有用户的积极参加是寸步难行的。设计人员应该和用户取得共同的极参加是寸步难行的。设计人员应该和用户取得共同的语言,帮助不熟悉计算机的用户建立数据库环境下的共语言,帮助不熟悉计算机的用户建立数据库环境下的共同概念,并对设计工作的最后结果承担共同的责任。同概念,
13、并对设计工作的最后结果承担共同的责任。8/25/2024数据库原理及应用5.3 5.3 概念结构设计概念结构设计 概念结构独立于数据库逻辑结构,独立于支持数概念结构独立于数据库逻辑结构,独立于支持数据库的据库的DBMSDBMS,其主要特点是:,其主要特点是:1 1能充分地反映现实世界,包括实体和实体之间的联能充分地反映现实世界,包括实体和实体之间的联系,能满足用户对数据处理的要求,是现实世界的一个系,能满足用户对数据处理的要求,是现实世界的一个真实模型。真实模型。2. 2. 易于理解。从而可以和不熟悉计算机的用户交换意易于理解。从而可以和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成
14、功与否的关键。见,用户的积极参与是数据库设计成功与否的关键。3. 3. 易于更改。当现实世界改变时容易修改和扩充。易于更改。当现实世界改变时容易修改和扩充。4. 4. 易于向关系、网状或层次等各种数据模型转换。易于向关系、网状或层次等各种数据模型转换。 概念结构是各种数据模型的共同基础,它比数据模概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。型更独立于机器、更抽象,从而更加稳定。 8/25/2024数据库原理及应用5.3.1 5.3.1 概念结构设计的方法与步骤概念结构设计的方法与步骤 设计概念结构的方法有四种:设计概念结构的方法有四种: 自顶向下:首先定义
15、全局概念结构的框架,然后自顶向下:首先定义全局概念结构的框架,然后逐步细化。逐步细化。 自底向上:首先定义各局部应用的概念结构,然自底向上:首先定义各局部应用的概念结构,然后将它们集成,得到全局概念结构。后将它们集成,得到全局概念结构。 由里向外由里向外: : 首先定义最重要的核心概念结构,然首先定义最重要的核心概念结构,然后向外扩充,生成其他概念结构。后向外扩充,生成其他概念结构。 混合策略混合策略: : 自顶向下和自底向上相结合的方法,自顶向下和自底向上相结合的方法,用自顶向下策略设计一个全局概念结构的框架,以它用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的
16、各局部概念结构。为骨架集成由自底向上策略中设计的各局部概念结构。 8/25/2024数据库原理及应用 现介绍自底向上设计概念结构的方法。按照这种方现介绍自底向上设计概念结构的方法。按照这种方法,概念结构的设计可按下面步骤进行,见图法,概念结构的设计可按下面步骤进行,见图5.35.3所示。所示。 图图5.3 5.3 概念结构设计步骤概念结构设计步骤 8/25/2024数据库原理及应用5.3.2 5.3.2 数据抽象与局部视图设计数据抽象与局部视图设计1 1、数据抽象、数据抽象 E-RE-R模型是对现实世界的一种抽象。所谓抽象是对实模型是对现实世界的一种抽象。所谓抽象是对实际的人、物、事和概念的进
17、行人为处理,抽取人们关心际的人、物、事和概念的进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某种模型。概念精确地加以描述,这些概念组成了某种模型。一般一般有如下三种抽象:有如下三种抽象:(1 1)分类)分类(Classification)(Classification) 定义某一类概念作为现实世界中一组对象的类型。定义某一类概念作为现实世界中一组对象的类型。这些对象具有某些共同的特性和行为,它抽象了对象值这些对象具有某些共同的特性和行为,它抽象了对象值和型之间的和型之间的“is mem
18、ber ofis member of”的语义,在的语义,在E-RE-R模型中,实模型中,实体型就是这种抽象,如图体型就是这种抽象,如图5.45.4所示。所示。 8/25/2024数据库原理及应用 图图5.4 5.4 分类分类 (2 2)聚集)聚集(Aggregation(Aggregation) ) 定义某一类型的组成成分。它抽象了对象内部类型定义某一类型的组成成分。它抽象了对象内部类型和成分之间和成分之间“is part ofis part of”的语义,在的语义,在 E-RE-R模型中,若模型中,若干属性的聚集所组成的实体型就是这种抽象,如图干属性的聚集所组成的实体型就是这种抽象,如图5.
19、55.5所所示。示。 图图5.5 5.5 聚集聚集 8/25/2024数据库原理及应用(3 3)概括)概括(Generalization)(Generalization) 定义类型之间的一种子集联系。它抽象了类型之间定义类型之间的一种子集联系。它抽象了类型之间的的“is subset ofis subset of”的语义。例如学生是一个实体型,的语义。例如学生是一个实体型,本科生、研究生也是实体型。本科生、研究生均是学生本科生、研究生也是实体型。本科生、研究生均是学生的子集。把学生称为超类的子集。把学生称为超类( (SuperclassSuperclass) ),本科生、研究,本科生、研究生称
20、为学生的子类生称为学生的子类(Subclass)(Subclass)。 图图5.7 5.7 概括概括8/25/2024数据库原理及应用2 2、局部视图设计、局部视图设计 概念结构设计的第一步就是利用上面介绍的抽象机概念结构设计的第一步就是利用上面介绍的抽象机制对需求分析阶段收集到的数据进行分类、组织制对需求分析阶段收集到的数据进行分类、组织( (聚聚集集) ),形成实体、实体的属性,标识实体的码,确定实体,形成实体、实体的属性,标识实体的码,确定实体之间的联系类型之间的联系类型(1:1(1:1,1:n1:n,n:mn:m) ),设计局部视图(也,设计局部视图(也称局部称局部E-RE-R图)。具
21、体做法是:图)。具体做法是:(1 1) 选择局部应用选择局部应用 图图5.8 5.8 设计局部设计局部E-RE-R图的出发点图的出发点8/25/2024数据库原理及应用(2 2)逐一设计局部)逐一设计局部E-RE-R图图 每个局部应用对应一组数据流图,局部应用涉及的每个局部应用对应一组数据流图,局部应用涉及的数据已收集在数据字典中,将这些数据从数据字典中抽数据已收集在数据字典中,将这些数据从数据字典中抽取出来,参照数据流图,标定该应用中的实体、属性和取出来,参照数据流图,标定该应用中的实体、属性和实体之间的联系及其类型。实体之间的联系及其类型。 在给定的应用环境中,能够作为属性对待的,应尽在给
22、定的应用环境中,能够作为属性对待的,应尽量作为属性对待,目的在于简化量作为属性对待,目的在于简化 E-RE-R图的处置。在实体图的处置。在实体和属性的调整中,和属性的调整中,要遵循的二条基本准则是:要遵循的二条基本准则是: 作为作为“属性属性”,不能再具有需要描述的性质。即,不能再具有需要描述的性质。即属性不能是另一些属性的聚集。属性不能是另一些属性的聚集。 属性不能与其他实体具有联系。即属性不能与其他实体具有联系。即E-RE-R图中的联图中的联系是实体之间的联系。系是实体之间的联系。 符合上述两条的符合上述两条的“事物事物”一般作为属性来对待,否一般作为属性来对待,否则作为实体对待。则作为实
23、体对待。 8/25/2024数据库原理及应用 例例1 1 销售管理子系统局部销售管理子系统局部E-RE-R图的设计实例图的设计实例 某工厂开发管理信息系统,经过可行性分析和详细某工厂开发管理信息系统,经过可行性分析和详细调查,确定了该系统由物资管理、销售管理、劳动人事调查,确定了该系统由物资管理、销售管理、劳动人事管理等子系统组成。为每个子系统组成了开发小组。管理等子系统组成。为每个子系统组成了开发小组。 销售管理子系统开发小组的成员经过调查研究、信销售管理子系统开发小组的成员经过调查研究、信息流程分析和数据收集,明确了该子系统的主要功能息流程分析和数据收集,明确了该子系统的主要功能是:处理顾
24、客和销售员送来的订单;工厂是根据订货安是:处理顾客和销售员送来的订单;工厂是根据订货安排生产的;交出货物同时开出发票;收到顾客付款后,排生产的;交出货物同时开出发票;收到顾客付款后,根据发票存根和信贷情况进行应收款处理,可得到该子根据发票存根和信贷情况进行应收款处理,可得到该子系统的数据流图和数据字典,见下图系统的数据流图和数据字典,见下图5.105.10所示。所示。8/25/2024数据库原理及应用 图图5.10 5.10 销售管理子系统的数据流图销售管理子系统的数据流图 分析图分析图5.105.10和数据字典,知道整个系统功能围绕了和数据字典,知道整个系统功能围绕了“订单订单”和和“应收帐
25、款应收帐款”的处理。数据结构中订单、顾的处理。数据结构中订单、顾客、顾客应收帐目用得最多,是许多子功能、数据流共客、顾客应收帐目用得最多,是许多子功能、数据流共享的数据。享的数据。8/25/2024数据库原理及应用 先设计该局部先设计该局部E-RE-R图图的草图,如图的草图,如图5.115.11所示。所示。 图图5.11 5.11 局部局部E-RE-R图的草图图的草图 然后参照数据流图和数据字典中的详尽描述,遵循然后参照数据流图和数据字典中的详尽描述,遵循前面给出的二个准则,进行了一些调整(详细叙述见书前面给出的二个准则,进行了一些调整(详细叙述见书上),最后得到局部上),最后得到局部E-RE
26、-R图如下图图如下图5.125.12所示。所示。 8/25/2024数据库原理及应用 5.12 5.12 销售管理子系统的局部销售管理子系统的局部E-RE-R图图8/25/2024数据库原理及应用 对每个实体定义的属性如下:对每个实体定义的属性如下: 顾客:顾客: 顾客号顾客号,顾客名,地址,电话,信贷状况,顾客名,地址,电话,信贷状况,账目余额账目余额 订单:订单: 订单号订单号,顾客号,订货项数,订货日期,交,顾客号,订货项数,订货日期,交货日期,工种号,生产地点货日期,工种号,生产地点 订单细则:订单细则: 订单号,细则号订单号,细则号,零件号,订货数,金,零件号,订货数,金额额 应收帐
27、款:应收帐款: 顾客号,订单号顾客号,订单号,发票号,应收金额,发票号,应收金额,支付日期,当前余额,贷款限额支付日期,当前余额,贷款限额 产品描述:产品描述: 产品号产品号,产品名,单价,重量,产品名,单价,重量 折扣规则:折扣规则: 产品号,订货量产品号,订货量,折扣,折扣 ( (注:为了节省篇幅,实体与属性的关系没有用图形表注:为了节省篇幅,实体与属性的关系没有用图形表示,实体的主键用下划线表示示,实体的主键用下划线表示) )8/25/2024数据库原理及应用 5.3.3 5.3.3 总体概念总体概念E-RE-R模型设计模型设计( (视图的集成视图的集成) )视图集成就是把上一步得到的各
28、个局部视图集成就是把上一步得到的各个局部E-RE-R图综合成一个图综合成一个总总E-RE-R图。视图集成可以有两种方式:图。视图集成可以有两种方式:v多个局部多个局部E-RE-R图一次集成。图一次集成。v逐步集成逐步集成,用累加的方式一次集成两个局部,用累加的方式一次集成两个局部E-RE-R图。图。第一种方式比较复杂,第二种方式每次只集成两个局部第一种方式比较复杂,第二种方式每次只集成两个局部E-E-R R图,可降低复杂度。无论哪种方式,每次集成可分两步走。图,可降低复杂度。无论哪种方式,每次集成可分两步走。第一步是合并,解决各局部第一步是合并,解决各局部E-RE-R图之间的冲突问题,生成图之
29、间的冲突问题,生成初步初步E-RE-R图。图。第二步是修改和重构,清除不必要的冗余,生成基本第二步是修改和重构,清除不必要的冗余,生成基本E-RE-R图。图。8/25/2024数据库原理及应用 1 1、清除冲突,合并局部、清除冲突,合并局部E-RE-R图图(P47)(P47) 由于各类应用不同由于各类应用不同, ,不同的应用通常又由不同的设计不同的应用通常又由不同的设计人员进行概念结构的设计,因此局部人员进行概念结构的设计,因此局部E-RE-R图之间不可避免图之间不可避免地会有很多不一致,我们称之为冲突。冲突的类型有:地会有很多不一致,我们称之为冲突。冲突的类型有:(1 1)属性冲突)属性冲突
30、 属性域冲突、属性取值单位冲突。属性域冲突、属性取值单位冲突。(2 2)结构冲突)结构冲突 同一对象在不同应用中的不同抽象、同一实体在不同一对象在不同应用中的不同抽象、同一实体在不同局部同局部E-RE-R图中属性组成不同、实体之间的联系在不同分图中属性组成不同、实体之间的联系在不同分E-RE-R图中呈现不同的类型。图中呈现不同的类型。(3 3)命名冲突)命名冲突 包括属性名、实体名、联系名之间的冲突:包括属性名、实体名、联系名之间的冲突: 同名异义、异名同义。同名异义、异名同义。 属性冲突和命名冲突通常用讨论、协商等行政手段属性冲突和命名冲突通常用讨论、协商等行政手段解决。结构冲突则要认真分析
31、后用技术手段解决。解决。结构冲突则要认真分析后用技术手段解决。8/25/2024数据库原理及应用 2 2、消除不必要的冗余,设计基本、消除不必要的冗余,设计基本E-RE-R图图 在初步在初步E-RE-R图中可能存在冗余的数据和实体间冗余图中可能存在冗余的数据和实体间冗余的联系,消除了冗余的初步的联系,消除了冗余的初步E-RE-R图被称为基本图被称为基本E-RE-R图。图。用分析方法消除冗余用分析方法消除冗余 图图5.15 5.15 消除消除E-RE-R图中冗余联系和属性的例子图中冗余联系和属性的例子 由上图可知,由上图可知,Q3Q3和和Q4Q4是冗余数据,可以消去。并且是冗余数据,可以消去。并
32、且由于由于Q3Q3消去,产品与材料间消去,产品与材料间m m:n n的冗余联系也应消去。的冗余联系也应消去。8/25/2024数据库原理及应用 用规范化理论消除冗余用规范化理论消除冗余 规范化理论中,函数依赖的概念给我们提供了消除规范化理论中,函数依赖的概念给我们提供了消除冗余联系的形式化工具,具体方法在冗余联系的形式化工具,具体方法在5.45.4中介绍。中介绍。例例2 2 某工厂管理信息系统的视图集成(基本某工厂管理信息系统的视图集成(基本E-RE-R图)图) 图图5.17 5.17 某工厂管理信息系统的基本某工厂管理信息系统的基本E-RE-R图(部分)图(部分) 8/25/2024数据库原
33、理及应用 在集成过程中,解决了以下几个问题:在集成过程中,解决了以下几个问题: 1 1异名同义,项目和产品含义相同,某个项目实质异名同义,项目和产品含义相同,某个项目实质上是指某个产品的生产。统一用产品作实体名。上是指某个产品的生产。统一用产品作实体名。 2 2库存管理中职工与仓库的工作关系已包含在劳动库存管理中职工与仓库的工作关系已包含在劳动人事管理的部门与职工之间的联系之中,所以可以取人事管理的部门与职工之间的联系之中,所以可以取消。职工之间领导被领导关系可由:消。职工之间领导被领导关系可由:部门与职工部门与职工( (经理经理) )之间的领导关系,之间的领导关系,职工与部门之间的从属关系两
34、者导职工与部门之间的从属关系两者导出,所以也可以取消。出,所以也可以取消。 3.3.基本基本 E-RE-R图中各实体的属性因篇幅有限,这里从图中各实体的属性因篇幅有限,这里从略,请读者自己列出。略,请读者自己列出。 8/25/2024数据库原理及应用 5.4 5.4 逻辑结构设计逻辑结构设计 概念结构是独立于任何一种数据模型的信息结构。概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的逻辑结构设计的任务就是把概念结构设计阶段设计好的E-RE-R图转换为与选用图转换为与选用DBMSDBMS产品所支持的数据模型相符合的产品所支持的数据模型相符合的逻辑结构。
35、逻辑结构。 图图5.18 5.18 逻辑结构设计过程逻辑结构设计过程8/25/2024数据库原理及应用 5.4.1 E-R5.4.1 E-R图向关系模型的转换图向关系模型的转换1.1.每一个实体集转换为一个关系模式,实体集的属性就每一个实体集转换为一个关系模式,实体集的属性就是关系模式的属性,实体集的主键就是关系模式的键是关系模式的属性,实体集的主键就是关系模式的键码。码。2. 2. 每一个联系转换为一个关系模式,与该联系相连的各每一个联系转换为一个关系模式,与该联系相连的各实体集的主键以及联系的属性转换为关系模式的属性。实体集的主键以及联系的属性转换为关系模式的属性。要确定该关系模式的主键,
36、则有三种情况:要确定该关系模式的主键,则有三种情况: 若联系为若联系为1:11:1,则每个实体集的主键均为该关系,则每个实体集的主键均为该关系模式的主键。模式的主键。 若联系为若联系为1:n1:n,则关系模式的主键是,则关系模式的主键是n n端实体集的端实体集的主键。主键。 若联系为若联系为n:mn:m,则关系模式的主键为诸实体集键,则关系模式的主键为诸实体集键码的组合。码的组合。8/25/2024数据库原理及应用 3 3每一个属于(每一个属于(“isaisa”)联系不转换为一个关系模)联系不转换为一个关系模式;而每一个子类实体集应该转换为一个关系模式,此式;而每一个子类实体集应该转换为一个关
37、系模式,此子类所属超类实体集的主键和子类本身拥有的属性就是子类所属超类实体集的主键和子类本身拥有的属性就是关系模式的属性,此子类所属超类实体集的主键就是关关系模式的属性,此子类所属超类实体集的主键就是关系模式的主键。系模式的主键。4 4三个或三个以上实体集间的一个多元联系可以转换为三个或三个以上实体集间的一个多元联系可以转换为一个关系模式,与该多元联系相连的各实体集的主键和一个关系模式,与该多元联系相连的各实体集的主键和联系本身的属性都转换为关系模式的属性,而关系模式联系本身的属性都转换为关系模式的属性,而关系模式的主键为各实体集主键的组合。的主键为各实体集主键的组合。5 5具有相同主键的非子
38、类关系模式可以合并。具有相同主键的非子类关系模式可以合并。8/25/2024数据库原理及应用 例例3 3 下面把图下面把图5.175.17中上半部的基本中上半部的基本E-RE-R图转换为关系模图转换为关系模型,关系的主键用下横线标出。型,关系的主键用下横线标出。 部门部门( (部门号部门号,部门名,经理的职工号,部门名,经理的职工号,.).),此为,此为部门实体对应的关系模式,其中经理的职工号是职工关部门实体对应的关系模式,其中经理的职工号是职工关系的关主键。系的关主键。 职工职工( (职工号职工号,职工名,部门号,职务,职工名,部门号,职务,) ),此为,此为职工实体对应的关系模式。职工实体
39、对应的关系模式。 产品产品( (产品号产品号,产品名,产品组长的职工号,产品名,产品组长的职工号,.).),此为产品实体对应的关系模式。此为产品实体对应的关系模式。 供应商供应商( (供应商号供应商号,姓名,姓名,.).),此为供应商实体对,此为供应商实体对应的关系模式。应的关系模式。 零件零件( (零件号零件号,零件名,零件名,.).),此为零件实体对应的,此为零件实体对应的关系模式。关系模式。 职工工作职工工作( (职工号,产品号职工号,产品号,工作天数,工作天数) ),此为联系,此为联系“参加参加”所对应的关系模式。所对应的关系模式。 供应供应( (产品号,供应商号产品号,供应商号, ,
40、零件号零件号,供应量,供应量) ),此为联,此为联系系“供应供应”所对应的关系模式所对应的关系模式 8/25/2024数据库原理及应用 5.4.2 5.4.2 关系模型的优化关系模型的优化数据库逻辑设计的结果不是唯一的。对数据库逻辑设计的结果不是唯一的。对数据模型的优化是指适当地修改、调整和数据模型的优化是指适当地修改、调整和重构模式,经过反复多次的尝试和比较重构模式,经过反复多次的尝试和比较, ,最最后得到优化的关系模式,以提高数据库应后得到优化的关系模式,以提高数据库应用系统的性能。用系统的性能。8/25/2024数据库原理及应用 5.5 5.5 数据库的物理设计数据库的物理设计 所谓数据
41、库的物理结构主要是指数据库在物理设备上的所谓数据库的物理结构主要是指数据库在物理设备上的存储结构和存取方法。存储结构和存取方法。 对一个给定的逻辑数据模型选取一个最适合应用环境的对一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,称为数据库的物理设计。物理结构的过程,称为数据库的物理设计。 物理设计可分两步:物理设计可分两步: 第一步先确定数据库的物理结构,在关系数据库中主要第一步先确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;指存取方法和存储结构; 第二步对物理结构进行评价,评价的重点是时间和空间第二步对物理结构进行评价,评价的重点是时间和空间的效率。的效率。8/25/2024数据库原理及应用 5.6 5.6 数据库的实施和维护数据库的实施和维护1.1.应用程序设计与编写应用程序设计与编写2.2.组织数据入库组织数据入库3.3.应用程序的调试与试运行应用程序的调试与试运行4.4.数据库的运行与维护数据库的运行与维护8/25/2024