《数据库与软件开发基础第八章幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库与软件开发基础第八章幻灯片.ppt(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库与软件开发基础第八章第1页,共69页,编辑于2022年,星期六 数据库设计是要在一个数据库设计是要在一个给定的应用环境给定的应用环境中,中,通过合理的通过合理的逻辑设计逻辑设计和有效的和有效的物理设计物理设计,构造较,构造较 优的优的数据库模式数据库模式,建立,建立数据库数据库及其及其应用系统应用系统,满,满 足用户的各种信息需求。足用户的各种信息需求。是数据库在应用领域的主要研究课题是数据库在应用领域的主要研究课题8.1 8.1 数据库设计方法数据库设计方法2目前的数据库设计方法:目前的数据库设计方法:规范化设计法规范化设计法 按软件工程思想,将设计分为若干阶段,明确规定各阶段的按软件
2、工程思想,将设计分为若干阶段,明确规定各阶段的任务,自顶向下逐步求精任务,自顶向下逐步求精第2页,共69页,编辑于2022年,星期六数据库设计任务:数据库设计任务:8.1 8.1 数据库设计方法数据库设计方法“数据库设计数据库设计”与与“数据处理设计数据处理设计”紧密结合紧密结合n 设计六阶段:设计六阶段:5 5 数据库实施数据库实施1 1 需求分析需求分析2 2 概念结构设计概念结构设计3 3 逻辑结构设计逻辑结构设计4 4 物理设计物理设计6 6 数据库运行和维护数据库运行和维护3第3页,共69页,编辑于2022年,星期六设计步骤:设计步骤:8.1 8.1 数据库设计方法数据库设计方法调查
3、、收集调查、收集信息需求,处理需求信息需求,处理需求安全需求,性能需求安全需求,性能需求完整性需求完整性需求分析、整理出分析、整理出需求说明书需求说明书用概念数据模型来表示用概念数据模型来表示数据及其联系,为进一步的数据及其联系,为进一步的设计提供依据,产生设计提供依据,产生概念概念数据模型:数据模型:ER图图 将概念数据模型表示的数据模式转换将概念数据模型表示的数据模式转换成用所选成用所选DBMSDBMS支持的数据模型表示的符合规支持的数据模型表示的符合规范的逻辑模式、外模式范的逻辑模式、外模式设计数据库的逻辑设计数据库的逻辑结构结构 设计数据库的内模式,包设计数据库的内模式,包括:文件结构
4、、存取路径、括:文件结构、存取路径、索引和存储空间的分配等,索引和存储空间的分配等,与与DBMSDBMS、OSOS、硬件有关。硬件有关。用所选的用所选的DBMSDBMS提供的提供的DDLDDL定义数据模式定义数据模式装入数据装入数据用合适的开发工具编用合适的开发工具编制应用程序制应用程序联机调试并试运行联机调试并试运行进行性能分析,若不符合要求,则调整进行性能分析,若不符合要求,则调整相关部分的设计或修改应用程序,直至能高效、稳定、正确地运行相关部分的设计或修改应用程序,直至能高效、稳定、正确地运行4第4页,共69页,编辑于2022年,星期六8.2 8.2 需求分析需求分析了解了解原系统的工作
5、概况原系统的工作概况明确用户的各种需求明确用户的各种需求 信息需求、处理需求信息需求、处理需求 安全需求、完整性需求安全需求、完整性需求 性能需求性能需求(、未来需求、未来需求)确定确定新系统的功能新系统的功能(系统目标系统目标)一、任务一、任务 明确要明确要“做什么?做什么?”,而不考虑,而不考虑“怎么做?怎么做?”6第6页,共69页,编辑于2022年,星期六二、需求分析的重点二、需求分析的重点 数据、处理数据、处理 用户的信息要求用户的信息要求 用户用到的数据及其结构,确定数据库中用户用到的数据及其结构,确定数据库中 应存储哪些数据应存储哪些数据 用户的处理要求用户的处理要求 要求完成的处
6、理功能,响应时间,涉及的要求完成的处理功能,响应时间,涉及的 数据,处理方式等数据,处理方式等 对数据的安全性、完整性的要求对数据的安全性、完整性的要求8.2 8.2 需求分析需求分析7第7页,共69页,编辑于2022年,星期六三、步骤三、步骤(1)(1)收集信息收集信息了解组织机构与职能了解组织机构与职能业务现状业务现状(业务流程、信息种类、处理方法业务流程、信息种类、处理方法)(各部门输入和使用的数据,数据的加工和处理,各部门输入和使用的数据,数据的加工和处理,输出信息,输出到的部门,输出的格式等输出信息,输出到的部门,输出的格式等)系统边界系统边界(工作的计算机处理和人工处理工作的计算机
7、处理和人工处理)(2)(2)分析与整理分析与整理结构化分析方法结构化分析方法SASA(自顶向下、逐层分解自顶向下、逐层分解)分析业务流程分析业务流程数据流图数据流图(DFDDFD)数据字典数据字典(DDDD)(3)(3)评审评审8.2 8.2 需求分析需求分析8第8页,共69页,编辑于2022年,星期六8.2 8.2 需求分析需求分析n 数据流图数据流图:用于建立功能模型,系统逻辑功能的图形表示;:用于建立功能模型,系统逻辑功能的图形表示;n 正方形正方形:表示数据源点或终点;:表示数据源点或终点;n 开口矩形开口矩形:代表数据存储;:代表数据存储;n 圆形(圆角矩形)圆形(圆角矩形):代表变
8、换数据的处理;:代表变换数据的处理;n 箭头箭头:特定数据的流动方向;:特定数据的流动方向;分解、精化分解、精化数据字典数据字典:是对系统数据元:是对系统数据元素素精确精确、严格严格定义的定义的有组织有组织的列表,目的使的列表,目的使“各级人员各级人员”对数据的对数据的输入输入、输出输出、存储存储,甚至,甚至中间计算结果中间计算结果有有相同的理解。相同的理解。n 包括:包括:名字名字,别名别名,使用地点与方式使用地点与方式,内容描述内容描述和和补充信息补充信息;9第9页,共69页,编辑于2022年,星期六概念结构设计概念结构设计:将需求分析得到的用户需求抽象为:将需求分析得到的用户需求抽象为信
9、息结构信息结构,即概念模型的过程就是概念结构设计。即概念模型的过程就是概念结构设计。8.3 8.3 概念结构设计概念结构设计n 概念结构概念结构独立于数据库逻辑结构独立于数据库逻辑结构,也,也独立于独立于DBMSDBMS。n 是是现实世界与机器世界的中介现实世界与机器世界的中介,一方面能够充分反映现,一方面能够充分反映现 实世界(实体与实体之间的联系),另一方面又易于向实世界(实体与实体之间的联系),另一方面又易于向 关系等各种数据模型转换。关系等各种数据模型转换。n 是现实世界的一个真实模型,是现实世界的一个真实模型,易于理解易于理解,便于和不熟悉,便于和不熟悉 计算机的用户交换意见,使用户
10、易于参与,当现实世界计算机的用户交换意见,使用户易于参与,当现实世界 需求改变时,概念结构可以很需求改变时,概念结构可以很容易地作相应调整容易地作相应调整。概念结构设计是整个数据库设计的关键概念结构设计是整个数据库设计的关键n 设计工具:设计工具:E ER R图图10第10页,共69页,编辑于2022年,星期六需求需求需求需求1需求需求n需求需求1.1需求需求1.2需求需求n.1需求需求n.2概念模式概念模式1.11.1概念模式概念模式1 1概念模式概念模式1.21.2概念模式概念模式n.1n.1概念模式概念模式n.2n.2概念模式概念模式n n全局概念模式全局概念模式自顶向下自顶向下需求分析
11、需求分析自底向上自底向上概念结构设计概念结构设计8.3 8.3 概念结构设计概念结构设计11第11页,共69页,编辑于2022年,星期六1.1.实体实体(EntityEntity):):客观存在并可相互区分的事物叫实体客观存在并可相互区分的事物叫实体 例如:一个职工,一个纳税人,一个部门,一次纳税申报例如:一个职工,一个纳税人,一个部门,一次纳税申报2.2.属性属性(AttributeAttribute):):属性是实体具有的某一特性属性是实体具有的某一特性 一个实体可以由若干个属性来描述。一个实体可以由若干个属性来描述。例如:纳税人由纳税人识别号例如:纳税人由纳税人识别号,名称名称,电话电话
12、,行业行业,从业人数从业人数 (110108000000001 110108000000001,北京手表厂,北京手表厂,6251118862511188,钟表制造业,钟表制造业,25002500,)8.3.1 8.3.1 概念模型概念模型概念模型涉及的主要概念:概念模型涉及的主要概念:13第13页,共69页,编辑于2022年,星期六3.3.码码(KeyKey)唯一标识实体的属性集称为码。唯一标识实体的属性集称为码。例如,纳税人识别号是纳税人实体的码例如,纳税人识别号是纳税人实体的码4.4.域域(DomainDomain)属性的取值范围属性的取值范围 例如:名称域为字符串集合,从业人数域为正整数
13、例如:名称域为字符串集合,从业人数域为正整数5.5.实体型实体型(Entity typeEntity type)用实体名及其属性名集合来抽象和描述同类实体。用实体名及其属性名集合来抽象和描述同类实体。例如,纳税人(纳税人识别号、名称、电话、行业、例如,纳税人(纳税人识别号、名称、电话、行业、从业人数)是一个实体型从业人数)是一个实体型8.3.1 8.3.1 概念模型概念模型14第14页,共69页,编辑于2022年,星期六6.6.实体集实体集(Entity setEntity set)同型实体的集合称为实体集。同型实体的集合称为实体集。例如,全体纳税人是一个实体集例如,全体纳税人是一个实体集7.
14、7.联系联系(RelationshipRelationship):):两类:两类:实体内部的联系,如属性之间的联系实体内部的联系,如属性之间的联系;实体之间的联系实体之间的联系 两个实体型之间的联系可以分为三类:两个实体型之间的联系可以分为三类:一对一联系一对一联系、一对多联系一对多联系、多对多联系多对多联系8.3.1 8.3.1 概念模型概念模型15第15页,共69页,编辑于2022年,星期六n一一对对一一联联系系(1 1:1 1):若若对对于于实实体体集集A A中中每每一一个个实实体体,实实体体集集B B中中至至多多有有一一个个实实体体与与之之联联系系,反反之之亦亦然然,则则称称实实体体集
15、集A A与与实实体体集集B B具具有有一对一联系,记为一对一联系,记为1 1:1 1。n一一对对多多联联系系(1 1:n n):若若对对于于实实体体集集A A中中的的每每一一个个实实体体,实实体体集集B B中中有有n n个个实实体体(n=0n=0)与与之之联联系系;反反之之,对对于于实实体体集集B B中中的的每每一一个个实实体体,实实体体集集A A中中至至多多一一个个实实体体与与之之联联系系,则则称称实实体体集集A A与与实实体体集集B B具有一对多的联系,记为具有一对多的联系,记为1 1:n nn多多对对多多联联系系(m m:n n):若若对对于于实实体体集集A A中中的的每每一一个个实实体
16、体,实实体体集集B B中中有有n n个个实实体体(n=0n=0)与与之之联联系系;反反之之,对对于于实实体体集集B B中中的的每每一一个个实实体体,实实体体集集A A中中也也有有m m个个实实体体(m=0m=0)与与之之联联系系,则则称称实实体体集集A A与与实实体集体集B B具有多对多的联系,记为具有多对多的联系,记为m m:n n8.3.1 8.3.1 概念模型概念模型16第16页,共69页,编辑于2022年,星期六概念模型最常用的表示方法是:概念模型最常用的表示方法是:实体实体联系方法联系方法(Entity-Relationship ApproachEntity-Relationship
17、 Approach)用用E-RE-R图来图来描述现实世界某一组织的概念模型。描述现实世界某一组织的概念模型。在在E-RE-R图中:图中:n 用用长方形长方形表示表示实体型实体型,在框内写上实体名,在框内写上实体名n 用用椭圆形椭圆形表示表示实体属性实体属性n 用用无向边无向边把连接把连接实体与其属性实体与其属性n 用用菱形菱形表示表示实体间的联系实体间的联系,菱形框内写上联系名,菱形框内写上联系名n 用用无向边无向边把连接把连接菱形与有关实体菱形与有关实体,在无向边旁标上,在无向边旁标上 联系的类型(联系的类型(1 1:1 1,1 1:n n,m m:n n),),若若联系也有属性联系也有属性
18、,则把属性和菱形也用无向边连上,则把属性和菱形也用无向边连上8.3.1 8.3.1 概念模型概念模型17第17页,共69页,编辑于2022年,星期六8.3.1 8.3.1 概念模型概念模型学生学生选课选课课程课程课程号课程号课程名课程名先修课号先修课号学号学号姓名姓名性别性别年龄年龄系系年级年级成绩成绩n nm mmn18第18页,共69页,编辑于2022年,星期六学生学生学号学号姓名姓名性别性别年龄年龄系系年级年级课程课程课程号课程号课程名课程名选修课号选修课号(a)a)实体与属性实体与属性学生学生选课选课课程课程成绩成绩n nm m(b)b)实体与实体间联系实体与实体间联系8.3.1 8.
19、3.1 概念模型概念模型19第19页,共69页,编辑于2022年,星期六联系名联系名实体型实体型B B11(a)实体型实体型A A联系名联系名实体型实体型B Bn1(b)实体型实体型A A联系名联系名实体型实体型B Bnm(c)实体型实体型A A两实体间的联系两实体间的联系(不考虑属性不考虑属性)8.3.1 8.3.1 概念模型概念模型20第20页,共69页,编辑于2022年,星期六三实体间的联系三实体间的联系(不考虑属性不考虑属性)教学教学教员教员1 1(a)a)系系学生学生m mn n供应供应产品产品m m(b)b)供应商供应商零件零件n np p8.3.1 8.3.1 概念模型概念模型2
20、1第21页,共69页,编辑于2022年,星期六同室同室1 1学生学生n n同一实体集内一对多的联系同一实体集内一对多的联系8.3.1 8.3.1 概念模型概念模型22第22页,共69页,编辑于2022年,星期六实体属性信息:实体属性信息:n 仓库仓库:仓库号、面积、电话号码、仓库主任的职工号:仓库号、面积、电话号码、仓库主任的职工号n 零件零件:零件号、名称、规格、价格、描述:零件号、名称、规格、价格、描述n 供应商供应商:供应商号、姓名、地址、电话号码、帐号:供应商号、姓名、地址、电话号码、帐号n 项目项目:项目号、预算、开工日期:项目号、预算、开工日期n 职工职工:职工号、姓名、年龄、职称
21、:职工号、姓名、年龄、职称8.3.1 8.3.1 概念模型概念模型某工厂物资管理的概念模型某工厂物资管理的概念模型23第23页,共69页,编辑于2022年,星期六仓库仓库仓库主任工号仓库主任工号 仓库号仓库号面积面积电话号码电话号码职工职工职工号职工号姓名姓名年龄年龄职称职称零件零件零件号零件号名称名称规格规格单价单价描述描述项目项目项目号项目号预算预算开工日期开工日期供应商供应商供应商号供应商号姓名姓名地址地址帐号帐号电话号码电话号码实体及其属性图实体及其属性图8.3.1 8.3.1 概念模型概念模型24第24页,共69页,编辑于2022年,星期六实体间联系信息:实体间联系信息:n 一个仓库
22、可以存放多种零件,一种零件可以存放在一个仓库可以存放多种零件,一种零件可以存放在 多个仓库中,因此多个仓库中,因此仓库和零件具有多对多的联系仓库和零件具有多对多的联系。n 职工之间具有领导被领导的关系。即仓库主任领导职工之间具有领导被领导的关系。即仓库主任领导 若干保管员,因此若干保管员,因此职工实体集中具有一对多的联系职工实体集中具有一对多的联系。n 供应商、项目和零件三者间具有多对多联系供应商、项目和零件三者间具有多对多联系。即。即 一个供应商可以供给若干项目多种零件,每个项目一个供应商可以供给若干项目多种零件,每个项目 可以使用不同供应商供应的零件,每种零件可由不可以使用不同供应商供应的
23、零件,每种零件可由不 同供应商供给。同供应商供给。8.3.1 8.3.1 概念模型概念模型25第25页,共69页,编辑于2022年,星期六供应商供应商供应供应项目项目供应量供应量存放存放仓库仓库零件零件库存量库存量工作工作领导领导职工职工n n1 1m m1 1m mn np pm mn n实体及其联系图实体及其联系图8.3.1 8.3.1 概念模型概念模型26第26页,共69页,编辑于2022年,星期六1.1.局部视图设计步骤:局部视图设计步骤:n 对需求分析阶段收集到的数据进行分类、组织对需求分析阶段收集到的数据进行分类、组织n 形成实体、实体的属性形成实体、实体的属性n 确定实体之间的联
24、系类型确定实体之间的联系类型,设计分设计分E-RE-R图。图。2.2.设计分设计分E-RE-R图:图:n 选择局部应用选择局部应用n 依据:中层的数据流图较好地反映了局部应用依据:中层的数据流图较好地反映了局部应用n 对每个局部应用逐一设计分对每个局部应用逐一设计分E-RE-R图图8.3.2 8.3.2 局部视图设计局部视图设计27第27页,共69页,编辑于2022年,星期六3.3.确定实体、属性、联系:确定实体、属性、联系:n“属性属性”不具有再描述的性质,是不可再分的数据项不具有再描述的性质,是不可再分的数据项n“属性属性”不能与其它实体具有联系不能与其它实体具有联系n 原则原则:为了简化
25、:为了简化E-RE-R图,尽量作为属性对待图,尽量作为属性对待 实体是客观世界中的事务,反映客观存在的对象实体是客观世界中的事务,反映客观存在的对象 从数据流图和数据字典中抽取从数据流图和数据字典中抽取“实体实体”和和“属性属性”的区分:的区分:8.3.2 8.3.2 局部视图设计局部视图设计28第28页,共69页,编辑于2022年,星期六4.举例:举例:职工职工职工号职工号姓名姓名年龄年龄职称职称(将职称作为实体将职称作为实体)职工职工职工号职工号姓名姓名年龄年龄聘任聘任职称职称职称代码职称代码 工资工资 住房标准住房标准 附加福利附加福利m m1 18.3.2 8.3.2 局部视图设计局部
26、视图设计29第29页,共69页,编辑于2022年,星期六视图集成的视图集成的两种方式两种方式:n 多个分多个分E-RE-R图一次集成图一次集成n 逐步集成逐步集成 用累加的方式,一次集成两个分用累加的方式,一次集成两个分E-RE-R图。图。集成集成E-RE-R图图步骤步骤:n 消除冲突,合并分消除冲突,合并分E-RE-R图,生成初步图,生成初步E-RE-R图;图;n 进行修改,消除不必要的冗余,生成基本进行修改,消除不必要的冗余,生成基本E-RE-R图图8.3.3 8.3.3 视图的集成视图的集成35第35页,共69页,编辑于2022年,星期六1.1.消除冲突,合并分消除冲突,合并分E-RE-
27、R图,生成初步图,生成初步E-RE-R图图 三类冲突:三类冲突:属性冲突、命名冲突、结构冲突属性冲突、命名冲突、结构冲突 (1 1)属性冲突属性冲突:n属性取值单位冲突。属性取值单位冲突。n属性域的冲突,即属性值的类型、取值范围不同。属性域的冲突,即属性值的类型、取值范围不同。解决:共同协商解决解决:共同协商解决 (2 2)命名冲突:)命名冲突:n异名同义:各个子系统对同一对象取了不同的名字异名同义:各个子系统对同一对象取了不同的名字n同名异义,对不同的对象取了相同的名字同名异义,对不同的对象取了相同的名字解决:共同协商解决解决:共同协商解决8.3.3 8.3.3 视图的集成视图的集成36第3
28、6页,共69页,编辑于2022年,星期六 (3 3)结构冲突(结构冲突(3 3种形式)种形式):n同一对象在不同应用中作了不同的抽象。同一对象在不同应用中作了不同的抽象。解决:遵循区分解决:遵循区分属性属性和和实体实体的准则,使同一对象的准则,使同一对象 在整个系统中具有相同的抽象。在整个系统中具有相同的抽象。n同一实体在不同的分同一实体在不同的分E-RE-R图中属性的组成不同,或个数不图中属性的组成不同,或个数不同,或次序不同。同,或次序不同。解决:取各分解决:取各分E-RE-R图中同一实体属性的并,然后图中同一实体属性的并,然后 再适当调整属性的次序。再适当调整属性的次序。例如:例如:8.
29、3.3 8.3.3 视图的集成视图的集成37第37页,共69页,编辑于2022年,星期六例如:产品例如:产品-产品号、产品名产品号、产品名 产品名、产品号、数量、预算产品名、产品号、数量、预算 产品号、生产部门代码、数量产品号、生产部门代码、数量-产品号、产品名、生产部门代码、数量、预算产品号、产品名、生产部门代码、数量、预算 n实体间的联系在不同的分实体间的联系在不同的分E-RE-R图中为不同的类型图中为不同的类型解决:根据应用环境的语义来调整解决:根据应用环境的语义来调整例如:产品、零件与供应商例如:产品、零件与供应商“供应供应”(多对多)(多对多)零件与产品零件与产品“构成构成”(多对多
30、)(多对多)这两个联系互相不能包含,合并时把它们综合起来这两个联系互相不能包含,合并时把它们综合起来8.3.3 8.3.3 视图的集成视图的集成38第38页,共69页,编辑于2022年,星期六产品产品构成构成数量数量零件零件m mn n供应商供应商供应供应数量数量零件零件产品产品n nm mp p产品产品构成构成组成数量组成数量零件零件m mn n供应商供应商供应供应n nm mp p供应数量供应数量(合并合并)8.3.3 8.3.3 视图的集成视图的集成39第39页,共69页,编辑于2022年,星期六2.2.消除不必要的冗余消除不必要的冗余,设计基本设计基本E-RE-R图图 冗余的数据,或者
31、实体间冗余的联系冗余的数据,或者实体间冗余的联系库存数量库存数量零件零件零件名零件名零件号零件号存放存放仓库仓库数量数量m mn n消除冗余的方法:消除冗余的方法:通过分析(根据语义)找出冗余并消除通过分析(根据语义)找出冗余并消除8.3.3 8.3.3 视图的集成视图的集成40第40页,共69页,编辑于2022年,星期六工程工程使用使用1 1参加参加人数人数m m1 1职工职工n n零件零件工程工程使用使用零件零件1 1m m承担承担课题组课题组组成组成人数人数n n1 1职工职工数量数量1 1n n(消除冗余消除冗余)工程工程承担承担课题组课题组1 1m m组成组成人数人数m m1 1职工
32、职工8.3.3 8.3.3 视图的集成视图的集成41第41页,共69页,编辑于2022年,星期六 说明:为了提高查询效率,可以保留一些冗余数据说明:为了提高查询效率,可以保留一些冗余数据 根据需求保留冗余数据根据需求保留冗余数据 应定义完整性约束条件,保证数据库的完整性应定义完整性约束条件,保证数据库的完整性例如:例如:应用需经常查询各种零件的库存量应用需经常查询各种零件的库存量 每次查询每个仓每次查询每个仓库某零件的库存,库某零件的库存,再求和再求和定义完整性约束定义完整性约束:零件的库存该零件在各仓库的存放量零件的库存该零件在各仓库的存放量8.3.3 8.3.3 视图的集成视图的集成库存数
33、量库存数量零件零件零件名零件名零件号零件号存放存放仓库仓库数量数量m mn n42第42页,共69页,编辑于2022年,星期六任务:任务:把把概概念念结结构构设设计计阶阶段段设设计计好好的的基基本本E-RE-R图图转转换换为为与与选选用用的的具具体体机机器器上上的的DBMSDBMS产产品品所所支支持持的的数数据据模模型型相相符符合合的的逻逻辑辑结结构。构。步骤:步骤:n 将概念结构向一般关系模型转化。将概念结构向一般关系模型转化。n 将第一步得到的结构转换为特定的将第一步得到的结构转换为特定的DBMSDBMS支持下支持下 的数据模型。的数据模型。n 依据应用的需求和具体的依据应用的需求和具体的
34、DBMSDBMS的特征进行调整的特征进行调整 与完善。与完善。8.4 8.4 逻辑视图设计逻辑视图设计43第43页,共69页,编辑于2022年,星期六 转换核心:转换核心:实体、实体间的联系实体、实体间的联系 关系模式关系模式 确定关系模式的属性和码确定关系模式的属性和码 方法方法:实体实体:将将每每个个实实体体转转换换为为一一个个关关系系,实实体体的的属属性性即即为为关关系系的的属属性,实体的码即为关系的码性,实体的码即为关系的码 实体间的联系实体间的联系:1 1:1 1 在在两两个个实实体体转转换换成成的的两两个个关关系系中中任任意意一一个个关关系的属性中加入另一个关系的码系的属性中加入另
35、一个关系的码8.4.1 8.4.1 E-R图向关系模型的转换图向关系模型的转换44第44页,共69页,编辑于2022年,星期六例如:例如:某工厂中每个车间生产一种产品某工厂中每个车间生产一种产品转换:每个实体转换为一个关系转换:每个实体转换为一个关系车间(车间(车间号车间号、车间名、车间主任代码、电话号码、车间名、车间主任代码、电话号码)产品(产品(产品号产品号、产品名、规格、产品名、规格)车间车间生产生产产品产品1 11 18.4.1 8.4.1 E-R图向关系模型的转换图向关系模型的转换45第45页,共69页,编辑于2022年,星期六问题:在哪个关系中加入另一个关系的码问题:在哪个关系中加
36、入另一个关系的码根据应用的查询情况根据应用的查询情况n若经常在查询车间关系时查询此车间生产的产品代码,若经常在查询车间关系时查询此车间生产的产品代码,可将产品号放入车间关系,以减少查询时的连接操作。可将产品号放入车间关系,以减少查询时的连接操作。n若查询产品关系时要经常查询车间号,则可将车间号若查询产品关系时要经常查询车间号,则可将车间号放入产品关系。放入产品关系。n若无上述两种情况,可在任一关系中加入另一关系的码若无上述两种情况,可在任一关系中加入另一关系的码车间(车间(车间号车间号、车间名、车间主任代码、电话号码、车间名、车间主任代码、电话号码、产品号产品号)产品(产品(产品号产品号、产品
37、名、规格、产品名、规格、车间号车间号)8.4.1 8.4.1 E-R图向关系模型的转换图向关系模型的转换46第46页,共69页,编辑于2022年,星期六实体间的联系实体间的联系:1:n在在n n端端实实体体转转换换成成的的关关系系中中加加入入1 1端端实实体体转转换换成成的的关关系系码码。例如:例如:部门实体与职工实体之间联系为部门实体与职工实体之间联系为1 1:n n转换为:转换为:n部门(部门(部门号部门号、部门名、电话号码)、部门名、电话号码)n职工(职工(职工号职工号、职工名、性别、年龄、职工名、性别、年龄、部门号部门号)部门部门属于属于职工职工1 1n n8.4.1 8.4.1 E-
38、R图向关系模型的转换图向关系模型的转换47第47页,共69页,编辑于2022年,星期六实体间的联系实体间的联系:m:n将将联联系系转转换换为为关关系系,关关系系的的属属性性为为诸诸个个实实体体的的码码加加上联系具有的属性,而关系的码则为诸实体的码的组合上联系具有的属性,而关系的码则为诸实体的码的组合。例如:例如:产品实体与零件实体之间是产品实体与零件实体之间是m m:n n的联系,的联系,转换成关系模式:转换成关系模式:n产品(产品(产品号产品号、产品名、规格)、产品名、规格)n零件(零件(零件号零件号、零件名、库存量)、零件名、库存量)n组成(组成(产品号、零件号产品号、零件号、数量)、数量
39、)8.4.1 8.4.1 E-R图向关系模型的转换图向关系模型的转换48第48页,共69页,编辑于2022年,星期六举例:将举例:将P150P150图图8-188-18的的E-RE-R图转换为关系模型图转换为关系模型转换成关系模式:转换成关系模式:n产品产品(产品号产品号、产品名、规格)、产品名、规格)n零件零件(零件号零件号、零件名、库存量)、零件名、库存量)n产品构成产品构成(产品号、零件号产品号、零件号、数量)数量)n供应商供应商(供应商号供应商号、供应商名、地址、电话号码)、供应商名、地址、电话号码)n零件报价零件报价(零件号、供应商号零件号、供应商号、单价)、单价)n供应供应(产品号
40、、零件号、供应商号产品号、零件号、供应商号、数量)、数量)n订单细节订单细节(订单细节号订单细节号、数量、数量、订单号订单号、零件号零件号)n订单订单(订单号订单号、日期)、日期)8.4.1 8.4.1 E-R图向关系模型的转换图向关系模型的转换49第49页,共69页,编辑于2022年,星期六根据应用需要修改和调整,提高应用系统的性能。根据应用需要修改和调整,提高应用系统的性能。修改和调整包括两个方面:修改和调整包括两个方面:n 数据库结构上的调整数据库结构上的调整 根据数据字典中记载的根据数据字典中记载的 对信息查询的响应时间的要求和查询频度要求。对信息查询的响应时间的要求和查询频度要求。n
41、 设计用户子模式设计用户子模式 根据局部应用需求、根据局部应用需求、DBMSDBMS特点特点n 增加必要的冗余数据增加必要的冗余数据n 可将经常做连接查询的两个关系合并为一个关系。可将经常做连接查询的两个关系合并为一个关系。应从应从E-RE-R图出发,仔细考虑修改后对相关实体图出发,仔细考虑修改后对相关实体 与实体之间的联系有什么影响,然后再进行修改与实体之间的联系有什么影响,然后再进行修改8.4.2 8.4.2 数据数据模型的调整和完善模型的调整和完善50第50页,共69页,编辑于2022年,星期六允许任何顾客查询允许任何顾客查询产品号、产品名、规格、单价产品号、产品名、规格、单价n 设计用
42、户子模式设计用户子模式根据局部应用需求、根据局部应用需求、DBMSDBMS特点特点n 使用更符合用户习惯的别名使用更符合用户习惯的别名n 对不同级别的用户定义不同的视图对不同级别的用户定义不同的视图举例:举例:部门(部门号、部门名称、经理姓名)部门(部门号、部门名称、经理姓名)单位(单位代码、名称、领导姓名)单位(单位代码、名称、领导姓名)解决:定义视图解决:定义视图CREATE VIEW UNITCREATE VIEW UNIT(UNOUNO,NAMENAME,LEADERLEADER)AS SELECT DNOAS SELECT DNO,DEPTNAMEDEPTNAME,MGRMGR FR
43、OM DEPT FROM DEPT;举例:举例:产品(产品号、产品名、规格、单价、产品(产品号、产品名、规格、单价、生产车间、生产负责人、生产车间、生产负责人、技术数据、测试结果)技术数据、测试结果)允许销售部门查询允许销售部门查询产品号、产品名、规格、单价产品号、产品名、规格、单价 生产车间、生产负责人、生产车间、生产负责人、解决:解决:为一般顾客和产品销售部门各定义一个视图为一般顾客和产品销售部门各定义一个视图领导领导保证安全性保证安全性8.4.2 8.4.2 数据数据模型的调整和完善模型的调整和完善51第51页,共69页,编辑于2022年,星期六n 设计用户子模式设计用户子模式根据局部应
44、用需求、根据局部应用需求、DBMSDBMS特点特点n 简化用户对系统的使用简化用户对系统的使用 n 使用更符合用户习惯的别名使用更符合用户习惯的别名n 对不同级别的用户定义不同的视图对不同级别的用户定义不同的视图保证安全性保证安全性可将某些应用中经常用到的复杂查询定义为可将某些应用中经常用到的复杂查询定义为视图,用户每次只对定义好的视图进行查询,使视图,用户每次只对定义好的视图进行查询,使用户感到简单直观、易于理解。用户感到简单直观、易于理解。8.4.2 8.4.2 数据数据模型的调整和完善模型的调整和完善52第52页,共69页,编辑于2022年,星期六数据库的物理结构:数据库的物理结构:数据
45、库在实际的物理设备上的存储结构和存取方法。数据库在实际的物理设备上的存储结构和存取方法。数据库的物理设计:数据库的物理设计:对设计好的逻辑数据模型选择一个最符合应用要求的对设计好的逻辑数据模型选择一个最符合应用要求的物理结构。物理结构。物理设计完全依赖于给定的硬件环境和数据库产品。物理设计完全依赖于给定的硬件环境和数据库产品。8.5 8.5 数据数据库的物理设计库的物理设计53第53页,共69页,编辑于2022年,星期六关系数据库物理设计的主要内容:关系数据库物理设计的主要内容:n 确定数据的存储安排确定数据的存储安排 提高系统性能提高系统性能n 将表和索引分别放在不同的磁盘上。将表和索引分别
46、放在不同的磁盘上。n 将比较大的表分别放在两个磁盘上。将比较大的表分别放在两个磁盘上。n 将日志文件和数据库对象分别放在不同的磁盘。将日志文件和数据库对象分别放在不同的磁盘。例如:选择属性列作为次码建立次索引例如:选择属性列作为次码建立次索引 根据应用要求选择属性列建立组合索引根据应用要求选择属性列建立组合索引 根据数据库产品提供功能建立其它类型的索引根据数据库产品提供功能建立其它类型的索引n 确定系统配置确定系统配置 设置系统配置变量,以适应应用环境的要求设置系统配置变量,以适应应用环境的要求n 存取路径的选择和调整存取路径的选择和调整 对同一数据存储一般可建立多条存取路径(索引)对同一数据
47、存储一般可建立多条存取路径(索引)例如:例如:同时使用数据库的用户数,同时打开的数据库同时使用数据库的用户数,同时打开的数据库对象数,使用缓冲区长度、个数,时间片大小,对象数,使用缓冲区长度、个数,时间片大小,数据库的大小,装填因子,锁的数目等数据库的大小,装填因子,锁的数目等参数值影响存取时间和存储空间的分配,物理设计时要根据应参数值影响存取时间和存储空间的分配,物理设计时要根据应用环境确定这些参数值,使系统性能最优。用环境确定这些参数值,使系统性能最优。8.5 8.5 数据数据库的物理设计库的物理设计54第54页,共69页,编辑于2022年,星期六数据库实施:数据库实施:设计人员用设计人员
48、用DBMSDBMS提供的数据定义语言提供的数据定义语言和和其它实用程序其它实用程序,将数据库,将数据库逻辑设计和物理设计结果逻辑设计和物理设计结果严格描述出来,成为严格描述出来,成为DBMSDBMS可以接受的源代可以接受的源代码;经过调试产生码;经过调试产生目标模式目标模式,然后,然后组织数据入库组织数据入库的过程。的过程。实施阶段的两项重要工作:实施阶段的两项重要工作:n 数据的载入数据的载入n 应用程序的编码和调试应用程序的编码和调试8.6 8.6 数据数据库的实施和维护库的实施和维护55第55页,共69页,编辑于2022年,星期六一、数据的载入和应用程序的调试一、数据的载入和应用程序的调
49、试困难困难:数据量很大数据量很大 数据来源不同数据来源不同 数据的组织方式、结构和格式与新的数据库有差距数据的组织方式、结构和格式与新的数据库有差距解决解决:组织数据录入组织数据录入 将各类源数据从各个局部应用中抽取出来,输将各类源数据从各个局部应用中抽取出来,输 入计算机,再分类转换,最后综合成符合新设计的入计算机,再分类转换,最后综合成符合新设计的 数据库结构的形式,输入数据库。数据库结构的形式,输入数据库。注意注意:检验数据,防止不正确数据入库检验数据,防止不正确数据入库8.6 8.6 数据数据库的实施和维护库的实施和维护56第56页,共69页,编辑于2022年,星期六方法方法:n原系统
50、为手工系统原系统为手工系统n设计一个数据录入子系统设计一个数据录入子系统n原系统为计算机管理系统原系统为计算机管理系统n设计数据转换程序设计数据转换程序n利用利用DBMSDBMS的数据的数据转换工具转换工具注意注意:要保证在新的应用运行时,:要保证在新的应用运行时,数据的正确、完整数据的正确、完整;组织数据入库的同时,组织数据入库的同时,调试应用程序调试应用程序。8.6 8.6 数据数据库的实施和维护库的实施和维护57第57页,共69页,编辑于2022年,星期六 二、数据库的试运行二、数据库的试运行有一小部分已输入数据库后,就可以开始对数据库有一小部分已输入数据库后,就可以开始对数据库系统进行