数据库原理与开发技术 课件 5.1 数据库设计概述_第1页
数据库原理与开发技术 课件 5.1 数据库设计概述_第2页
数据库原理与开发技术 课件 5.1 数据库设计概述_第3页
数据库原理与开发技术 课件 5.1 数据库设计概述_第4页
数据库原理与开发技术 课件 5.1 数据库设计概述_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

第5章数据库设计本章主要内容:(1)数据库设计概述:概念、目标、方法和原则,及设计的一般步骤(2)需求分析:组织机构图、业务流程图、系统功能图、数据流程图(3)概念设计:局部E-R模型、全局E-R模型、评审(4)逻辑设计:将E-R模型转为关系模型的规则、关系模型的优化(5)物理设计:确定数据库的物理结构、评价数据库的物理结构(6)数据库实现、运行和维护5.1数据库设计概述在数据库领域,一般把使用了数据库的信息系统称为数据库应用系统。例如银行、保险、电商、办公自动化等管理系统。开发一个好的数据库应用系统,其核心是要设计一个好的数据库,其性能主要表现在:(1)数据访问效率高。

(2)能减少数据冗余,节省存储空间,便于系统进一步扩展。

(3)可以使应用程序的开发变得容易。5.1.1数据库设计的概念、目标、方法和原则1.什么是数据库设计数据库设计是指对于一个给定的应用环境,设计一个优化的数据库逻辑模式和数据物理结构,建立数据库及应用系统,使之能够有效地存储和管理数据,以满足用户对数据的各种查询要求和处理要求。

2.数据库设计的目标数据库设计有两大目标,一是满足用户对系统的应用功能需求,二是数据库具有良好的性能。5.1.1数据库设计的概念、目标、方法和原则

满足用户的应用功能需求,主要是指把用户当前的应用需求,以及可预知的潜在的应用需求所需要的数据及其联系,全部准确地存储在数据库中,并根据用户的实际环境条件,满足用户对数据的插入、修改、删除及查询等操作。

良好的数据库性能,是指设计的数据库应具有良好的存储结构,保证数据的完整性、一致性和安全性等要求。5.1.1数据库设计的概念、目标、方法和原则3.数据库设计的方法大型数据库的设计是一个系统工程,它要求从业人员要具备多方面的学科知识和计算机技术,丰富的行业经验。具体说来,主要包括:

1)计算机的基础知识,包括:计算机应用原理、操作系统、计算机网络技术。2)软件工程的开发原理和方法。3)程序设计的方法和经验积累。4)数据库的基础知识。5)数据库设计的技术和经验。6)应用领域的行业知识。5.1.1数据库设计的概念、目标、方法和原则随着开发经验的积累和行业的规范,人们开始运用软件工程的思想,并提出了各种准则,来规范数据库设计。目前常用的规范设计方法有:(1)新奥尔良法。1978年10月来自欧美国家的主要数据库专家在美国的新奥尔良市讨论数据库设计问题,并提出了相应的工作规范。该方法将数据设计分为:需求分析、概念设计、逻辑设计和物理设计四个阶段。

(2)基于E-R模型的设计方法。

(3)第三范式(3NF)设计方法。

(4)统一建模语言(UnifiedModelLanguage,UML)方法。数据库工作者一直在努力研究和开发数据库设计工具,以提高工作效率。目前常用的数据库设计工具软件有:MSVisio、PowerDesigner等。5.1.1数据库设计的概念、目标、方法和原则4.数据库设计的一些原则

(1)索引(Index)的使用原则在表上创建索引一般有两个目的,一是维护索引列上取值的唯一性,二是加快表中数据的访问速度。操纵基本表中的数据,对应于索引列上的数据在物理上会进行同步维护,即索引会降低数据的插入、修改、删除的速度。因此索引会增加表维护的负担,设计时需要考虑两者之间的平衡。大型数据库有两种索引:簇索引和非簇索引。一个没有簇索引的表是按堆结构存储数据的,所有的数据均添加在表的尾部。而有簇索引的表,其数据在物理上会按照簇索引键的顺序存储。一个表只允许有一个簇索引,根据B树的结构,添加任何一种索引均可提高按索引列查询的速度,但会降低数据插入、修改、删除的性能。5.1.1数据库设计的概念、目标、方法和原则(2)数据的一致性和完整性为了保证数据库的一致性和完整性,减少数据冗余,设计时往往会通过主外键增加表间关联(Relation)。表间关联是一种强制性措施,它对父表和子表的插入、修改、删除操作均要占用系统的开销。同时,表间关联也会额外增加表间数据连接的查询操作负担。另外,最好不要用Identity属性字段作为主键与子表进行关联。实践中,为了提高系统的响应时间,合理的数据冗余是必要的。使用规则(Rule)和约束(Check)来防止用户对系统的误输入,是设计时常用的另一种手段。在验证数据的有效性方面,约束比规则要快。所有这些,在设计时,都应根据操作系统的类型、数据的访问频率和数据量的大小,加以均衡考虑。5.1.1数据库设计的概念、目标、方法和原则(3)正确理解范式,并合理遵循范式第一范式(1NF)是对属性的原子性约束,要求属性具有原子性,不可再分解;第二范式(2NF)是对元组的唯一性约束,要求元组有唯一性;第三范式(3NF)是对属性冗余的约束,即任何属性不能由其他属性派生出来。没有冗余的数据库设计时是可以做到的。但是,没有冗余的数据库不一定是最好的数据库。有时为了提高运行效率,可以降低范式标准,适当保留数据冗余。例如,在概念模型设计时严格遵守第三范式,其他范式的要求可以在物理模型设计时再考虑。5.1.1数据库设计的概念、目标、方法和原则(4)数据类型的选择

合理的数据类型选择对数据库的性能和操作具有很大的影响,尤其是数据量大、频繁访问的属性列。例如,定长字符和可变长字符,前者可提高数据访问速度,但会浪费存储空间,后者正好相反。

Text和Image字段属于指针型数据,主要用来存放二进制大型对象(Blob)。这类数据的操作比其他类型数据要慢,设计时要避开使用。但在存储二进制海量数据时,又有很大的优势。5.1.1数据库设计的概念、目标、方法和原则(5)信息隐藏原则为了提高数据库的安全性,可以利用DBMS的触发器、存储过程、函数等,把数据库中无法简化的复杂表关系封装到黑盒子中去,隐藏起来。

结构设计是指数据库的模式结构设计,包括概念结构、逻辑结构和物理结构。行为设计是指应用程序设计,包括功能组织、流程控制等方面的设计。(6)结构设计与行为设计相分离

在传统的软件工程中,比较注重处理过程的设计,不太注重数据结构的设计。数据库设计刚好相反,它的主要精力放在数据结构的设计上,例如基本表的结构、视图、索引等。5.1.2数据库系统的生存期仿照软件的生存期,把数据库系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统的生命周期或生存期。这个生存期一般划分为下面7个阶段:

1.系统规划对于大型数据库系统或大型信息系统的数据库群,规划阶段是非常必要的。规划的好坏直接影响到系统的成败。这个阶段具体可分为3个步骤:5.1.2数据库系统的生存期

1)系统调查。对需求方进行全面调查,发现其存在的主要问题。2)可行性分析。根据发现的问题,从技术、经济、效益等方面进行可行性分析,写出可行性分析研究报告,并组织专家进行讨论。3)确定数据库系统的总目标,对需求单位的工作流程进行优化,制定项目开发计划,最后形成“项目可行性研究报告”。

2.需求分析

数据库设计人员与需求方用户进行全方位沟通,收集数据库所有用户的信息内容和处理要求。在分析用户要求时,要确保用户目标的一致性。5.1.2数据库系统的生存期

3.概念设计

4.逻辑设计这个阶段将概念结构转为某个DBMS所能支持的数据模型,并对其进行优化,例如数据库模式的规范化。把需求分析阶段获得的用户信息要求,通过用户能够明白的语言,统一规划到一个整体的逻辑结构中,形成一个整体的概念模型,它独立于具体的DBMS和硬件。5.1.2数据库系统的生存期

5.物理设计6.系统实现根据物理设计的结果产生一个具体的数据库和应用程序,并把初始数据装入数据库中。这个阶段主要是为逻辑数据结构模型选取一个最适合应用环境的数据物理结构(包括存储结构和存取方法)。7.系统运行和维护收集、记录系统运行的情况,并根据用户的需求变化,对数据库结构进行修改或扩展。5.1.2数据库系统的生存期数据库应用系统的开发是一项高风险、高回报的系统工程。它需要调动双方(开发商、需求方)各方面的资源、相互配合才能推动项目的进程。一旦系统开发商和需求方(即用户)签订了开发协议,开发商应立

温馨提示

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

评论

0/150

提交评论