《数据库设计步骤精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据库设计步骤精品文稿.ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库设计步骤第1 页,本讲稿共30 页数据库设计步骤需求分析概念结构设计逻辑结构设计数据库物理设计数据库实施数据库运行和维护需求收集和分析设计概念结构设计逻辑结构数据模型优化设计物理结构评价设计、性能预测物理实现试运行对数据库系统进行评价、调整与修改第2 页,本讲稿共30 页需求分析1.7.1 需求分析一、需求分析的任务 收集与分析用户的信息及应用处理的要求,并将结果按照一定的格式形成需求说明书。二、需求分析的方法 1.需求信息的收集(1)了解组织的机构设置(2)主要业务活动和职能(3)了解系统的各种外部要求(4)确定系统边界第3 页,本讲稿共30 页需求分析 2.需求信息的分析整理 用数据
2、流图和数据字典描述。三、数据流图(DFD-Data Flow Diagram)DFD用来表示收集到的各业务流程中涉及到的数据和处理过程的关系。n 数据流图的基本成分:表示同类数据的集中存放处,通常指数据文件表示对数据的处理表示不同处理过程之间传递的数据表示数据的发送者和接收者第4 页,本讲稿共30 页需求分析四、数据字典(DD-Data Dictionary)n 数据库应用系统的数据字典包括:数据项、数据结构、数据流、数据存储、处理过程。n 例:下图给出了某机器制造厂的零配件采购子系统的数据流图。该子系统要处理的工作是生产部门提出的生产计划根据零配件当前价格计算成本送主管部门审批,对已批准生产
3、计划制定采购计划,准备好订货单给供应商。第5 页,本讲稿共30 页零配件采购子系统DFDDFD核对预算确定采购计划编制定货单供应商零配件采购记录生产计划批准/不批准批准/不批准核对预算产品预算零件价格零件库存量报价单供应商报价采购计划订单细节订货单第6 页,本讲稿共30 页零配件采购子系统的数据字典数据项描述数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系例:数据项名:订货单号 类型:CHAR 长度:8 别名:采购单号 取值范围:10000000-99999999第7 页,本讲稿共30 页零配件采购子系统的数据字典零配件采购子系统的数据字典 数据结构是
4、若干数据项有意义的集合。数据结构描述数据结构名,含义说明,组成:数据项或数据结构例:数据结构:采购细节 说明:作为采购计划的组成部分,说明对某个产品要 采购哪些零件,哪种零件采购多少数量。组成:零件号、零件名、数量 第8 页,本讲稿共30 页零配件采购子系统的数据字典 数据流表示加工处理过程的输入或输出数据。数据流描述数据流名,说明,数据流来源,数据流去向,组成:数据结构,平均流量,高峰期流量例:数据流名:采购计划 说明:由各产品所需零件数、选定的供应商、审核情况 组成采购零配件计划。来源:确定采购计划 去向:编制订货单 数据结构:-采购细节-采购审核第9 页,本讲稿共30 页零配件采购子系统
5、的数据字典 数据存储是处理过程中要存取的数据。数据存储描述数据存储名,说明,编号,流入的数据流,流出的数据流,组成:数据结构,数据量,存取方式例:数据存储名:产品 说明:对每种产品的品名、规格的描述,并对每种产 品做成本预算。在核对生产计划书的成本时用。输出数据流:预算 组成:产品号、产品名、预算 数据量:每月30-40件 存取方式:随机存取第10 页,本讲稿共30 页零配件采购子系统的数据字典零配件采购子系统的数据字典 处理过程是对加工处理过程的描述。处理过程描述处理过程名,说明,输入:数据流,输出:数据流,处理:简要说明例:处理过程:确定采购计划 说明:对要采购的每一零件,根据零件库存量确
6、定采购数量,再根据每位供应商的报价选择适当的供应商,制定采购 计划。输入:供应商报价、零件库存、已批准生产计划 输出:采购计划 简要说明:(1)对应采购的每种零件查找供应商报价表,选 择报价最低的供应商号。(2)将此供应商号填入应采购零件表的相应列中。第1 1 页,本讲稿共30 页概念结构设计概念结构设计1.7.2 概念结构设计 将需求分析得到的用户需求抽象为概念模型的过程就是概念结构设计。在进行数据库设计时,如果将现实世界中的客观对象直接转换为机器世界中的对象,就会感到比较复杂,注意力往往被牵扯到更多的细节限制方面,而不能集中在最重要的信息的组织结构和处理模式上。因此通常是将现实世界中的客观
7、对象首先抽象为不依赖任何DBMS和具体机器的信息结构,即概念模型,然后再把概念模型转换成具体机器上DBMS支持的数据模型。常用的概念结构的设计方法是自底向上的设计方法。下面就介绍采用这种设计方法的设计步骤。第12 页,本讲稿共30 页概念结构设计一.数据抽象与局部视图设计 根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图,即分E-R图。1.选择局部应用 可利用机构职能关系进行局部处理。2.逐一设计分E-R图 设计时注意:(1)实体与属性的划分原则n 属性应是系统中最小的信息单位,不再具有描述性质。n 属性不能与其他实体有联系。第13 页,本讲稿共30 页概念
8、结构设计例:有职工、部门及其相关信息。eno职工E部门DE-Dagenamednodname部门Ddno部门名.职工Eeno部门.第14 页,本讲稿共30 页概念结构设计病人住院号 姓名 病房号病人住院号姓名住在1 n医疗病房号病房医生级别床位数医生号医生名1m职称第15 页,本讲稿共30 页概念结构设计概念结构设计二.视图集成(全局视图设计)1.合并分E-R图,生成初步E-R图 合并的过程实际上是一个发现冲突和解决冲突的过程。冲突主要有:(1)属性冲突 属性值类型、取值范围等发生冲突。(2)命名冲突 同名异义、异名同义。(3)结构冲突 n同一对象在不同视图中有不同抽象。n同一实体在不同视图中
9、属性组成不同。n相同实体间联系在不同视图中呈现不同类型。第16 页,本讲稿共30 页概念结构设计2.消除不必要的冗余,设计基本E-R图 冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。例:实发工资、应发工资 第17 页,本讲稿共30 页逻辑结构设计1.7.3 逻辑结构设计n 逻辑结构设计的主要任务:将基本E-R模型转换为DBMS所支持的数据模型。n 关系型逻辑结构设计的步骤:1)将概念结构转换为关系模型 2)优化模型 3)设计适合DBMS的子模式第18 页,本讲稿共30 页逻辑结构设计一、E-R模型向关系模型的转换1.实体的转换 每一个实体型转换为一个关系模式,实体
10、的属性就是关系的属性,实体的关键字就是关系的关键字。2.联系的转换(1)一般1:1和1:m联系不产生新的关系模式,而是将一方实体的关键字加入到多方实体对应的关系模式中,若有联系的属性也一并加入。(2)m:n联系要产生一个新的关系模式,该关系模式由联系涉及实体的关键字加上联系的属性(若有)组成。第19 页,本讲稿共30 页逻辑结构设计逻辑结构设计之例之例职 工商 品商 店店号店址 店名产地单价 品名工资性别姓名 工号 店经理商品号开始时间月销售量经营隶属1nmm将百货公司的E-R模型转换为关系模型。转换的关系模型如下:商店(店号,店名,店址,店经理)商品(商品号,品名,单价,产地)职工(工号,姓
11、名,性别,工资,店号,开始时间)经营(店号,商品号,月销售量)第20 页,本讲稿共30 页逻辑结构设计二、数据模型的优化 1.分析函数依赖。2.确定各关系模式的范式。3.按照处理要求,对某些模式进行合并或分解。4.为提高效率和利用率,对关系模式进一步分解。常用的两种分解方法:垂直分解 水平分解三、设计用户子模式 n 考虑:系统的使用安全、简便、用户习惯。R R1 R2r1r2R第21 页,本讲稿共30 页物理结构设计1.7.4 物理结构设计n 数据库物理设计:是指对给定的数据模型选取一个最适合应用要求的物理结构的过程。n 物理设计步骤:n 确定DB的物理结构(存取方法、存储结构)n 评价结构的
12、时、空效率(取决于DBMS)n 物理设计目标:n 设计优化的物理DB结构,使得响应时间短、空间利用率高。第22 页,本讲稿共30 页物理结构设计关系数据库物理设计的主要内容:1.为关系模式选择存取方法n 索引方法n 聚簇方法n 建立索引的一般原则是:主关键字和外关键字上一般建立索引。可在经常按某列的顺序访问记录的列上建立索引。在经常作为连接操作的连接条件中出现的列上建立索引。第23 页,本讲稿共30 页物理结构设计n 不适合建立索引的情况有:太小的表。不出现或很少出现在查询条件中的属性。属性值可能取值的个数很少的属性(如:性别)。属性值分布严重不均的属性(如:年龄)。经常更新的属性和表。属性的
13、值过长。第24 页,本讲稿共30 页物理结构设计n 聚簇是将相关数据集中存放的物理存储技术。把某属性组(聚簇码)上具有相同值的元组集中存放在连续的物理块上称为聚簇。n 建立聚簇的一般原则是:通过聚簇码进行访问或连接是该关系的主要应用,与聚簇码无关的其他访问很少或者是次要的。对应每个聚簇码值的平均元组数既不太少,也不太多。太少了,聚簇效益不明显,甚至浪费块的空间;太多了,就要采用多个连接块,同样对提高性能不利。聚簇码值相对稳定,以减少修改聚簇码值所引起的维护开销。第25 页,本讲稿共30 页物理结构设计2.确定系统的存储结构(1)确定数据的存放位置 减少访问磁盘时的冲突,提高I/O的并行性。分散
14、热点数据,均衡I/O负载。保证关键数据的快速访问,缓解系统的瓶颈。(2)确定系统的配置参数 DBMS产品一般都提供了一些存储分配参数,供设计人员和DBA对数据库进行物理优化。初始情况下,系统为这些变量都赋予了合理的默认值。但是这些值不一定适合每一种应用环境,在进行物理设计时,需要重新对这些变量赋值以改善系统的性能。第26 页,本讲稿共30 页数据库实施1.7.5 数据库实施数据库实施阶段主要任务:(1)定义数据库结构(2)组织数据入库(3)编制与调试应用程序(4)数据库试运行 第27 页,本讲稿共30 页数据库运行维护1.7.6 数据库运行维护数据库运行维护阶段主要任务:(1)数据的转储与恢复
15、(2)数据库的安全性、完整性控制(3)数据库的性能监督、分析和改造(4)数据库的重组织与重构造 第28 页,本讲稿共30 页练习题1.什么是数据冗余?数据库系统与文件系统相比怎样减少数据冗余?2.什么是数据库?3.什么是DBMS?DBMS有哪些功能?4.已知一个软件开发管理的关系是:每个软件公司有若干个软件工程师,每个软件工程师只属于一个软件公司;一个软件公司可以同时开发多个项目,每个项目只属于一个软件公司,一个项目可以有多个软件工程师参加,一个软件工程师可以同时参加多个项目。所涉及的实体是:工程师:职工号,姓名,性别,职称公司:公司号,公司名称,经理,地址,电话项目:项目号,项目名称,经费,完成日期试画出该系统的E-R图,并将其转换为关系模型。5.试述数据库设计的基本步骤,各设计阶段的主要任务。第29 页,本讲稿共30 页练习题6.下面给出的关系R为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。分解完成的高级范式中是否可以避免分解前关系中存在的操作异常?关系R 工程号 材料号 数量 开工日期 完工日期 价格p1 I1 4 9805 9902 250p1 I2 6 9805 9902 300p1 I3 15 9805 9902 180p2 I1 6 9811 9912 250p2 I4 18 9811 9912 350第30 页,本讲稿共30 页