数据库课件第7章1.ppt
《数据库课件第7章1.ppt》由会员分享,可在线阅读,更多相关《数据库课件第7章1.ppt(53页珍藏版)》请在冰豆网上搜索。
![数据库课件第7章1.ppt](https://file1.bdocx.com/fileroot1/2022-10/19/a2d955e9-8e09-4a0e-81b0-f06f1f464bcb/a2d955e9-8e09-4a0e-81b0-f06f1f464bcb1.gif)
知识点回顾n数据依赖的公理系统数据依赖的公理系统n函数依赖的闭包函数依赖的闭包n属性的闭包属性的闭包n最小函数依赖集最小函数依赖集Fminn确定候选码确定候选码n模式的分解模式的分解n具有无损连接性具有无损连接性n要保持函数依赖要保持函数依赖n既要保持函数依赖,又要具有无损连接性既要保持函数依赖,又要具有无损连接性数据库系统概论数据库系统概论AnIntroductiontoDatabaseSystem第七章第七章数据库设计数据库设计AnIntroductiontoDatabaseSystem第七章数据库设计7.1数据库设计概述数据库设计概述7.2需求分析需求分析7.3概念结构设计概念结构设计7.4逻辑结构设计逻辑结构设计7.5数据库的物理设计数据库的物理设计7.6数据库实施和维护数据库实施和维护数据库设计概述n数据库设计n数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
n目标:
为用户和各种应用系统提供一个信息基础设施和高效率的运行环境7.1数据库设计概述7.1.1数据库设计的特点数据库设计的特点7.1.2数据库设计方法数据库设计方法7.1.3数据库设计的基本步骤数据库设计的基本步骤7.1.4数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.1数据库设计的特点n数据库建设的基本规律n三分技术,七分管理,十二分基础数据n管理数据库建设项目管理企业(即应用部门)的业务管理n基础数据收集、入库更新新的数据n结构(数据)设计和行为(处理)设计相结合n将数据库结构设计和数据处理设计密切结合数据库设计的特点(续)现实世界现实世界概念模型设计概念模型设计子模式设计子模式设计物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库设计建立数据库建立数据库数据分析数据分析功能分析功能分析功能模型功能模型功能说明功能说明事务设计事务设计程序说明程序说明应用程序设计应用程序设计程序编码调试程序编码调试结构和行为分离的设计7.1数据库设计概述7.1.1数据库设计的特点数据库设计的特点7.1.2数据库设计方法数据库设计方法7.1.3数据库设计的基本步骤数据库设计的基本步骤7.1.4数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.2数据库设计方法n手工与经验相结合方法n设计质量与设计人员的经验和水平有直接关系n数据库运行一段时间后常常不同程度地发现各种问题,增加了维护代价n规范设计法n基本思想:
过程迭代和逐步求精数据库设计方法(续)n新奥尔良(NewOrleans)方法将数据库设计分为若干阶段和步骤n基于E-R模型的数据库设计方法概念设计阶段广泛采用n3NF(第三范式)的设计方法逻辑设计阶段可采用的有效方法nODL(ObjectDefinitionLanguage)方法面向对象的数据库设计方法数据库设计方法(续)n计算机辅助设计nORACLEDesigner2000nSYBASEPowerDesigner7.1数据库设计概述7.1.1数据库设计的特点数据库设计的特点7.1.2数据库设计方法数据库设计方法7.1.3数据库设计的基本步骤数据库设计的基本步骤7.1.4数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.3数据库设计的基本步骤n数据库设计分6个阶段n需求分析n概念结构设计n逻辑结构设计n物理结构设计n数据库实施n数据库运行和维护n需求分析和概念设计独立于任何数据库管理系统n逻辑设计和物理设计与选用的DBMS密切相关数据库设计的基本步骤(续)一、数据库设计的准备工作:
选定参加设计的人1.系统分析人员、数据库设计人员n自始至终参与数据库设计2.用户和数据库管理员n主要参加需求分析和数据库的运行维护3.应用开发人员(程序员和操作员)n在系统实施阶段参与进来,负责编制程序和准备软硬件环境数据库设计的基本步骤(续)二、数据库设计的过程(六个阶段)需求分析阶段n准确了解与分析用户需求(包括数据与处理)n最困难、最耗费时间的一步数据库设计的基本步骤(续)概念结构设计阶段n整个数据库设计的关键n通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型数据库设计的基本步骤(续)逻辑结构设计阶段n将概念结构转换为某个DBMS所支持的数据模型n对其进行优化数据库设计的基本步骤(续)数据库物理设计阶段n为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)数据库设计的基本步骤(续)数据库实施阶段n运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果建立数据库编制与调试应用程序组织数据入库进行试运行数据库设计的基本步骤(续)数据库运行和维护阶段n数据库应用系统经过试运行后即可投入正式运行n在数据库系统运行过程中必须不断地对其进行评价、调整与修改数据库设计的基本步骤(续)设计一个完善的数据库应用系统往往是上述六个阶段的不断反复(P202图7.2)n把数据库设计和对数据库中数据处理的设计紧密结合起来n将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计数据库设计各个阶段的设计描述7.1数据库设计概述7.1.1数据库设计的特点数据库设计的特点7.1.2数据库设计方法数据库设计方法7.1.3数据库设计的基本步骤数据库设计的基本步骤7.1.4数据库设计过程中的各级模式数据库设计过程中的各级模式7.1.4数据库设计过程中的各级模式数据库设计不同阶段形成的数据库各级模式数据库的各级模式第七章数据库设计7.1数据库设计概述数据库设计概述7.2需求分析需求分析7.3概念结构设计概念结构设计7.4逻辑结构设计逻辑结构设计7.5数据库的物理设计数据库的物理设计7.6数据库实施和维护数据库实施和维护7.2需求分析7.2.1需求分析的任务需求分析的任务7.2.2需求分析的方法需求分析的方法7.2.3数据字典数据字典7.2.1需求分析的任务v需求分析的任务v需求分析的重点v需求分析的难点需求分析的任务n详细调查现实世界要处理的对象(组织、部门、企业等)n充分了解原系统(手工系统或计算机系统)n明确用户的各种需求n确定新系统的功能n充分考虑今后可能的扩充和改变需求分析的重点n调查的重点是“数据”和“处理”,获得用户对数据库要求n信息要求n处理要求n安全性与完整性要求需求分析的难点n确定用户最终需求n用户缺少计算机知识n设计人员缺少用户的专业知识n解决方法n设计人员必须不断深入地与用户进行交流7.2需求分析7.2.1需求分析的任务需求分析的任务7.2.2需求分析的方法需求分析的方法7.2.3数据字典数据字典7.2.2需求分析的方法n调查需求n达成共识n分析表达需求调查用户需求的具体步骤调查组织机构情况调查各部门的业务活动情况在熟悉业务活动的基础上,协助用户明确对新系统的各种要求确定新系统的边界常用调查方法
(1)跟班作业
(2)开调查会(3)请专人介绍(4)询问(5)设计调查表请用户填写(6)查阅记录进一步分析和表达用户需求n结构化分析方法(StructuredAnalysis,简称SA方法)n从最上层的系统组织机构入手n自顶向下、逐层分解分析系统进一步分析和表达用户需求(续)1首先把任何一个系统都抽象为:
数据流数据流数据流数据流数据数据存储存储信息要求信息要求数据数据来源来源处理处理数据数据输出输出处理要求处理要求进一步分析和表达用户需求(续)2分解处理功能和数据
(1)分解处理功能将处理功能的具体内容分解为若干子功能
(2)分解数据处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图(3)表达方法处理逻辑:
用判定表或判定树来描述数据:
用数据字典来描述3将分析结果再次提交给用户,征得用户的认可需求分析过程需求分析过程7.2需求分析7.2.1需求分析的任务需求分析的任务7.2.2需求分析的方法需求分析的方法7.2.3数据字典数据字典7.2.3数据字典n数据字典的用途n进行详细的数据收集和数据分析所获得的主要结果n数据字典的内容n数据项n数据结构n数据流n数据存储n处理过程数据项n数据项是不可再分的数据单位n对数据项的描述数据项描述数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系数据结构n数据结构反映了数据之间的组合关系。
n一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。
n对数据结构的描述数据结构描述数据结构名,含义说明,组成:
数据项或数据结构数据流n数据流是数据结构在系统内传输的路径。
n对数据流的描述数据流描述数据流名,说明,数据流来源,数据流去向,组成:
数据结构,平均流量,高峰期流量数据存储n数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
n对数据存储的描述数据存储描述数据存储名,说明,编号,输入的数据流,输出的数据流,组成:
数据结构,数据量,存取频度,存取方式处理过程n具体处理逻辑一般用判定表或判定树来描述n处理过程说明性信息的描述处理过程描述处理过程名,说明,输入:
数据流,输出:
数据流,处理:
简要说明数据字典举例例:
学生学籍管理子系统的数据字典。
数据项,以“学号”为例:
数据项名:
学号含义说明:
唯一标识每个学生别名:
学生编号类型:
字符型长度:
8取值范围:
00000000至99999999取值含义:
前两位标别该学生所在年级,后六位按顺序编号与其他数据项的逻辑关系:
数据项之间的联系:
处理过程(续)数据结构,以“学生”为例“学生”是该系统中的一个核心数据结构:
数据结构名:
学生含义说明:
是学籍管理子系统的主体数据结构,定义了一个学生的有关信息组成:
学号,姓名,性别,年龄,所在系,年级处理过程(续)数据流,“体检结果”可如下描述:
数据流名:
体检结果说明:
学生参加体格检查的最终结果数据流来源:
体检数据流去向:
批准组成:
平均流量:
高峰期流量:
处理过程(续)数据存储,“学生登记表”可如下描述:
数据存储名:
学生登记表说明:
记录学生的基本情况流入数据流:
学生报到流出数据流:
班级分配组成:
数据量:
每年3000张存取方式:
随机存取处理过程(续)处理过程,“分配宿舍”可如下描述:
处理过程名:
分配宿舍说明:
为所有新生分配学生宿舍输入:
学生,宿舍输出:
宿舍安排处理:
在新生报到后,为所有新生分配学生宿舍。
要求同一间宿舍只能安排同一性别的学生,同一个学生只能安排在一个宿舍中。
每个学生的居住面积不小于3平方米。
安排新生宿舍其处理时间应不超过15分钟。
数据字典n数据字典是关于数据库中数据的描述,是元数据,而不是数据本身n数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善需求分析小结n设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充n必须强调用户的参与下课了。
休息一会儿。
休息一会儿。