1、徐 世 新北京航空航天大学机械学院7202002 年 7 月现现 代代 制制 造造 信信 息息 技技 术术 基基 础础数据库设计对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用要求(信息要求和处理要求)现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v数据库设计概述数据库和信息系统数据库设计的特点数据库设计方法概述数据库设计的基本步骤需求分析的任务需求分析的方法数据字典概念结构概念结构设计的方法与步骤数据抽象与局部视图设计视图的集成E-R图向关系模型的转换数据模型的优化设计用户子模式数据库的物理设计的内容和方法关系模式存
2、取方法选择确定数据库的存储结构评价物理结构数据的载入和应用程序的调试数据库的试运行数据库的运行和维护v需求分析v概念结构设计v逻辑结构设计v数据库的物理设计v数据库的实施和维护现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v数据库是信息系统的核心和基础。v数据库把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。v大型数据库的建设必须应用软件工程的原理和方法。对于从事数据库设计的专业人员来讲,应具备多方面的技术和知识:v数据库的基础知识和数据库设计技术v计算机科学的基础知识和程序设计的方法和技巧v软件
3、工程的原理和方法v应用领域的知识现现 代代 制制 造造 信信 息息 技技 术术 基基 础础(1)特点之一:数据库建设是硬件、软件和干件的结合。(2)特点之二:数据库设计应该和应用系统设计相结合,即,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。程序说明数据分析概念模型设计子模式设计应用程序设计功能分析逻辑数据库设计现实世界物理数据库设计建立数据程序编码调试事物设计功能模型功能说明现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v规范设计法中比较著名的有新奥尔良方法,它将数据库设计分为四个阶段:需求分析、概念设计、逻辑设计和物理设计。v规范设计法从本质上看是手工设计
4、方法,其基本思想是过程迭代和逐步求精。v数据库设计工具软件可以自动地或辅助设计人员完成数据库设计过程中的很多任务。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础需求分析阶段数据模型优化设计物理结构试验性运行需求收集和分析估价设计,性能预测物理实现使用、维护数据库不满意设计概念结构设计逻辑结构不满意概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段数据库运行、维护阶段应用需求(数据,处理)转换规则,DBMS功能,优化方法应用要求,DBMS详细特征将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化为逻辑数据模型选一个最适合应用环境的物理结构(包括存取结构和存取方法)建立数据库
5、,编制与调试应用程序,组织数据入库,并进行试运行首先必须准确了解与分析用户需求(包括数据与处理)通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型现现 代代 制制 造造 信信 息息 技技 术术 基基 础础应用要求综合应用要求概念模式映象应用要求应用要求应用1应用2应用3应用4逻辑模式内模式映象转换外模式应用1外模式应用2外模式应用3现现 代代 制制 造造 信信 息息 技技 术术 基基 础础需求分析就是分析用户的要求。其任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的
6、功能。通过调查、收集与分析,获得用户对数据库的如下要求:(1)信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据(2)处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理(3)安全性与完整性要求现现 代代 制制 造造 信信 息息 技技 术术 基基 础础调查用户需求的具体步骤是:(1)调查组织机构情况(2)调查各部门的业务活动情况(3)在熟悉业务活动的基础上,协助用户明确对新系统的各种要求(4)确定新系统的边界在调查过程中,可以根据不同的问题和条件,使用不同的调查方法。常用的调查方法有:(1)跟班作
7、业(2)开调查会(3)请专人介绍(4)询问 设计调查表请用户填写 查阅记录现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v分析和表达用户的需求:结构化分析方法(SA方法)。它是由E.Yourdon、Tom Demarco等人倡导的一种面向数据流的分析方法。vSA方法使用数据流图、数据字典、结构化英语、判定表和判定树等工具,来建立软件需求说明书。它将软件系统抽象为一系列的逻辑加工单元,这些逻辑加工单元接受输入数据流,经过加工,使之变换为输出数据流。数据模型用数据流图表示,并用数据字典进行说明。v自顶向下逐层分解的原则vSA方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分
8、析系统。v软件需求说明书:一套分层的数据流图;数据字典;补充材料。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础X21343.13.23.43.32.22.12.3数据输出数据来源处理数据流数据流数据存储现现 代代 制制 造造 信信 息息 技技 术术 基基 础础数据流图由四种元素组成:数据流、处理、数据存储和数据源宿。数据流:由一组成分固定的数据组成,它具有名称和流向,用标有名字的箭头表示。处理:表示对数据所进行的加工和变换,用圆圈表示,处理的名称是一个动词短语。数据存储:表示用文件方式或数据库方式所存储的数据。数据源宿:表示数据输入的源点和数据输出的汇点,它们分别表示对系统提供输
9、入数据流的外部实体及接收系统输出数据流的外部实体。数据存储数据源宿名称序号处理名数据名现现 代代 制制 造造 信信 息息 技技 术术 基基 础础数据流图的绘制:确定系统的输入输出 由外向里画系统的顶层数据流图 自顶向下逐层分解,绘出分层数据流图MS1设计链传动已知条件2校核链传动设计结果已知参数校核结果1.1输入已知参数已知条件11.2初定传动参数几何尺寸要求已知条件2设计结果1.3确定传动参数1.6重新设计1.4计算结构参数1.5校核静强度输出1输出4输出3设计结果1输出2yesj设计结果2rkf现现 代代 制制 造造 信信 息息 技技 术术 基基 础础绘分层数据流图应注意的问题:编号 父图
10、和子图的平衡“平衡”是指子图中所有的输入数据流必须是父图中相应的加工的输入数据流,子图中所有的输出数据流必须是父图中相应加工的输出数据流 分解的深度和层次 检查数据流的输入和输出一个加工所产生的某个输出数据在加工中既没有被产生,也没有作为输入数据输入到这个加工,则这个数据一定是在加工过程中被遗漏了一个加工的某个输入既没有在加工中参加变换,又没有被输出,则一般应将此输入数据去掉以简化加工之间的联系“决定比赛名单”这个加工是根据输入“项目”和“运动员名单”来产生输出“项目参加者”的,若有运动员名单=姓名+单位+项目项目参加者=姓名+项目+运动员号码“决定比赛名单”这个加工需要输出“运动员号码”,但
11、此加工本身是不产生“运动员号码”的,在输入数据中也不包含它,则可肯定,此数据一定是在输入中被遗漏了,应在输入流中加入。运动员名单=姓名+单位+运动员号码+项目决定比赛名单项目项目参加者运动员名单现现 代代 制制 造造 信信 息息 技技 术术 基基 础础 尽量简化处理间的联系,并注意处理分解的均匀加工“开发票”是根据输入数据流“订货单”和“价格”文件来产生输出数据流“发票”的,若这些数据流的组成如下;订货单=单位名+货名+货号+数量价格=货名+单价发票=单位名+货名+单价+数量+总计可以发现,这个加工中并不使用“货号”这个数据,故可在输入数据流“订货单”中去掉它,订货单=单位名+货名+数量开发票
12、订货单发票价格现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v数据项是不可再分的数据单位v数据项描述=数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系v示例v数据项名:mv别名:齿轮的模数v含义说明:齿轮的模数m=p/。互相啮合的两齿轮,其模数相等。采用标准模数可以减少加工齿轮刀具的数量v数据类型:枚举数据v长度:1字节v取值范围:1|1.25|1.5|2|2.5|3|4|5|6|8|10|12|16|20|25|32|40|50v与其他数据项的逻辑关系:齿轮的模数m确定后,可算出轮齿的基本尺寸(如齿距、齿高等)v注释:模
13、数采用第一系列,单位为mm数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v数据结构反映了数据之间的组合关系v数据结构描述=数据结构名,含义说明,组成:数据项或数据结构v示例v数据结构名:斜齿轮v含义说明:斜齿圆柱齿轮的基本参数v组成:法项模数(mn)+齿数(z)+螺旋角()v数据流是数据结构在系统内传输的路径v数据流描述=数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量v示例v数据流名:链传动已知条件v
14、数据流来源:设计要求,数据源Sv数据流去向:处理1,“设计链传动”v组成:小链轮转速(n1)+传动比(i)|大链轮转速(n2)+小链轮传动功率(P)+(中心距要求)现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一v数据存储描述=数据存储名,说明,编号,输入的数据流,输出的数据流,组成:数据结构,数据量,存取频度,存取方式v示例v数据存储名:传动比系数v说明:kiv输出数据流:已知条件v组成:传动比(i)+传动比系数(ki)v数据存储名:定期帐目v组成:帐号+户名+款额+存期+存入日期+利息+储户地址v存取方式:按帐号递增
15、顺序排列现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v处理过程的具体逻辑一般用判定表或判定树来描述v处理过程描述=处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明v示例v处理过程名:处方划价v说明:计算患者的付费金额v输入:收费价目表+处方+患者类型v输出:付费金额+付费明细表v处理:按收费价目表,根据处方上的药品数量和处置,计算总额;根据患者类型(公费、自费等),确定付费比例,然后由上面的总额计算实际付费金额v处理过程名:设计链传动v输入:已知条件v输出:传动参数+结构参数+轴压力v处理:依照中的方法现现 代代 制制 造造 信信 息息 技技 术术 基基 础础数据字典
16、是关于数据库中数据的描述,即元数据,而不是数据本身。需求分析这一阶段收集到的基础数据(用数据字典来表达)和一组数据流程图是下一步进行概念设计的基础。强调两点:需求分析阶段一个重要而困难的任务是收集将来应用所涉及的数据,设计者应充分考虑到可能的扩充和修改,使设计易于更改,系统易于扩充。必须强调用户的参与。数据库应用系统和广泛的用户有密切的联系,许多人要使用数据库,数据库的建立又可能对更多人的工作环境产生重要影响。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础结构化语言适合于逻辑加工关系简单的描述。它的结构通常分为内外两大层。外层可有多层,并可相互嵌套,具有较固定的格式。常见的语句有I
17、F、THEN、ELSE、DO、WHILEENDWHILE、DO CASEENDCASE等,用于描述顺序、选择和重复的控制结构;内部则比较灵活,可以使用数据词典中定义过的词汇、运算符、关系符和一些易于理解的名词等。v例 某航空公司行李托运收费计算方法,用自然语言描述如下:v乘客可以免费携带30kg重的行李;v超过30kg,国内乘客,乘坐头等舱,超重部分每千克收费4元;乘坐其他舱超重部分每千克收费6元;v超过30kg,国外乘客,乘坐头等舱,超重部分每千克收费8元;乘坐其他舱超重部分每千克收费12元。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础IF 行李重量30kg 托运费=0 /免交
18、托运费ELSE IF 是国内乘客 IF 是头等舱 托运费=(W-30)4 /国内乘客、头等舱 ELSE 托运费=(W-30)6 /国内乘客、其他舱 ENDIF ELSE IF 是头等舱 托运费=(W-30)8 /国外乘客、头等舱 ELSE 托运费=(W-30)12 /国外乘客、其他舱 ENDIF ENDIFENDIF现现 代代 制制 造造 信信 息息 技技 术术 基基 础础一张判定表通常由四部分组成:v左上部列出的是所有的条件;v左下部为所有可能的操作;v右上部表示各种条件组合的一个矩阵;v右下部是对应于每种条件组合应有的操作。条件组合12345国内乘客TTFF头等舱TFTF行李重量W 30k
19、gTFFFF免费(W-30)4(W-30)6(W-30)8(W-30)12现现 代代 制制 造造 信信 息息 技技 术术 基基 础础条件组合1234567内表面TTTTTTT孔TTTTTTT8级以下TFFFFFF78级FTTFFFF7级以上FFFTTTT硬化处理FFFFFTT高位置要求FFTFTFT钻扩镗铰磨现现 代代 制制 造造 信信 息息 技技 术术 基基 础础行李费算法行李重量W30行李重量W30国内乘客国外乘客头等舱其他舱头等舱其他舱(W-30)4(W-30)6(W-30)8(W-30)12免费现现 代代 制制 造造 信信 息息 技技 术术 基基 础础钢质轴杆件内表面外表面孔槽8级以下
20、78级7级以上无高位置要求钻钻、扩钻、镗钻、扩、铰内螺纹有较高位置要求未硬化处理经硬化处理无位置要求有位置要求无位置要求有位置要求钻、扩、镗钻、扩、磨钻、镗、磨现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v概念结构的主要特点:v能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型v易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键v易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充v易于向关系、网状、层次等各种数据模型转换将需求分析得到的用户需求抽象为信息结构即概念模型的过程
21、就是概念结构设计。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。描述概念模型的有力工具是E-R模型。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础设计概念结构通常有四类方法:(1)自顶向下。即首先定义全局概念结构的框架,然后逐步细化(2)自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构(3)逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球方式生成其他概念结构,直至总体概念结构混合策略。即将自顶向下和自底向上相结合,用自顶向下策略生成一个全局概念结构框架,以它为骨架集成由自底向上策略中设计的各局部概念结构
22、概念模式概念模式概念模式子需求子需求子需求概念模式概念模式全局概念模式现现 代代 制制 造造 信信 息息 技技 术术 基基 础础策略:自顶向下分析需求与自底向上设计概念结构概念模式1.1概念模式1.2需求分析(自顶向下)需求1.1需求1.2需求1概念模式1概念模式n全局概念模式(应用1)(应用n)概念模式n.1概念模式n.2需求n.1需求n.2需求n需求概念结构设计(自底向上)现现 代代 制制 造造 信信 息息 技技 术术 基基 础础自底向上设计概念结构的步骤:抽象数据并设计局部视图集成局部视图,得到全局的概念结构视图集成需求分析逻辑结构设计返回用户,征求意见,直到满意为止数据抽象、局部视图的
23、设计DFD、DD分E-R图总E-R图现现 代代 制制 造造 信信 息息 技技 术术 基基 础础一般有三种数据抽象:分类。定义某一类概念作为现实世界中的一组对象的类型。这些对象具有某些共同的特性和行为。它抽象了对象值和型之间的“is member of”的语义张三李四学生王二“is member of”学生研究生本科生“is subset of”学生“is part of”学号姓名专业 聚集。定义某一类型的组成部分。它抽象了对象内部类型和成分之间的“is part of”的语义 概括。定义类型之间的一种子集联系。它抽象了类型之间的“is subset of”的语义。概括具有继承性。现现 代代 制
24、制 造造 信信 息息 技技 术术 基基 础础概念结构设计的第一步是对需求分析阶段收集到的数据进行分类、组织,形成实体,标识实体的码,确定实体之间的联系类型,设计分E-R图。选择局部应用。根据某个系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,作为设计分E-R图的出发点。让这组图的每一部分对应一个局部应用。人们往往以中层数据流图作为设计分E-R图的依据。逐一设计分E-R图。将局部应用所涉及的数据从数据字典中取出来,参照数据流图,标定局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型。物质管理子系统设计分E-R图的出发点某工厂MIS销售管理子系统人事管理子系统现现
25、 代代 制制 造造 信信 息息 技技 术术 基基 础础为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。本来,实体与属性之间并没有形式上可截然划分的界限,但可给出两条准则:作为“属性”,不能再具有需要描述的性质。“属性”必须是不可分的数据项,不能包含其他属性;“属性”不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。职工职工职工职工聘任聘任职称职称职工号姓名年龄职称职工号姓名年龄职称代码工资住房标准现现 代代 制制 造造 信信 息息 技技 术术 基基 础础例 在医院中,一个病人只能住在一个病房,病房号可以作为病人实体的一个属性。但若病房还要与医生实体发生
26、联系,即一个医生负责若干病房的病人的医疗工作,则病房应作为一个实体。病人病人病人病人住在住在病房病房住院号姓名病房号住院号姓名医生医生医疗医疗n1m1现现 代代 制制 造造 信信 息息 技技 术术 基基 础础例 若一种货物只存放在一个仓库,则可以把存放货物的仓库号作为描述货物存放地点的属性。但若一种货物可存放在多个仓库中,或仓库本身又用面积作为属性,或与职工发生管理上的联系,则就应把仓库作为一个实体。货物货物货号单价存放仓库号存量货物货物仓库仓库存放存放mn描述货物单价仓库号面积管理管理职工职工p货物货物仓库仓库存放存放m描述货物单价仓库号面积n1现现 代代 制制 造造 信信 息息 技技 术术
27、 基基 础础实例 销售管理子系统分E-R图的设计。主要功能:处理顾客和销售员送来的订单;工厂是根据订货安排生产的;交出货物同时开出发票;收到顾客付款后,根据发票存根和信贷情况进行应收款处理。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础顾客1.0送进订单2.0处理订单3.0开发票4.0支付过帐5.0提供应收帐款主管部门生产部门产品描述应收帐款应收帐款订单记事本结算数据包装通知单(不)批准订单数据当前价格顾客帐目状况已批准订单校对订单数据主管部门(不)批准应收帐款报表准备发放细节生产通知单订单细节发票调整未付差额调整财务费用变动现现 代代 制制 造造 信信 息息 技技 术术 基基 础
28、础顾客1.1核对价格1.2核对帐目状况1.3批准订单主管部门产品描述应收帐款(不)批准订单数据当前价格顾客帐目状况已核对价格的订单校对订单数据主管部门(不)批准帐目状况已核实的订单已批准的订单接收订单现现 代代 制制 造造 信信 息息 技技 术术 基基 础础处理订单2.1登记订单2.2分配工种号2.3准备订货卡生产部门订单记录本已批准的订单订单的细节已登记的订单待完成订单报表生产通知单编好号的订单订货卡待完成订货清单准备发货细节2.4准备待完成订单报表待完成订单工种号现现 代代 制制 造造 信信 息息 技技 术术 基基 础础开发票3.1开发票3.2分配发票号生产部门包装通知单准备发货细节发票编
29、过号的发票发票记录本发票发票主清单顾客应收帐款发票现现 代代 制制 造造 信信 息息 技技 术术 基基 础础4.1送进结算4.2记入贷方余额结算数据支付已批准的信贷信贷顾客4.3批准信贷4.4记入借方余额调整调整应收帐款发票支付过帐现现 代代 制制 造造 信信 息息 技技 术术 基基 础础支付支付订单订单m顾客顾客应收帐款应收帐款支付支付1n1产品产品?分E-R图的框架v 每张订单由订单号、若干头信息和订单细节组成。订单细节又有订货的零件号、数量等来描述。订单细节不应作为订单的属性处理而应该上升为实体。一张订单可以定若干产品,故订单与订单细节两实体之间是一对多的联系。v 原订单和产品的联系实际
30、上是订单细节和产品的联系。v 工厂对大宗订货给予优惠。每种产品都规定了不同订货数量的折扣,应增加一个“折扣规则”实体存放这些信息。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础销售管理子系统的分E-R图订货订货订单订单n顾客顾客应收帐款应收帐款支付支付1n1产品描述产品描述n1组成组成订单细节订单细节n1参照参照1折扣规则折扣规则n参照参照21对每个实体定义的属性如下:v顾客:顾客号,顾客名,地址,电话,信贷状况,帐目余额v订单:订单号,顾客号,订货项数,订货日期,交货日期,工种号,生产地点v订单细则:订单号,细则号,零件号,订货数,金额v应收帐款:顾客号,订单号,发票号,应收金额
31、,支付日期,支付金额,当前余额,贷款限额v产品描述:产品号,产品名,单价,重量v折扣规则:产品号,订货量,折扣现现 代代 制制 造造 信信 息息 技技 术术 基基 础础每次集成局部E-R图时需要分两步:v(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。v(2)修改和重构。消除不必要的冗余,生成基本E-R图。视图的集成可以有两种方式:v多个分E-R图一次集成;v逐步集成,用累加的方式一次集成两个分E-R图。合并(消除冲突)修改与重构(消除不必要的冗余)集成视图分析规范化理论分E-R图初步E-R图基本E-R图现现 代代 制制 造造 信信 息息 技技 术术 基基 础础
32、合并分E-R图,生成初步E-R图:v(1)属性冲突v属性域冲突,即属性值的类型、取值范围或取值集合不同v属性取值单位冲突v(2)命名冲突v(3)结构冲突v同一对象在不同应用中具有不同的抽象。解决方法通常是把属性变为实体或把实体变为属性,使同一对象具有相同的抽象。v同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。解决方法是使该实体的属性取各分E-R图中属性的并集,再适当调整属性的次序。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础构成构成零件零件m产品产品n(E-R)1数量供应商供应商供应供应npm数量产品产品零件零件(E-R)2供应商供应商供应供应np构成构成m
33、数量1产品产品零件零件数量2mn(E-R)12现现 代代 制制 造造 信信 息息 技技 术术 基基 础础消除不必要的冗余,生成基本E-R图:v(1)分析方法。消除冗余主要采用分析方法,即以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余仓库仓库使用使用nn消耗消耗m产品产品零件零件用量Q3mn构成构成材料材料耗用量Q2供应供应m存放量Q5库存量Q41零件数Q1nQ3=Q1Q2;Q4=Q5。故Q3、Q4是冗余数据,可以消去,产品与材料间m:n的冗余联系也应消去现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v(2)规范化理论。v确定分E-R图实体之间的数据
34、依赖v求函数依赖集FL与其最小覆盖GL的差集D,然后逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。项目项目负责负责nm属于属于1部门部门职工职工天数n1生产生产1由于规范化理论受到泛关系假设的限制,应注意下面两个问题:v冗余的联系一定在D中,而D中的联系不一定是冗余的联系v当实体之间存在多种联系时,要将实体之间的联系在形式上加以区分。(如,负责人职工号部门号,部门号负责人.职工号)现现 代代 制制 造造 信信 息息 技技 术术 基基 础础实例 某工厂管理信息系统的视图集成。产品产品负责负责nm属于属于1部门部门职工职工天数n1参加参加1领导领导11组成组成订单订单n顾客顾客应
35、收款应收款支付支付1n1n1订单细节订单细节n1参照参照1折扣规则折扣规则供应商供应商供应供应npm供应量零件零件参照参照21库存库存仓库仓库mnn订货订货库存量现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v(1)将概念结构转换为一般的关系、网状、层次模型;v(2)将转换来的模型向特定DBMS支持下的数据模型转换;v(3)对数据模型进行优化。转换规则DBMS的特点和限制特定DBMS支持下的数据模型概念结构基本E-R图一般数据模型关系,网状,层次优化的数据模型优化方法现现 代代 制制 造造 信信 息息 技技 术术 基基 础础E-R图转换为关系模式一般遵循如下原则:v一个实体型转换为
36、一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。v一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。v一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。若转换为一个独立的关系模式,则与该实体相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码v一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为实体的码v三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体
37、码的组合。v具有相同码的关系模式可以合并。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础实例 E-R图转换为关系模型v部门(部门号,部门名,经理的职工号,)v职工(职工号,职工名,部门号,职务,)v产品(产品号,产品名,产品组长的职工号,)v供应商(供应商号,姓名,)v零件(零件号,零件名,)v职工工作(职工号,产品号,工作天数,)v供应(产品号,供应商号,零件号,供应量)现现 代代 制制 造造 信信 息息 技技 术术 基基 础础数据库逻辑设计的结果不是唯一的。为了进一步提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整数据模型的结构,这就是数据模型的优化。关系模型的优化
38、通常以规范化理论为指导。v 确定数据依赖。按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间的数据依赖。v 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。v 按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。v 按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行合并或分解。v 对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。常用的两种分解方法是水平分解和垂直分解。v水平分解是把(基本)关系的元组分
39、为若干子集合,定义每个子集合为一个子关系,以提高系统的效率v垂直分解是把关系模式R的属性分解为若干子集合,形成若干子关系模式。其原则是经常在一起使用的属性从R中分解出来形成一个子关系模式现现 代代 制制 造造 信信 息息 技技 术术 基基 础础将概念模型转换为全局逻辑模型后,还应根据局部的应用要求,结合具体DBMS的特点,设计用户的外模式。在RDBMS中可以利用视图设计更符合局部用户需要的外模式。在定义外模式时可以注重考虑用户的习惯与方便。包括:v(1)使用更符合用户习惯的别名v(2)可对不同级别的用户定义不同的视图,以保证系统的安全性v(3)简化用户对系统的使用产品(产品号,产品名,规格,单
40、价,生产车间,生产负责人,产品成本,产品合格率,质量等级)为一般顾客建立视图:产品1(产品号,产品名,规格,单价)为销售部门建立视图:产品2(产品号,产品名,规格,单价,生产成本)现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统v为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计v 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;v 对物理结构进行评价,评价的重点是时间和空间效率现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v 首先,对要运
41、行的事物进行详细分析,获得选择物理数据库设计所需要的参数v 其次,要充分了解所用的DBMS的内部特性,特别是系统提供的存取方法和存储结构对于数据库查询事物,需要得到如下信息:查询的关系查询条件所涉及的属性连接条件所涉及的属性查询的投影属性对于数据更新事物,需要得到如下信息:被更新的关系每个关系上的更新操作修改操作要修改的属性值v 通常对于关系数据库物理设计的内容主要包括:v 为关系模式选择存取方法v 设计关系、索引等数据库文件的物理存储结构现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v索引存取方法的选择:根据应用要求确定对关系的哪些属性列建立索引、哪些属性列建立组合索引、哪些索引
42、要设计为唯一索引等。v 如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引);v 如果一个属性值经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引;v 如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v为了提高某个属性(或属性组)的查询速度,把这个或这些属性(聚簇码)上具有相同值的元组集中存放在连续的物理块称为聚簇v聚簇存取方法的选择:确定需要建立多少个聚簇,每个聚簇中包括哪些关系。v 首先,设计侯选聚簇。对经常在一起进行连接操作的关系
43、可以建立聚簇;若一个关系的一组属性经常出现在相等比较条件中,则该单个关系可建立聚簇;若一个关系的一个(或一组)属性上的值重复率很高,则此单个关系可建立聚簇。v 然后,检查侯选聚簇中的关系,取消其中不必要的关系。从聚簇中删除经常进行全表扫描的关系;从聚簇中删除更新操作远多于连接操作的关系;不同的聚簇中可能包含相同的关系,一个关系可以在某一个聚簇中,但不能同时加入多个聚簇。要从这多个聚簇方案中选择一个较优的,即在这个聚簇上运行各种事物的总代价最小。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v确定数据库物理结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等
44、的存储安排和存储结构;确定系统配置等。v 确定数据的存放位置。为了提高系统性能,应该根据应用情况将数据的易变部分与稳定部分、经常存取部分和存取频率较低部分分开存放。v 确定系统配置。DBMS产品一般都提供了一些系统配置变量、存储分配参数,供设计人员和DBA对数据库进行物理优化。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。v评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方
45、案的存储空间、存取时间和维护代价入手,对估算结果进行权衡、比较,选择出一个较优的合理的物理结构,若该结构不符合用户需求,则需要修改设计。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础v数据的载入和应用程序的调试v 数据的载入。数据的转换,组织数据入库。若原系统是手工系统,尽量设计一个数据录入子系统;若原系统是数据库系统,尽量使用DBMS的数据转换工具v 应用程序的编码和调试v数据库的试运行v 应分期分批地组织数据入库,先输入小批量数据做调试用;v 应首先调试DBMS的恢复功能,做好数据库的转储和恢复工作现现 代代 制制 造造 信信 息息 技技 术术 基基 础础在数据库运行阶段,对数
46、据库经常性的维护工作是由DBA完成的,它包括:v数据库的转储和恢复v数据库的安全性、完整性控制v数据库性能的监督、分析和改造v数据库的重组织与重构造现现 代代 制制 造造 信信 息息 技技 术术 基基 础础设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本被借出的书存有读者号、借出日期和应还日期。要求:给出E-R图,再将其转换为关系模型。分析:这里涉及读者和书两个实体。每位读者可借阅多本书,而每本书在一段时间内只能被一位读者借阅。所以读者与书之间的联系是一对多的联系。读者读者书书借阅借阅1n读者号
47、姓名书号出版社书名作者性别年龄单位地址借出日期应还日期现现 代代 制制 造造 信信 息息 技技 术术 基基 础础对每个实体定义的属性如下:v读者:读者号,姓名,地址,性别,年龄,单位 v书:书号,书名,作者,出版社 E-R图转换为关系模式一般遵循的原则(只列出与此题有关的):v一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。v一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。若转换为一个独立的关系模式,则与该实体相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码v具有相同码的关系模式可以合并。将上面的E-R图转
48、换为关系模型:v读者(读者号,姓名,地址,性别,年龄,单位)v书(书号,书名,作者,出版社,读者号,借出日期,应还日期)读者(读者号,姓名,地址,性别,年龄,单位)书(书号,书名,作者,出版社)借阅(书号,读者号,借出日期,应还日期)现现 代代 制制 造造 信信 息息 技技 术术 基基 础础现要开发一个简化的教务管理系统,下面是用户对系统的陈述:该系统主要包括学生信息查询、教务信息维护和学生选课等三部分。其中前两项功能主要为教务人员使用,使用时要核对用户名和口令。v“学生信息查询”主要是按指定系检索该系的学生信息,其中包括所有的学生记录和学生总数。v“教务信息维护”主要是维护学生、系、课程和学
49、生选课及成绩等方面的基本信息。包括增、删、改、查等功能。v“学生选课”是为学生提供选课界面。该界面要列出所有课程信息供学生查询和选课。学生进入该界面后,首先要输入自己的学号。该界面核对学号后即显示该生姓名和已获得的学分,同时显示出该同学的选课课表,课表反映该生选课情况。学生选课要受到一些条件的约束,如课程名额限制、课程时间冲突等。该界面允许学生选课和退选。现现 代代 制制 造造 信信 息息 技技 术术 基基 础础系统的顶层数据流图学生教务员P0教务管理系统查询要求选课输入信息数据库选课结果修改要求查询结果修改结果验证结果注册信息现现 代代 制制 造造 信信 息息 技技 术术 基基 础础经过细化
50、后得到系统的第二层数据流图P1登录处理P4选课处理P2学生信息检索教务员学生教务员注册表D1课程纪录D4学生纪录D3系纪录D2查询结果验证结果查询要求调用信息修改要求注册信息系维护信息学生维护信息选课维护信息课程维护信息选课信息学生姓名选课结果选课要求课程信息修改结果P3教务信息维护调用信息调用信息学生纪录D3选课纪录D5现现 代代 制制 造造 信信 息息 技技 术术 基基 础础编写数据字典主要数据流定义如下:数据流名称:注册信息v 位置:教务员P1v 定义:注册信息=教务员注册名+口令v 说明:“查询”和“维护”功能仅对教务员,所以教务员使用这些功能时,要输入合法的注册名及口令,以获得操作权
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。