第7章数据库设计_第1页
第7章数据库设计_第2页
第7章数据库设计_第3页
第7章数据库设计_第4页
第7章数据库设计_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库系统原理数据库系统原理与应用技术与应用技术主讲:陈漫红主讲:陈漫红 北京联合大学师范学院北京联合大学师范学院 电气信息系电气信息系第7章 数据库设计n7.1 数据库设计概述n7.2 数据库的需求分析 n7.3 数据库的结构设计 n7.4 数据库的行为设计 n7.5 数据库的实施、运行与维护 7.1 数据库设计概述数据库设计概述 n7.1.1 7.1.1 数据库设计的特点数据库设计的特点n7.1.2 7.1.2 数据库设计方法数据库设计方法n7.1.3 7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.1 数据库设计的特点 n数据库设计应该和应用系统设计相结合,即包括:结构(数据

2、)设计;行为(处理)设计两个方面的内容。这是数据库设计的主要特点。(1 1)数据库的结构设计)数据库的结构设计 是指根据给定的应用环境,进行数据库的模式或子模式的设计,并且具有较小的冗余、能满足不同用户的需求、能实现数据的共享等特点。(2 2)数据库的行为设计)数据库的行为设计 是指确定数据库用户的行为和动作。在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。结构和行为设计相互分离结构和行为设计相互分离数据库数据库系统系统数据分析数据分析功能分析功能分析概念模型设计概念模型设计逻辑模型设计逻辑模型设计物理数据库设物理数据库设

3、计计加载数据库加载数据库功能模型功能模型功能说明功能说明事务设计事务设计程序设计程序设计调试运行调试运行7.1.2 数据库设计的方法数据库设计的方法n新奥尔良(New Orleans)方法n基于E-R模型的数据库设计方法、基于3NF的设计方法、基于抽象语法规范的设计方法等都是数据库设计不同阶段支持实现的具体技术和方法。n数据库设计方法从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求精。 需求说明需求说明需求需求分析分析概念结构概念结构概念结概念结构设计构设计逻辑结构逻辑结构逻辑结逻辑结构设计构设计物 理 结 构物 理 结 构结构结构物理物理设计设计7.1.3 数据库设计的步骤 n需求

4、分析n概念结构设计n逻辑结构设计n物理设计n数据库实施n数据库运行和维护数据库各个设计阶段的描述数据库各个设计阶段的描述 设计阶段设计阶段 设计描述设计描述 数据数据 处理处理 需求分析需求分析 数据字典、全系统中数据项 数据流、数据存储的描述 数据流图和判定表、数据字典中处理过程的,描述 概念结构设概念结构设计计 概念模型(E-R)图 数据字典 系统说明书包括: (1) 新系统要求、方案和概图 (2) 新系统数据流图 逻辑结构设逻辑结构设计计 某种数据模型 系统结构图(模块结构) 物理设计物理设计 存储安排、方法选择、存取路径建立 模块设计 IPO表 实施阶段实施阶段 编写模式、装入数据、数

5、据库试运行 程序编码、编译连接、测试 运行维护运行维护 性能监测、转储/恢复、数据库重组和重构 新旧系统转换、运行、维护(修正性、适应性、改善性维护) 7.2 数据库的需求分析n分析用户的要求;n是数据库设计的起点;n其结果将直接影响到后面各阶段的设计;n并影响到最终的数据库系统能否被合理地使用。 7.2 数据库的需求分析n7.2.1 需求分析的任务需求分析的任务n7.2.2 需求分析的方法需求分析的方法n7.2.3 数据字典数据字典7.2.1需求分析的任务需求分析的任务n信息需求。n处理需求。n安全性与完整性要求。数据存储数据源数据输出处理调查用户需求的具体步骤 调查组织机构情况。包括了解该

6、组织的部门组成情况、各部门的职责等,为分析信息流程做准备。调查各部门的业务活动情况。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果的格式是什么,这是调查的重点。在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求,这是调查的又一个重点。确定新系统的边界。对前面调查的结果进行初步分析,确定哪些功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。由计算机完成的功能就是新系统应该实现的功能。7.2.2 需求分析的方法需求分析的方法(1)跟班作业。通过亲身参加业务工作来了解业务活动的情况。这种方法

7、可以比较准确地理解用户的需求,但比较耗费时间。(2)开调查会。通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者之间可以相互启发。(3)请专人介绍。(4)询问。对某些调查中的问题,可以找专人询问。(5)设计调查表请用户填写。如果调查表设计得合理,这种方法是很有效,也易于为用户接受。(6)查阅记录。查阅与原系统有关的数据记录。结构化分析方法结构化分析方法(Structured Analysis,简称SA方法)是一种简单实用的方法。SA方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统。SA方法把任何一个系统都抽象为如图所示的形式。 需求分析的过程 7.2.3 数据字典数

8、据字典n数据字典则是系统中各类数据描述的集合。对数据库设计来讲,数据字典是对系统中数据的详细描述,是进行详细的数据收集和数据分析所获得的主要成果。n它与数据流图互为注释,因此在数据库设计中占有很重要的地位。n数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。 7.3 数据库的结构设计7.3.1 概念结构设计概念结构设计 7.3.2 逻辑结构设计逻辑结构设计 7.3.3 物理结构设计物理结构设计 7.3.1 概念结构设计概念结构设计着重信息结构的设计;是整个数据库系统设计的关键;独立于逻辑结构设计;独立于DBMS。 概念模型的特点n有丰富的语义表达能力。 n易于交流和理解。

9、n易于更改。n易于向各种数据模型转换概念结构设计的策略自底向上。先定义局部应用的概念结构,然后按一定的规则把它们集成起来,从而得到全局概念模型。自顶向下:先定义全局概念模型,然后再逐步细化。由里向外:先定义最重要的核心结构,然后再逐步向外扩展。混合策略。将自顶向下和自底向上结合起来使用。 采用采用E-R模型方法的概念结构设计模型方法的概念结构设计n设计局部E-R模型 E-R模型的设计内容包括确定局部E-R模型的范围、定义实体、联系以及它们的属性。n设计全局E-R模型 将所有局部E-R图集成为一个全局E-R图,即全局E-R模型。n优化全局E-R模型设计局部E-R模型n概念结构是对现实世界的一种抽

10、象。n所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质细节,并把这些特性用各种概念准确的加以描述。n一般有三种抽象方法: n分类n概括n聚集分类学生张三李四王五classIs a mumber of概括学生学生本科生本科生研究生研究生超类超类子类子类Is a subset of高职生高职生聚集学生学生实体型实体型属性属性学学号号姓姓名名性性别别Is a part of设计全局E-R模型n将局部E-R图集成为全局E-R图;n需消除各分E-R图合并时产生的冲突;n解决冲突是合并E-R图的主要工作和关键所在。n冲突主要有三类:n属性冲突:属性域冲突、属性取值单位冲突n

11、命名冲突:同名异义和异名同义 n结构冲突:同一对象在不同应用中具有不同的抽象、同一实体在不同的局部E-R图中所包含的属性个数和属性的排列次序不完全相同。优化全局E-R模型n实体个数尽可能少;n实体所包含的属性尽可能少;n实体间联系无冗余。概念结构设计示例n例如在简单的生产管理系统中有下列联系,请画出生产部门和供应部门的局部E-R图:(1)一件产品可由多个零件组成,一个零件可以组装多件不同的产品,因此产品和零件是多对多联系。(2)意见产品可以使用多种材料,一种材料可以用于多件不同的产品,因此产品和材料是多对多联系。(3)一个仓库可以存放多种材料,一种材料只存放于一个仓库中,因此仓库和材料是一对多

12、联系。生产部门的局部E-R图 产品产品序号产品名性能功能组装零件零件型号零件名零件规格材料名耗用量供应部门的局部E-R图 成品使用仓库存储材料成品序号成品名价格生产日期使用量存储量仓库名仓库号负责人仓库容量存储日期地址1nmn材料号材料名计量单位价格属性类别规格7.3.2 逻辑结构设计逻辑结构设计n步骤:n将概念模型转换为某种组织层数据模型;n对数据模型进行优化。E-R模型向关系模型的转换模型向关系模型的转换n一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的标识符就是关系的码。n对于实体间的联系有以下不同的情况:n一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端所对应的

13、关系模式合并。n一个1:n联系可以转换为一个独立的关系模式,也可以与n端所对应的关系模式合并。n一个m:n联系转换为一个关系模式。 n三个或三个以上实体间的一个多元联系可以转换为一个关系模式。 n具有相同码的关系模式可以合并。 1:1转换示例11经理经理部门部门管理管理部门名部门名部门号部门号经理号经理号经理名经理名电话电话n部门表部门表(部门号,部门名,经理号)n经理表经理表(经理号,经理名,电话)n或者:或者:n部门表部门表(部门号,部门名)n经理表经理表(经理号,部门号,经理名,电话)1:n转换示例n1职工职工部门部门工工作作部门名部门名部门号部门号职工号职工号职工名职工名工资工资n部门

14、表部门表(部门号,部门名)n职工表职工表(职工号,部门号,职工名,工资) m:n 转换示例n教师表教师表(教师号,教师名,职称)n课程表课程表(课程号,课程名,学分)n授课表授课表(教师号,课程号,授课时数)nm课程课程教师教师授课授课教师名教师名教师号教师号课程号课程号课程名课程名学分学分职称职称授课时数授课时数数据模型的优化数据模型的优化关系数据模型的优化通常以规范化理论为指导,并考虑系统的性能。具体方法为:确定各属性间的数据依赖。消除冗余的联系。确定最合适的范式。确定是否要对某些模式进行分解或合并 。对关系模式进行必要的分解,以提高数据的操作效率和存储空间的利用率。 水平分解n以时间、空

15、间、类型等范畴属性取值为条件,满足相同条件的数据行为一个子表。n分解的依据一般以范畴属性取值范围划分数据行。这样在操作同表数据时,时空范围相对集中,便于管理。 K# A1 Am K# A1 Am K# A1 Am垂直分解n以非主属性所描述的应用对象生命历程的先后为条件,对应相同历程的属性为一个子表。n分解的依据是将非主属性按其数据生成的时间段划分,描述相同时间段的属性划分在一个组中。n使操作同表数据时时空范围相对集中,便于管理。 K# A11 A1m A21 A2nK# A11 A1m K# A21 A2n设计外模式设计外模式n将概念模型转换为逻辑数据模型之后,还应该根据局部应用需求,并结合具

16、体的数据库管理系统的特点,设计用户的外模式。n外模式概念对应关系数据库的视图概念,设计外模式是为了更好地满足局部用户的需求。n定义数据库的模式主要是从系统的时间效率、空间效率、易维护等角度出发。 定义外模式考虑事项n使用更符合用户习惯的别名。 n对不同级别的用户定义不同的视图,以保证数据的安全。n简化用户对系统的使用。 7.3.3 物理结构设计 n对已确定的逻辑数据结构,利用DBMS提供的方法、技术,以较优的存储结构、数据存取路径、合理的数据存储位置以及存储分配,设计出一个高效的、可实现的物理数据库结构。 n数据库的物理设计通常分为两步:n确定数据库的物理结构;n对物理结构进行时间和空间效率的

17、评价。物理结构设计的内容和方法物理结构设计的内容和方法n对于数据查询,需要得到如下信息:n查询所涉及的关系;n查询条件所涉及的属性;n连接条件所涉及的属性;n查询列表中涉及的属性。n对于更新数据的事务,需要得到如下信息:n更新所涉及的关系;n每个关系上的更新条件所涉及的属性;n更新操作所涉及的属性。 确定存取方法n一般用户可以通过建立索引的方法来加快数据的查询效率。 n建立索引的一般原则为:n在经常作为查询条件的属性上建立索引。n在经常作为连接条件的属性上建立索引。n在经常作为分组依据列的属性上建立索引。n对经常进行连接操作的表可以建立索引。n一个表可以建立多个索引,但只能建立一个聚簇索引。

18、确定存储结构n一般的存储方式有:n顺序存储n散列存储n聚簇存储n一般情况下系统都会为数据选择一种最合适的存储方式。 物理结构设计的评价物理结构设计的评价n评价物理结构设计的方法完全依赖于具体的DBMS,主要考虑的是操作开销,即为使用户获得及时、准确的数据所需的开销和计算机的资源的开销。具体可分为如下几类:n查询和响应时间n更新事务的开销n生成报告的开销n主存储空间的开销n辅助存储空间的开销 7.4 数据库的行为设计数据库的行为设计 n7.4.1 功能需求分析功能需求分析n7.4.2功能设计功能设计n7.4.3事务设计事务设计 7.4.1功能需求分析功能需求分析n在进行需求分析时,我们实际上进行

19、了两项工作,一项是“数据流”的调查分析,另一项是“事务处理”过程的调查分析。n数据流的调查分析为数据库的信息结构提供了最原始的依据,n事务处理的调查分析是行为设计的基础。对行为特性要进行的分析n标识所有的查询、报表、事务及动态特性,指出对数据库所要进行的各种处理;n指出对每个实体所进行的操作(增、删、改、查);n给出每个操作的语义,包括结构约束和操作约束; n给出每个操作(针对某一对象)的频率;n给出每个操作(针对某一应用)的响应时间;n给出该系统总的目标。7.4.2 功能设计 目标功能2功能n功能1功能22功能23功能21例:“学籍管理”的功能结构图学籍管理录取分班入学报到录入修改查询修课管

20、理7.4.3 事务设计 n事务处理是计算机模拟人处理事务的过程,包括:n输入设计n输出设计n功能设计n等等 输入设计n原始单据的设计格式n制成输入一览表n制作输入数据描述文档 输出设计n用途。区分输出结果是给客户的还是用于内部或报送上级领导的。n输出设备的选择.是仅仅显示出来,还是要打印出来或需要永久保存。n输出量。n输出格式。 7.5 数据库的实施、运行与维护数据库的实施、运行与维护 7.5.1 数据库数据的加载和试运行数据库数据的加载和试运行7.5.2数据库的运行和维护数据库的运行和维护 7.5.1 数据库数据的加载和试运行数据库数据的加载和试运行n数据加载n在数据库系统中,一般数据量都很大,各应用环境差异也很大 。n为了保证数据库中的数据正确、无误,必须十分重视数据的校验工作。n在将数据输入系统进行数据转换过程中,应该进行多次的校验。 n对于重要的数据的校验更应该反复多次,确认无误后再进入到数据库中。 7.5.1 数据库数据的加载和试运行数据库数据的加载和试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论