《数据库讲稿演示第四章》由会员分享,可在线阅读,更多相关《数据库讲稿演示第四章(42页珍藏版)》请在金锄头文库上搜索。
1、数据库系统基础,1,第四章 数据库设计,一、数据库设计概述 二、需求分析 三、概念结构设计 四、逻辑结构设计,数据库系统基础,2,4.1数据库设计概述,在数据库领域内,常把使用数据库的各类系统称为数据库应用系统(DBAS)。,数据库系统基础,3,一、数据库与信息系统 信息系统:是提供信息,辅助人们对环境进行控制和决策的系统。 数据库:是信息系统的核心。它把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。,数据库系统基础,4,二、数据库设计的特点 数据库建设是硬件和软件的结合。 数据库应用系统的设计包括两部分:结
2、构特性的设计和行为特性的设计。结构设计就是设计各级数据库模式,决定数据库系统的信息内容。行为设计它决定数据库系统的功能,是事务处理等应用程序的设计。,数据库系统基础,5,三、数据库设计步骤 数据库系统设计和使用过程是将现实世界的数据经过人为的加工和计算机处理之后又为现实世界提供信息的过程。整个系统建设过程划分为前后相继的两个大阶段,每一阶段又各分为几个具体步骤: 数据库系统的分析和设计阶段 需求分析; 概念结构设计; 逻辑结构设计;,数据库系统基础,6,物理结构设计; 应用程序设计及调试; 性能测试与确认。 数据库系统实现和运行 数据库实施; 数据库运行; 数据库维护; 数据库重组。,数据库系
3、统基础,7, 4.2需求分析,系统的需求分析有经历下列步骤: 调查研究当前系统的工作状况,即进行详细的用户调查; 通过对调查内容的“分析”与“抽象”,列出经过用户许可的目标系统需求; 对上述需求进行“数据分析”和“功能分析”,分别得出系统对数据和数据应用两方面的需求。,数据库系统基础,8,用户需求主要包括以下三方面: 信息需求。用户要从数据库获得的信息内容。信息需求定义了新系统应该提供的 所有信息,应描述清楚系统中数据的性质及其联系。 处理需求。即完成什么处理功能及处理方式。处理需求定义了新系统数据处理的 操作,应描述操作执行的场合、频率、操作对数据的影响等等。 安全性和完整性要求。在定义信息
4、需求和处理需求的同时必须相应确定安全性、完整性约束。,数据库系统基础,9,例:某汽车修理厂根据业务发展的需要,决定建立一个管理信息系统,以代替人工管理。目标系统取名为“汽车修理管理信息系统”(QCXL_MIS)。通过用户调查,初步整理出以下的结果: 当前系统工作状况 5种单据,4种帐册和3种主要报表。,数据库系统基础,10,当前系统单据一览表,表,4.1,编号,名,称,填,写,人,D1,D2,D3,D4,D5,修车登记单,汽车修理单,零件领用单,零件入库单,修车发票,送修人,修理派工员和修理工,修理工,仓库管理员,财务人员,数据库系统基础,11,表中D1由送修人填写。修理派工员据此开出修理单D
5、2,分派给指定的修理工执行。如果在修理中需要更换零件,一律由修理工填写零件领用单D3向仓库领用。修理结束后,修理工将D2交回派工员,然后转财务部门结帐并开修车发票D5。D4在零件入库时由仓库管理员验收并且填写。,数据库系统基础,12,当前系统帐册一览表,表,4.2,编号,名,称,建,帐,根,据,Z1,Z2,Z3,Z4,汽车登记册,修理工名册,汽车修理台帐,库存零件台帐,D1,人事部门资料,D2,,,D3,库房资料,数据库系统基础,13,当前系统报表一览表,表,4.3,编号,名,称,数据来源,B1,B2,B3,零件耗用月报表,修理工资月报表,零件订货计划,Z3,,,Z4,Z3,,,Z2,Z4,数
6、据库系统基础,14,对目标系统的应用需求 用数据文件代替现用的全部帐册; 具有对各种数据文件装入和修改的功能; 能计算修车费用和开发票; 能找出需要订货的零件,编制并打印零件订货计划; 按现行格式和内容编制和打印零件耗用月报表和修理工资月报表; 有多种查询和统计功能。,数据库系统基础,15,数据分析 确定各个单项数据在目标系统中的名称; 与4种帐册相关的数据: Z1(牌号,型号,生产厂,车主名,地址,电话) Z2(工号,姓名,小时工资,进厂日期,地址,电话) Z3(编号,牌号,项目,工号,修理小时,修理费,零件费,总计,零件号,数量,送修日期,完工日期) Z4(零件号,零件名,成本,价格,库存
7、量,最低库存,订货量),数据库系统基础,16,与5种单据相关的数据: D1(牌号,型号,生产厂,项目,车主名,电话,地址) D2(编号,牌号,工号,项目,修理小时,零件号,数量,送修日期,完工日期) D3(编号,零件号,数量) D4(零件号,零件名,成本,数量) 与3种报表相关的数据: B1(零件名,数量,价格,零件费,利润) B2(工号,姓名,修理小时,小时工资,月工资) B3(零件名,订货量,成本,总计) 定义数据项的取值与类型;,数据库系统基础,17,数据库系统基础,18,定义目标系统的数据流;,数据库系统基础,19,功能分析 登记功能。用于把各种手填单据中的数据及时登记到数据库文件中。
8、 开修车发票。根据修理单记载的修理小时和零件用量记载的耗用零件,按规定的算式计算出修理费和零件费,然后打印发票。 打印报表。包括两种月报表(零件耗用和工资津贴)和一种季报表(零件订货)。 查询和统计。满足对数据库中各种数据的查询、统计和分析等需求。,数据库系统基础,20, 4.3概念结构设计,概念结构设计的目标是产生反映全组织信息需求的整体数据库概念结构,即概念模式。它必须独立于计算机的任何数据模型,不受特定的数据库管理系统的限制,不考虑计算机软硬件技术细节,方便与用户交流。,数据库系统基础,21,描述概念结构的工具是ER图。用实体联系方法对具体数据进行抽象加工,将实体集合抽象成实体类型,用实
9、体间联系的类型反映现实世界事物问的内在联系。概念结构设计又可分为局部视图设计和视图集成两个步骤。,数据库系统基础,22,需求分析,数据流图,数据字典,征求,局部,E,R,图,用户,意见,综合,E,R,图,逻辑结构设计,图,4.17,概念结构设计步骤,数据抽象、局部视图设计,视图集成,数据库系统基础,23,ER方法的基本步骤包括: 设计局部ER图; 综合成初步ER图; 优化成基本ER图。,数据库系统基础,24,一、设计局部ER图 一个应用的局部ER图反映出具体应用的视图。首先,根据需求分析阶段产生的各个部门的数据流图和数据字典中相关数据,设计出各项应用的局部ER图。 确定实体和属性 确定联系类型
10、 画出局部ER图,数据库系统基础,25,修,理,小时,牌号,车主名,地址,工号,工资,零件号,使用,项目,价格,编号,牌号,工号,修理小时,零件号,零件用量,图,5.19,“开修车发票:局部,E,R,图,修理工,汽车,修理单,零件,数据库系统基础,26,二、综合成初步ER图 局部视图设计完成之后,下一步是视图集成。视图集成又包括综合和优化两个步骤。 局部ER图的合并。先考查同名实体类型,再考查具有相同关键字的实体类型。 消除冲突。由于局部ER图是各部门局部应用的反映,各个局部ER图之间难免出现不一致的地方,称之为冲突。一般有三种类型的冲突:,数据库系统基础,27,属性冲突。如属性域的冲突和属性
11、取值精度或单位的冲突等。 命名冲突。包括属性名、实体名、联系名之间的同名异义或者异名同义问题。 结构冲突。同一个对象在不同的局部ER图中有不同的表示。 前两种冲突可以通过讨论协商等行政手段来解决,统一规定基本数据的名称与性质。为了消除结构冲突,具体调整手段可以考虑以下几种:,数据库系统基础,28,对同一个实体的属性取各个分ER图相同实体属性的并集。 根据综合应用的需要,把属性转变为实体,或者把实体变为属性。 实体联系要根据应用语义进行综合调整。,数据库系统基础,29,工号,姓名,地址,电话,牌号,型号,生产厂,修理,出生,进厂,小时,车主名,地址,电话,日期,日期,工资,零件费,送修日期,修理
12、小时,最低库存,库存量,完工日期,使用,订货量,修理费,工号,成本,总计,编号,项目,牌号,数量,价格,零件名,零件号,图,5.20,初始的总体,E,R,模型,修理工,汽车,修理单,零件,数据库系统基础,30,三、初步ER图的优化 初步ER是在对现实世界进行调查研究之后综合出来的全局和整体概念模式,但并不一定是最优的。要经过仔细分析找出潜在的数据冗余,再根据应用需求确定是否消除。,数据库系统基础,31,例,删去修理单中的3个属性“零件费”、“修理费”和“总计”。因为这3 个属性数据均可以从其它数据计算得到。另外,将实体“汽车”分解为“汽车”和“车主”两个实体。因为汽车的属性集中实际上已含有汽车
13、与车主两个方面的信息,如果一个车主送修了多辆汽车,则车主名及其地址与电话就会多次重复存储,造成数据冗余。分开后的两个实体是: 汽车(牌号,型号,生产厂) 车主(车主名,地址,电话),数据库系统基础,32,工号,姓名,地址,电话,生产厂,修理,出生,进厂,小时,车主名,型号,日期,日期,工资,送修日期,修理小时,最低库存,库存量,完工日期,使用,订货量,工号,成本,编号,项目,牌号,数量,价格,零件名,零件号,4.21 汽车修理管理信息系统概念模型,修理工,汽车,修理单,零件,车主,牌号,地址,电话,图,数据库系统基础,33,4.4逻辑结构设计,数据库逻辑设计的任务是将概念结构转换成特定DBMS
14、所支持的数据模型的过程。从ER图所示的概念模型可以转换成任何一种具体DBMS所支持的数据模型,如网状模型、层次模型、关系模型、面向对象模型。这里仅讨论关系数据库逻辑设计问题,即讨论如何把经过优化的综合ER图转换成为关系模型。,数据库系统基础,34,关系数据库逻辑设计的结果是一组关系模式的定义。逻辑设计过程可分为如图4.22所示的具体步骤,即: 初始关系模式设计; 规范化处理; 模式评价与修正。,数据库系统基础,35,一、初始关系模式设计 转换原则如下: 一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。 一个1:1的联系转换为一个关系。每个实体的关键字都是关系的候选关键字。 一个1:n的联系转换为一个关系。多方实体的关键字是关系的关键字。,数据库系统基础,36,一个n:m的联系转换为一个关系。联系中各实体关键字的组合组成关系的关键字(组合关键字)。 具有相同关键字的关系可以合并。 例,将汽车修理管理信息系统ER图转换成一组初始关系模式。 1)把每一实体转换为一个关系 实体:修理工 对应的关系:修理工(工号,姓名,地址,电话,出生年月,进厂日期,小