《数据库管理第四章.ppt》由会员分享,可在线阅读,更多相关《数据库管理第四章.ppt(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第四章第四章 数据库设计数据库设计一、数据库设计概述一、数据库设计概述二、需求分析二、需求分析三、概念结构设计三、概念结构设计四、逻辑结构设计四、逻辑结构设计1 1数据库系统基础数据库系统基础4.14.1数据库设计概述数据库设计概述在数据库领域内,常把使用数据库在数据库领域内,常把使用数据库的各类系统称为数据库应用系统的各类系统称为数据库应用系统(DBAS)。)。2 2数据库系统基础数据库系统基础一、数据库与信息系统一、数据库与信息系统l信息系统:是提供信息,辅助人们信息系统:是提供信息,辅助人们对环境进行控制和决策的系统。对环境进行控制和决策的系统。l数据库:是信息系统的核心。它把数据库:
2、是信息系统的核心。它把信息系统中大量的数据按一定的模信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得便、及时、准确地从数据库中获得所需的信息。所需的信息。3 3数据库系统基础数据库系统基础二、数据库设计的特点二、数据库设计的特点l数据库建设是硬件和软件的结合。数据库建设是硬件和软件的结合。l数据库应用系统的设计包括两部分:数据库应用系统的设计包括两部分:结构特性的设计和行为特性的设计。结构特性的设计和行为特性的设计。结构设计就是设计各级数据库模式,结构设计就是设计
3、各级数据库模式,决定数据库系统的信息内容。行为决定数据库系统的信息内容。行为设计它决定数据库系统的功能,是设计它决定数据库系统的功能,是事务处理等应用程序的设计。事务处理等应用程序的设计。4 4数据库系统基础数据库系统基础结构设计和行为设计分离的数据库设计结构设计和行为设计分离的数据库设计功能模型功能模型 数据库数据库现实世界现实世界数据分析数据分析功能分析功能分析概念模型设计概念模型设计功能说明功能说明逻辑数据库设计逻辑数据库设计事务设计事务设计物理数据库设计物理数据库设计程序说明程序说明子模式设计子模式设计应用程序设计应用程序设计建立数据库建立数据库程序调试程序调试程序运行程序运行 5 5
4、数据库系统基础数据库系统基础三、数据库设计步骤三、数据库设计步骤l数据库系统设计和使用过程是将现数据库系统设计和使用过程是将现实世界的数据经过人为的加工和计实世界的数据经过人为的加工和计算机处理之后又为现实世界提供信算机处理之后又为现实世界提供信息的过程。整个系统建设过程划分息的过程。整个系统建设过程划分为前后相继的两个大阶段,每一阶为前后相继的两个大阶段,每一阶段又各分为几个具体步骤:段又各分为几个具体步骤:6 6数据库系统基础数据库系统基础数据库系统的分析和设计阶段数据库系统的分析和设计阶段需求分析;需求分析;概念结构设计;概念结构设计;逻辑结构设计;逻辑结构设计;*物理结构设计;物理结构
5、设计;*应用程序设计及调试;应用程序设计及调试;*性能测试与确认。性能测试与确认。7 7数据库系统基础数据库系统基础*数据库系统实现和运行数据库系统实现和运行数据库实施;数据库实施;数据库运行;数据库运行;数据库维护;数据库维护;数据库重组。数据库重组。l整个开发过程是一个不断返回修改、整个开发过程是一个不断返回修改、调整的迭代过程。调整的迭代过程。8 8数据库系统基础数据库系统基础4.2需求分析需求分析系统的需求分析经历下列步骤:系统的需求分析经历下列步骤:l调查研究当前系统的工作状况,即调查研究当前系统的工作状况,即进行详细的用户调查;进行详细的用户调查;l通过对调查内容的通过对调查内容的
6、“分析分析”与与“抽抽象象”,列出经过用户许可的目标系,列出经过用户许可的目标系统需求;统需求;9 9数据库系统基础数据库系统基础l对上述需求进行对上述需求进行“数据分析数据分析”和和“功能分析功能分析”,分别得出系统对数据,分别得出系统对数据和数据应用两方面的需求。和数据应用两方面的需求。1010数据库系统基础数据库系统基础用户需求主要包括以下三方面:用户需求主要包括以下三方面:信息需求。用户要从数据库获信息需求。用户要从数据库获得的信息内容。信息需求定义得的信息内容。信息需求定义了新系统应该提供的了新系统应该提供的 所有信息,所有信息,应描述清楚系统中数据的性质应描述清楚系统中数据的性质及
7、其联系。及其联系。1111数据库系统基础数据库系统基础处理需求。即完成什么处理功能处理需求。即完成什么处理功能及处理方式。处理需求定义了新及处理方式。处理需求定义了新系统数据处理的系统数据处理的 操作,应描述操操作,应描述操作执行的场合、频率、操作对数作执行的场合、频率、操作对数据的影响等等。据的影响等等。安全性和完整性要求。在定义信安全性和完整性要求。在定义信息需求和处理需求的同时必须相息需求和处理需求的同时必须相应确定安全性、完整性约束。应确定安全性、完整性约束。1212数据库系统基础数据库系统基础一、收集资料一、收集资料l该阶段必须耐心细致地了解现行业该阶段必须耐心细致地了解现行业务处理
8、流程、对新系统的要求、收务处理流程、对新系统的要求、收集全部数据资料,如报表、合同、集全部数据资料,如报表、合同、档案、单据、计划等等。档案、单据、计划等等。1313数据库系统基础数据库系统基础二、分析整理二、分析整理l 分析的过程是对所收集到的数据分析的过程是对所收集到的数据进行抽象的过程。抽象是对实际事进行抽象的过程。抽象是对实际事物或事件的人为处理,抽取共同的物或事件的人为处理,抽取共同的本质特性,忽略细微末节,并用各本质特性,忽略细微末节,并用各种概念精确地加以描述,这些概念种概念精确地加以描述,这些概念组成某种模型。组成某种模型。1414数据库系统基础数据库系统基础三、数据流图三、数
9、据流图l在数据流图中,用命名的箭头表示在数据流图中,用命名的箭头表示数据流,用圆圈表示处理,用矩形数据流,用圆圈表示处理,用矩形或其它形状表示数据存储。或其它形状表示数据存储。1515数据库系统基础数据库系统基础 报销单报销单 审查审查 付款凭证付款凭证 分录分录 数据流图示意数据流图示意报销人报销人报销登记报销登记1616数据库系统基础数据库系统基础四、数据字典四、数据字典l数据元素的名称、同义词、性质、数据元素的名称、同义词、性质、取值范围、提供者取值范围、提供者(来源来源)、使用者、使用者(去向去向)、控制权限、保密要求、使、控制权限、保密要求、使用频率。用频率。l数据量。数据量。l数据
10、之间联系的语义说明。数据之间联系的语义说明。l各个部门对数据的要求及数据处理各个部门对数据的要求及数据处理要求。要求。1717数据库系统基础数据库系统基础l需求分析阶段的成果应形成文档资需求分析阶段的成果应形成文档资料,主要包括:料,主要包括:各项业务的数据流程图各项业务的数据流程图DFD及有关及有关说明。说明。对各类数据描述的集合,即数据字典对各类数据描述的集合,即数据字典(DataDictionary)DD。1818数据库系统基础数据库系统基础五用户确认五用户确认l需求分析得到的需求分析得到的DFD图集和数据字图集和数据字典中的内容必须返回始用户,并且典中的内容必须返回始用户,并且用非专业
11、术语与用户交流。在反馈用非专业术语与用户交流。在反馈时,设计者与用户一起检查与修改时,设计者与用户一起检查与修改那些没有如实反映现实世界的错误那些没有如实反映现实世界的错误或遗漏。修改或遗漏。修改DFD图、补充数据字图、补充数据字典的过程可能需要反复多次,最终典的过程可能需要反复多次,最终取得用户的认可。取得用户的认可。1919数据库系统基础数据库系统基础例:某汽车修理厂根据业务发展的例:某汽车修理厂根据业务发展的需要,决定建立一个管理信息系需要,决定建立一个管理信息系统,以代替人工管理。目标系统统,以代替人工管理。目标系统取名为取名为“汽车修理管理信息系统汽车修理管理信息系统”(QCXL_M
12、IS)。)。通过用户通过用户调查,初步整理出以下的结果:调查,初步整理出以下的结果:l当前系统工作状况当前系统工作状况5种单据,种单据,4种帐册和种帐册和3种主要报表。种主要报表。2020数据库系统基础数据库系统基础 当前系统单据一览表当前系统单据一览表编号编号名称名称填写人填写人 D1D1 D2D2 D3D3 D4D4 D5D5修车登记单修车登记单汽车修理单汽车修理单零件领用单零件领用单零件入库单零件入库单修车发票修车发票送修人送修人修理派工员和修理工修理派工员和修理工修理工修理工仓库管理员仓库管理员财务人员财务人员2121数据库系统基础数据库系统基础表中表中D1由送修人填写。修理派工由送修
13、人填写。修理派工员据此开出修理单员据此开出修理单D2,分派给指分派给指定的修理工执行。如果在修理中需定的修理工执行。如果在修理中需要更换零件,一律由修理工填写零要更换零件,一律由修理工填写零件领用单件领用单D3向仓库领用。修理结向仓库领用。修理结束后,修理工将束后,修理工将D2交回派工员,交回派工员,然后转财务部门结帐并开修车发票然后转财务部门结帐并开修车发票D5。D4在零件入库时由仓库管在零件入库时由仓库管理员验收并且填写。理员验收并且填写。2222数据库系统基础数据库系统基础 当前系统帐册一览表当前系统帐册一览表Z2Z2修理工名册修理工名册编号编号名称名称建帐根据建帐根据 Z1Z1 Z3Z
14、3 Z4Z4汽车登记册汽车登记册汽车修理台帐汽车修理台帐库存零件台帐库存零件台帐D1D1人事部门资料人事部门资料 D2D2,D3D3库房资料库房资料2323数据库系统基础数据库系统基础 当前系统报表一览表当前系统报表一览表编号编号名称名称数据来源数据来源 B1B1 B2B2 B3B3零件耗用月报表零件耗用月报表修理工资月报表修理工资月报表零件订货计划零件订货计划Z3,Z4Z3,Z4Z3Z3,Z2Z2Z4Z42424数据库系统基础数据库系统基础l对目标系统的应用需求对目标系统的应用需求 用数据文件代替现用的全部帐册;用数据文件代替现用的全部帐册;具有对各种数据文件装入和修改的功具有对各种数据文件
15、装入和修改的功能;能;能计算修车费用和开发票;能计算修车费用和开发票;能找出需要订货的零件,编制并打印能找出需要订货的零件,编制并打印零件订货计划;零件订货计划;按现行格式和内容编制和打印零件耗按现行格式和内容编制和打印零件耗用月报表和修理工资月报表;用月报表和修理工资月报表;有多种查询和统计功能。有多种查询和统计功能。2525数据库系统基础数据库系统基础l数据分析数据分析确定各个单项数据在目标系统中的名确定各个单项数据在目标系统中的名称;称;与与与与4 4种帐册相关的数据:种帐册相关的数据:种帐册相关的数据:种帐册相关的数据:Z1Z1(牌号,型号,生产厂,车主名,地址,牌号,型号,生产厂,车
16、主名,地址,牌号,型号,生产厂,车主名,地址,牌号,型号,生产厂,车主名,地址,电话)电话)电话)电话)Z2Z2(工号,姓名,小时工资,进厂日期,地工号,姓名,小时工资,进厂日期,地工号,姓名,小时工资,进厂日期,地工号,姓名,小时工资,进厂日期,地址,电话)址,电话)址,电话)址,电话)Z3Z3(编号,牌号,项目,工号,修理小时,编号,牌号,项目,工号,修理小时,编号,牌号,项目,工号,修理小时,编号,牌号,项目,工号,修理小时,修理费,零件费,总计,零件号,数量,送修理费,零件费,总计,零件号,数量,送修理费,零件费,总计,零件号,数量,送修理费,零件费,总计,零件号,数量,送修日期,完工
17、日期)修日期,完工日期)修日期,完工日期)修日期,完工日期)Z4Z4(零件号,零件名,成本,价格,库存量,零件号,零件名,成本,价格,库存量,零件号,零件名,成本,价格,库存量,零件号,零件名,成本,价格,库存量,最低库存,订货量)最低库存,订货量)最低库存,订货量)最低库存,订货量)2626数据库系统基础数据库系统基础与与与与5 5 5 5种单据相关的数据:种单据相关的数据:种单据相关的数据:种单据相关的数据:D1D1D1D1(牌号,型号,生产厂,项目,车主名,牌号,型号,生产厂,项目,车主名,牌号,型号,生产厂,项目,车主名,牌号,型号,生产厂,项目,车主名,电话,地址)电话,地址)电话,
18、地址)电话,地址)D2D2D2D2(编号,牌号,工号,项目,修理小时,编号,牌号,工号,项目,修理小时,编号,牌号,工号,项目,修理小时,编号,牌号,工号,项目,修理小时,零件号,数量,送修日期,完工日期)零件号,数量,送修日期,完工日期)零件号,数量,送修日期,完工日期)零件号,数量,送修日期,完工日期)D3D3D3D3(编号,零件号,数量)编号,零件号,数量)编号,零件号,数量)编号,零件号,数量)D4D4D4D4(零件号,零件名,成本,数量)零件号,零件名,成本,数量)零件号,零件名,成本,数量)零件号,零件名,成本,数量)与与与与3 3 3 3种报表相关的数据:种报表相关的数据:种报表
19、相关的数据:种报表相关的数据:B1B1B1B1(零件名,数量,价格,零件费,利润)零件名,数量,价格,零件费,利润)零件名,数量,价格,零件费,利润)零件名,数量,价格,零件费,利润)B2B2B2B2(工号,姓名,修理小时,小时工资,月工号,姓名,修理小时,小时工资,月工号,姓名,修理小时,小时工资,月工号,姓名,修理小时,小时工资,月工资)工资)工资)工资)B3B3B3B3(零件名,订货量,成本,总计)零件名,订货量,成本,总计)零件名,订货量,成本,总计)零件名,订货量,成本,总计)2727数据库系统基础数据库系统基础定义数据项的取值与类型;定义数据项的取值与类型;数据项名数据项名 类型类
20、型 宽度宽度 数据项名数据项名类型类型宽度宽度编号C10工号C8牌号C10姓名C10型号C10车主名C10零件名C20电话C12零件号C8地址C202828数据库系统基础数据库系统基础数据项名数据项名 类型类型 宽度宽度 数据项名数据项名类型类型宽度宽度项目C8生产厂C20修理小时N8.2小时工资N8.2修理费N8.2成本N8.2零件费N8.2价格N8.2数量N8总计N8.22929数据库系统基础数据库系统基础数据项名数据项名 类型类型 宽度宽度 数据项名数据项名类型类型宽度宽度库存量N6最低库存N6订货量N10利润N8.2月工资N8.2出生日期D8送修日期D8进厂日期D8完工日期D83030
21、数据库系统基础数据库系统基础定义目标系统的数据流;定义目标系统的数据流;3131数据库系统基础数据库系统基础数据流数据流 含含 义义组组 成成XCDJ 修车登记单修车登记单牌号牌号+型号型号+生产厂生产厂+车主车主名名+电话电话+地址地址+项目项目+送送修日期修日期XLD汽车修理单汽车修理单编号编号+牌号牌号+工号工号+项目项目+修理小时修理小时+完工日期完工日期+零零件号件号+数量数量LYD零件领用单零件领用单编号编号+零件号零件号+数量数量RKD零件入库单零件入库单零件号零件号+零件名零件名+成本成本+数数量量3232数据库系统基础数据库系统基础数据流数据流含含 义义组组 成成XCFP修车
22、发票修车发票车主名车主名+地址地址+牌号牌号+项目项目+完工日期完工日期+修理费修理费+零件零件费费+总计总计LHYB零件耗用月零件耗用月报报零件号零件号+零件名零件名+数量数量DHJB零件订货季零件订货季报报零件号零件号+零件名零件名+订货量订货量+价格价格+总计总计GZYB修理工资月修理工资月报报工号工号+姓名姓名+修理小时修理小时+小小时工资时工资+月工资月工资3333数据库系统基础数据库系统基础l功能分析功能分析登记功能。用于把各种手填单据中的登记功能。用于把各种手填单据中的数据及时登记到数据库文件中。数据及时登记到数据库文件中。开修车发票。根据修理单记载的修理开修车发票。根据修理单记
23、载的修理小时和零件用量记载的耗用零件,按小时和零件用量记载的耗用零件,按规定的算式计算出修理费和零件费,规定的算式计算出修理费和零件费,然后打印发票。然后打印发票。3434数据库系统基础数据库系统基础打印报表。包括两种月报表(零件耗打印报表。包括两种月报表(零件耗用和工资津贴)和一种季报表(零件用和工资津贴)和一种季报表(零件订货)。订货)。查询和统计。满足对数据库中各种数查询和统计。满足对数据库中各种数据的查询、统计和分析等需求。据的查询、统计和分析等需求。3535数据库系统基础数据库系统基础4.34.3概念结构设计概念结构设计 概念结构设计的目标是产生反映全概念结构设计的目标是产生反映全组
24、织信息需求的整体数据库概念组织信息需求的整体数据库概念模型。它必须独立于计算机的任模型。它必须独立于计算机的任何数据模型,不受特定的数据库何数据模型,不受特定的数据库管理系统的限制,不考虑计算机管理系统的限制,不考虑计算机软硬件技术细节,方便与用户交软硬件技术细节,方便与用户交流。流。3636数据库系统基础数据库系统基础描述概念模型的工具是描述概念模型的工具是ER图。图。用实体联系方法对具体数据进行用实体联系方法对具体数据进行抽象加工,将实体集合抽象成实抽象加工,将实体集合抽象成实体类型,用实体间联系的类型反体类型,用实体间联系的类型反映现实世界事物问的内在联系。映现实世界事物问的内在联系。概
25、念模型设计又可分为局部概念概念模型设计又可分为局部概念模型设计和局部概念模型集成两模型设计和局部概念模型集成两个步骤。个步骤。3737数据库系统基础数据库系统基础 概念结构设计步骤概念结构设计步骤需求分析需求分析数据流图,数据字典数据流图,数据字典征求征求局部局部E-RE-R图图用户用户意见意见综合综合E-RE-R图图逻辑结构设计逻辑结构设计局部概念模型设计局部概念模型设计概念模型集成概念模型集成3838数据库系统基础数据库系统基础概念模型设计的基本步骤包括:概念模型设计的基本步骤包括:l设计局部概念模型;设计局部概念模型;l综合成初步全局概念模型;综合成初步全局概念模型;l优化全局概念模型。
26、优化全局概念模型。3939数据库系统基础数据库系统基础一、设计局部概念模型一、设计局部概念模型l局部概念模型反映某个部门的局部局部概念模型反映某个部门的局部应用。根据需求分析阶段产生的各应用。根据需求分析阶段产生的各个部门的数据流图和数据字典中相个部门的数据流图和数据字典中相关数据,设计出每个部门的局部概关数据,设计出每个部门的局部概念模型。念模型。确定实体和属性确定实体和属性确定联系类型确定联系类型画出局部画出局部ER图图4040数据库系统基础数据库系统基础开修车发票局部开修车发票局部E-RE-R图图 修理修理牌号牌号车主名车主名地址地址工号工号小时工资小时工资零件号零件号使用使用项目项目价
27、格价格编号编号牌号牌号工号工号 修理小时修理小时零件号零件号零件用量零件用量修理工修理工汽车汽车修理单修理单零件零件nmmnn4141数据库系统基础数据库系统基础二、综合成初步全局概念模型二、综合成初步全局概念模型l局部概念模型设计完成之后,则将局部概念模型设计完成之后,则将若干局部概念模型集成。局部概念若干局部概念模型集成。局部概念模型集成又包括综合和优化两个步模型集成又包括综合和优化两个步骤。骤。局部概念模型的合并。先考查同名实局部概念模型的合并。先考查同名实体类型,再考查具有相同关键字的实体类型,再考查具有相同关键字的实体类型。体类型。4242数据库系统基础数据库系统基础消除冲突。由于局
28、部概念模型是各部消除冲突。由于局部概念模型是各部门局部应用的反映,各个局部模型之门局部应用的反映,各个局部模型之间难免出现不一致的地方,称之为冲间难免出现不一致的地方,称之为冲突。一般有三种类型的冲突:突。一般有三种类型的冲突:属性冲突属性冲突。如属性域的冲突和属性取值。如属性域的冲突和属性取值精度或单位的冲突等。精度或单位的冲突等。命名冲突命名冲突。包括属性名、实体名、联系。包括属性名、实体名、联系名之间的同名异义或者异名同义问题。名之间的同名异义或者异名同义问题。结构冲突结构冲突。同一个对象在不同的局部概。同一个对象在不同的局部概念模型中有不同的表示。念模型中有不同的表示。4343数据库系
29、统基础数据库系统基础前两种冲突可以通过讨论协商等行政前两种冲突可以通过讨论协商等行政手段来解决,统一规定基本数据的名手段来解决,统一规定基本数据的名称与性质。为了消除结构冲突,称与性质。为了消除结构冲突,具体具体调整手段可以考虑以下几种:调整手段可以考虑以下几种:对同一个实体的属性取局部概念模型中相对同一个实体的属性取局部概念模型中相同实体属性的并集。同实体属性的并集。根据综合应用的需要,把属性转变为实体,根据综合应用的需要,把属性转变为实体,或者把实体变为属性。或者把实体变为属性。实体联系要根据应用语义进行综合调整。实体联系要根据应用语义进行综合调整。4444数据库系统基础数据库系统基础 初
30、始的总体初始的总体E-RE-R图图牌号牌号型号型号生产厂生产厂车主名车主名地址地址电话电话数量数量零件费零件费送修日期送修日期修理小时修理小时最低库存最低库存库存量库存量完工日期完工日期使用使用订货量订货量修理费修理费工号工号成本成本总计总计编号编号 项目项目牌号牌号价格价格 零件名零件名 零件号零件号修理单修理单零件零件工号工号地址地址 电话电话修理修理出生出生日期日期进厂进厂日期日期小时小时工资工资修理工修理工汽车汽车姓名姓名nmnmn4545数据库系统基础数据库系统基础三、初步概念模型的优化三、初步概念模型的优化l初步概念模型是对现实世界进行调初步概念模型是对现实世界进行调查研究之后综合
31、出来的全局概念模查研究之后综合出来的全局概念模型,但不一定是最优的。要经过仔型,但不一定是最优的。要经过仔细分析找出潜在的数据冗余,再根细分析找出潜在的数据冗余,再根据应用需求确定是否消除。据应用需求确定是否消除。消除冗余属性。消除冗余属性。在各个局部概念模型在各个局部概念模型中没有冗余属性存在,但将它们综合中没有冗余属性存在,但将它们综合成全局概念模型后,则可能出现冗余。成全局概念模型后,则可能出现冗余。4646数据库系统基础数据库系统基础例例:删去修理单中的删去修理单中的3 3个属性个属性“零件费零件费”、“修理费修理费”和和“总计总计”。因为这。因为这3 3 个属性数个属性数据均可以从其
32、它数据计算得到。另外,将据均可以从其它数据计算得到。另外,将实体实体“汽车汽车”分解为分解为“汽车汽车”和和“车主车主”两个实体。因为汽车的属性集中实际上已两个实体。因为汽车的属性集中实际上已含有汽车与车主两个方面的信息,如果一含有汽车与车主两个方面的信息,如果一个车主送修了多辆汽车,则车主名及其地个车主送修了多辆汽车,则车主名及其地址与电话就会多次重复存储,造成数据冗址与电话就会多次重复存储,造成数据冗余。分开后的两个实体是:余。分开后的两个实体是:汽车(牌号,型号,生产厂)汽车(牌号,型号,生产厂)车主(车主名,地址,电话)车主(车主名,地址,电话)4747数据库系统基础数据库系统基础消除
33、冗余联系。消除冗余联系。冗余的联系是指通过冗余的联系是指通过其它实体问的联系可以推导出来的间其它实体问的联系可以推导出来的间接联系。接联系。4848数据库系统基础数据库系统基础nmnmn数量数量送修日期送修日期修理小时修理小时最低库存最低库存库存量库存量完工日期完工日期使用使用订货量订货量工号工号成本成本编号编号 项目项目牌号牌号价格价格 零件名零件名 零件号零件号修理单修理单零件零件工号工号地址地址 电话电话修理修理出生出生日期日期进厂进厂日期日期小时小时工资工资修理工修理工汽车汽车姓名姓名车主车主牌号牌号型号型号生产厂生产厂车主名车主名地址地址电话电话属于属于1n汽车修理管理信息系统概念模
34、型汽车修理管理信息系统概念模型4949数据库系统基础数据库系统基础4.44.4逻辑结构设计逻辑结构设计数据库逻辑设计的任务是将概念模型转数据库逻辑设计的任务是将概念模型转换成特定换成特定DBMS所支持的数据模型的过所支持的数据模型的过程。程。从从ER图所示的概念模型可以转换成任图所示的概念模型可以转换成任何一种具体何一种具体DBMS所支持的数据模型,所支持的数据模型,如网状模型、层次模型、关系模型、如网状模型、层次模型、关系模型、面向对象模型。面向对象模型。这里仅讨论关系数据这里仅讨论关系数据库逻辑设计问题,即讨论如何把经过库逻辑设计问题,即讨论如何把经过优化的概念模型转换成为关系模型。优化的
35、概念模型转换成为关系模型。5050数据库系统基础数据库系统基础关系数据库逻辑结构设计的结果是关系数据库逻辑结构设计的结果是一组关系模式的定义。逻辑结构一组关系模式的定义。逻辑结构设计过程可分为如下具体步骤:设计过程可分为如下具体步骤:l初始关系模式设计;初始关系模式设计;l规范化处理;规范化处理;l模式评价与修正。模式评价与修正。5151数据库系统基础数据库系统基础 关系数据库逻辑设计关系数据库逻辑设计 模式修正模式修正处理需求处理需求是是是否修正?是否修正?否否进入物理数据阶段进入物理数据阶段根据根据E-RE-R图导出初始数据库模式图导出初始数据库模式关系模式规范化关系模式规范化模式评价模式
36、评价以以DBMSDBMS语法描述语法描述E-RE-R模型模型DBMSDBMS特性特性5252数据库系统基础数据库系统基础一、初始关系模式设计一、初始关系模式设计l转换原则如下:转换原则如下:一个实体转换为一个关系模式,实一个实体转换为一个关系模式,实体的属性就是关系模式的属性,实体的属性就是关系模式的属性,实体的关键字就是关系模式的关键字。体的关键字就是关系模式的关键字。一个一个1:1的联系转换为一个关系的联系转换为一个关系模式,每个实体的关键字都是关系模式,每个实体的关键字都是关系模式的候选关键字。模式的候选关键字。5353数据库系统基础数据库系统基础一个一个1:n的联系转换为一个关系的联系
37、转换为一个关系模式。多方实体的关键字是关系模模式。多方实体的关键字是关系模式的关键字。式的关键字。一个一个n:m的联系转换为一个关系的联系转换为一个关系模式。联系中各实体关键字的组合模式。联系中各实体关键字的组合组成关系模式的关键字组成关系模式的关键字(组合关键组合关键字字)。具有相同关键字的关系模式可以合具有相同关键字的关系模式可以合并。并。5454数据库系统基础数据库系统基础l例例:将汽车修理管理信息系统的概念将汽车修理管理信息系统的概念模型转换成一组初始关系模式。模型转换成一组初始关系模式。1 1)把每一个实体转换为一个关系模式)把每一个实体转换为一个关系模式实体:修理工实体:修理工对应
38、关系模式:修理工(对应关系模式:修理工(工号工号,姓名,姓名,地址,电话,出生年月,进厂日期,地址,电话,出生年月,进厂日期,小时工资)小时工资)实体:汽车实体:汽车对应关系模式:汽车(对应关系模式:汽车(牌号牌号,型号,生,型号,生产厂)产厂)5555数据库系统基础数据库系统基础实体:修理单实体:修理单对应关系模式:修理单(对应关系模式:修理单(编号编号,牌号,牌号,工号,项目,修理小时,送修日期,工号,项目,修理小时,送修日期,完工日期)完工日期)实体:零件实体:零件对应关系模式:零件库存表(对应关系模式:零件库存表(零件号零件号,零件名,成本,价格,库存量,最小零件名,成本,价格,库存量
39、,最小库存,订货量)库存,订货量)实体:车主实体:车主对应关系模式:车主(对应关系模式:车主(车主名车主名,地址,地址,电话电话)5656数据库系统基础数据库系统基础2)把每一个联系转换为一个关系模式联系:使用联系:使用所联系的实体及关键字:修理单(关键字所联系的实体及关键字:修理单(关键字是是“编号编号”),零件库存表(关键字是),零件库存表(关键字是“零件号零件号”)对应关系模式:零件用量表(对应关系模式:零件用量表(编号,零件编号,零件号号,数量),数量)联系:属于联系:属于所联系的实体及关键字:汽车(关键字是所联系的实体及关键字:汽车(关键字是“牌号牌号”),车主(关键字是),车主(关
40、键字是“车主名车主名”)对应关系模式:汽车归属表(车主名,对应关系模式:汽车归属表(车主名,牌牌号号)5757数据库系统基础数据库系统基础联系:修理联系:修理所联系的实体及关键字:修理单(关所联系的实体及关键字:修理单(关键字是键字是“编号编号”),汽车(关键字),汽车(关键字是是“牌号牌号”),修理工(关键字是),修理工(关键字是“工号:)工号:)对应关系模式:修理(对应关系模式:修理(编号,牌号,编号,牌号,工号工号,项目,修理小时,送修日期,项目,修理小时,送修日期,完工日期)完工日期)5858数据库系统基础数据库系统基础3 3)改进转换结果)改进转换结果修理工(修理工(工号工号,姓名,
41、地址,电话,出,姓名,地址,电话,出生年月,进厂日期,小时工资)生年月,进厂日期,小时工资)修理单(修理单(编号编号,牌号,工号牌号,工号,项目,修,项目,修理小时,送修日期,完工日期)理小时,送修日期,完工日期)汽车(汽车(牌号牌号,型号,生产厂,车主名),型号,生产厂,车主名)车主(车主(车主名车主名,地址,电话),地址,电话)零件库存表(零件库存表(零件号零件号,零件名,成本,零件名,成本,价格,库存量,最小库存,订货量)价格,库存量,最小库存,订货量)零件用量表(零件用量表(编号,零件号编号,零件号,数量),数量)5959数据库系统基础数据库系统基础二、规范化处理二、规范化处理l在这一
42、步将对数据库的初始逻辑模在这一步将对数据库的初始逻辑模型进行规范化处理。首先要确定规型进行规范化处理。首先要确定规范化的级别,即要求所有的关系模范化的级别,即要求所有的关系模式都达到第几范式。由于函数依赖式都达到第几范式。由于函数依赖是现实环境中最重要的、最大量的是现实环境中最重要的、最大量的数据依赖,一般提出数据依赖,一般提出3NF或或BCNF的要求就足够了。的要求就足够了。6060数据库系统基础数据库系统基础l规范化理论在数据库设计中有如下规范化理论在数据库设计中有如下几方面的应用:几方面的应用:在需求分析阶段,用数据依赖概念分在需求分析阶段,用数据依赖概念分析和表示各个数据项之间的联系。
43、析和表示各个数据项之间的联系。在概念结构设计阶段,以规范化理论在概念结构设计阶段,以规范化理论为指导,确定关键字,消除初步为指导,确定关键字,消除初步ER图中冗余的联系。图中冗余的联系。在逻辑结构设计阶段,从在逻辑结构设计阶段,从ER图向图向数据模型转换过程中,用模式合并与数据模型转换过程中,用模式合并与分解方法达到规范化级别。分解方法达到规范化级别。6161数据库系统基础数据库系统基础三、模式评价与修正三、模式评价与修正l模式评价的目的是检查所设计的数模式评价的目的是检查所设计的数据库模式是否满足用户的功能要求,据库模式是否满足用户的功能要求,效率如何,确定需要加以修正的部效率如何,确定需要
44、加以修正的部分。模式评价主要包括功能和性能分。模式评价主要包括功能和性能两个方面。两个方面。6262数据库系统基础数据库系统基础本章小结本章小结 这一章,介绍了数据库设计的具体步这一章,介绍了数据库设计的具体步骤和方法。在数据库系统的分析和设计阶骤和方法。在数据库系统的分析和设计阶段大的步骤包括:需求分析;概念模型设段大的步骤包括:需求分析;概念模型设计计(设计局部概念模型、综合成初步概念模设计局部概念模型、综合成初步概念模型、全局概念模型的优化型、全局概念模型的优化);逻辑结构设计;逻辑结构设计(导出初始关系模式、规范化处理导出初始关系模式、规范化处理)。6363数据库系统基础数据库系统基础