时间:2022-03-09 07:26:15
引言:寻求写作上的突破?我们特意为您精选了4篇数据库设计范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
1.需求分析阶段
需求分析是在项目确定之后,用户和设计人员通过详细的调查研究,充分了解用户的组织机构、业务规则、数据需求等等。所谓需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。需求分析是数据库设计最基础的工作,如果这个阶段的工作不准确或有误,那么后面几个阶段的任务就会有偏差,如果到测试阶段才发现错误再去更改必然会付出很大的代价,因此必须高度重视这个阶段的人任务。需求分析阶段的后期编写系统分析报告,主要包括:系统的概况、目标、范围、现状等;系统及子系统的结构说明;系统的功能划分;系统的组织机构联系图;数据流程图;功能模块图及数据字典等内容。然后将此需求分析报告提交给用户的决策部门讨论审查,通过审查以后的需求分析报告作为今后各阶段设计和工作的依据。
例如:公司职工人事档案资料繁多,查询、统计、更新等各方面工作都不能更快更好进行,急需一管理系统实现人事资料的录入、维护、统计、查询等工作,明确要求后将具体事项形成书面报告审查后作为今后设计的依据。
2.概念结构设计
概念结构设计的目标是产生出一个能反映组织信息需求的概念模型,其特点有简单明确表示用户业务数据需求、数据之间的联系、数据约束条件等。概念结构的策略有四种自顶向下、自底向上、逐步扩张、混合策略。概念结构设计的最著名、最常用的方法是实体-联系方法,简称E-R方法。它虽然只有几个基本元素(实体、属性、联系),但能够表达现实世界复杂的数据、数据之间的关系和约束条件。
E-R图设计是对需求分析阶段所得到的数据进行分类、聚集、概括,确定实体、属性和联系,具体步骤如下:
2.1选择局部应用
数据流图是对业务处理过程从高层到底层的一级级抽象,高层抽象流图一般反映系统的概貌,对数据的引用较为笼统,选择适当层次的数据流图,让这一层的每一部分对应一个局部应用,实现某一项功能。
2.2逐一设计局部E-R图
规划好各个局部应用之后,对每一个局部应用设计局部E-R图,按照局部应用的数据流图,从数据字典中提取数据,使用抽象机制,确定局部应用中的实体、实体的属性、实体标示符、实体间的联系和类型,但是许多实物是实体还是属性没有明确的界定,要根据具体情况判断,一般来说,属性不能再分,属性也不能和其他实体发生联系,因为联系是实体和实体间的联系。
2.3 E-R图合并
根据局部应用设计好的局部E-R图之后,就可以对各局部E-R图进行合并,合并的目的是在合并过程中解决局部E-R图之间存在的冲突,消除存在的信息冗余,使之成为供用户理解的统一的、精练的全局概念模型。对所有的局部E-R图合并之后,就形成了全局E-R图,从而完成了概念结构设计。
3.逻辑结构设计
逻辑结构设计是在概念结构设计的基础上进行的数据模型设计,一般有层次、网状模型和关系模型,现在绝大多数DBMS都是基于关系模型的,此阶段的主要任务有确定数据模型、将E-R图转换为指定的数据模型、确定完整性约束、确定用户视图。
例如:部门(1)————职工(M)。
4.物理结构设计
在实现数据库逻辑结构设计之后,就要确定数据库在计算机中的具体存储。数据库在计算机物理设备上的存储结构与存取方法称为数据库的物理结构。数据库的物理设计完全依赖于给定的数据库软件和硬件设备。层次和网状模型物理设计比较复杂,而关系DBMS对物理设计要求很少,由DBA来实现。物理结构设计需要确定数据分布、确定存储结构、确定存取方式。
5.数据库实施阶段
确定了数据库的逻辑结构和物理结构以后,可以利用DBMS提供的数据定义语言建立数据库的结构。
例如:CREATE TABLE 职工库。
(职工编号 CHAR(6) NOT NULL,
姓名 CHAR(8) NOT NULL,
性别 CHAR(2),
所属部门 CHAR(10),
PRIMARYKEY KEY (职工编号));
当数据库的结构建成之后,就可向数据库中加载数据,由于数据库中的数据量非常大,为了避免浪费大量人力财力时间等,通常专门设计一个录入子系统来提高效率,满足用户的要求。该子系统一般包括数据录入、录入过程的数据校验、代码转换、数据完整性约束、安全性检查等功能。
6.数据库的运行与维护
数据库设计与应用开发工作完成之后系统便进入运行与维护阶段。为保证数据库系统的安全稳定运行,需要综合考虑可能遇到的各种问题,指定详尽的运行计划和应对措施。任何因素导致系统初选问题,都可能给用户带来损失。
数据库的运行与维护阶段主要任务有:
6.1维护数据的安全性和数据完整性
为保障系统的稳定运行,必须制定运行策略。数据库的运行离不开用户的访问和操作,安全性策略包括网络安全、用户的权限管理、设备的安全及数据的安全等方面。按照设计阶段提供的安全和故障规范。实施授权和设定密码,并经常检查系统的安全性和可靠性,实施备份、恢复和数据重组的任务。
6.2监测并改变数据库性能
经常对数据库存储空间的状况和响应速度进行评价分析,确定优化和改善的措施,及时调整系统的运行状况。
6.3数据库的维护
在数据库系统的运行过程中,可能会由于某些原因需要修改数据库的结构,称为数据库的重构,重构包括表结构的修改和视图的修改。还要根据用户环境的扩大,适时的向数据库增加一些新的数据和功能。
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)20-4644-02
Optimum Design of a Large Database ORACLE Database
SUN Zhong-an
(Manchuria Frontier Inspection Station (the Inner Mongolia Autonomous Region, HulunBuir 021400,China)
Abstract: The ORACLE database architecture is B/S database, is in the world the most extensive database management system. Information network system, many large enterprises are used in the ORACLE database, optimization analysis is helpful to improve the information network system of the enterprise to improve the reliability, security, system. In this paper, a large database of ORACLE as an example, a comprehensive analysis of the optimized design scheme.
Key words: ORACLE database; optimization; physical structure; table
信息网络系统依靠数据库而运行,数据库的性能优劣很大程度上决定了信息网络系统的性能优劣。大多数数据库管理系统在运行一段时间后都会出现一定的性能问题,如:数据库硬件、应用程序、内存、服务器等出现缺陷。对数据库进行优化设计对信息网络系统的安全运行起重要作用。
1 ORACLE数据库特点
ORACLE数据库是甲骨文公司于上世纪70年代末推出的一种关系型数据库管理系统,历经三十多年的发展,不断更新换代,推出新的版本,至今在市场上仍占有主要份额。ORACLE数据库成功实现了关系型数据库转移到桌面计算机上,提供一个完整的B/S体系结构的商用DBMs。同时,它利用SQL*NET软件层,将多种操作系统与通信协议结合起来,提供分布式环境,实现单点更新、多点查询功能。在银行、钢铁、烟草、石油等大型企业中,企业数据流量大,数据安全性要求高,必须努力提高信息网络系统的安全性,提高数据库管理系统的安全性和可靠性。
从企业信息网络系统角度的ORACLE数据库来说,其具有以下几个特点:第一,支持大量用户同一时间在数据库管理系统上执行不同的操作,且保证数据的一致性。第二,ORACLE数据库具有优良的硬件独立性特点,能在大中小型微机系统中运用。第三,遵守操作系统、存取语言、用户接口等通信协议的工业标准。第四,ORACLE数据库具有用户鉴别、触发器、日志等功能,有效提高了数据库的安全性和可靠性,尤其是数据存取的安全性和完整性。第五,ORACLE数据库可以在不同型号的机器上运行使用,可以在同一个厂家不同操作系统上运行使用,具有优良的兼容性、独立性特点。
2 优化设计
2.1 物理结构优化
ORACLE数据库的物理结构包括控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件等,数据存储在物理磁盘上,在被使用时,调入内存。因此,物理结构的优化关键点在于物理存储的优化。当信息网络系统的数据库较为脆弱时,在非动态变化周期内数据运行效率基本能满足需求,在动态变化周期时,数据库的缺点、漏洞、弊端就会凸显出来,不利于信息网络系统的安全稳定运行。ORACLE在动态扩展过程中,其必须依据存储的要求在创建行、行变化获取缺省值时,扩展和分配存储空间,这种扩展并不等于事件的终结,可能导致数据文件、表空间的增长,造成在线系统运行的缓慢。对此,我们必须对其进行物理结构的优化设计,在建立数据库的时候先分配足够大小的空间和增长幅度。建立对象时,先根据其应用计算出大小,然后再定义对象Initial、Next、Minextents的值,努力实现数据库物理存储与动态增上的相对平衡,使对象不频繁增长,也使其不过度占有数据库空间。
2.2 逻辑结构优化
逻辑结构有数据库对象组成,其优化设计就是增减或调整逻辑结构,从而达到提高系统运行效率的目的,下面通过索引INDEX来简单介绍逻辑结构的优化设计。
索引有助于提高数据库的查询速度,它将表中的逻辑值映射到安全的ROWID,进而快速定位数据的物理地址。也有研究表明,大型表建立索引不仅不能提高查询速度,还会造成数据库系统运行的缓慢。ORACLE数据库在进行数据块的高速缓存管理时,索引数据具有更好的驻留权限;进行空间竞争时,需要先移出普通数据。对一个建有索引的大型表进行查询时,索引数据可能先占用数据块的缓存空间,不得不通过磁盘的读写来获取数据,因此,我们可以对大型表进行分区处理,分区后再分区建立索引。当大型表的数据查询非常频繁时,不建议建立索引,建立索引时,应尽量使索引被运用于WHERE子句中。如果只是建立一个简单的索引,其不一定会对查询起到加快速度的作用,因此,必须为索引指定一个访问路径。
2.3 充分利用系统全局区域SGA
SGA是ORACLE数据库的心脏,它包括数据块缓冲区、字典缓冲区、重做日志缓冲区和SQL共享池四个部分,其大小对于数据库性能起决定性作用。合理设置SGA的各个内存缓冲区,对于加快数据查询速度具有重要作用。在一个足够大的内存区中,将大多数数据存储在内存中,将部分使用较少的数据存储在磁盘上,达到提高内存区命中率的目的,提高数据查询速度。缓冲区高速缓存越大,ORACLE数据库中可装入的内存数据就越多,系统的性能就越好,而我们可以通过数据字典来了解缓冲区的高速缓存,当命中率低于0.85时,可以通过增加参数DB_CACH_SIZE值作为数据块缓冲区,从而分配更多的内存,提高数据库系统性能。
2.4 合理设计和管理表
第一,利用表分区。将不同分区的数据存储在不同的磁盘上,实现数据文件的物理层分区。当只对某个表中的数据进行查询时,直接对该表分区进行扫描查询,无需进行全表扫描,有效缩短查询时间。
第二,避免出现行连接和行迁移现象。建立表时,参数pctfree和pctused设置不正确会导致数据出现行连接和行迁移现象,导致同一行的数据存储到不同的数据块中。查询这些数据时,为了正确读取这些数据,磁头必须重新定位,这样就降低了查询速度。因此,建表时必须合理设置这两项参数,避免行连接和行迁移现象的出现。
第三,碎片的控制。碎片需要占据一定的磁盘空间,需要耗费一定的数据库资源。当2个及以上的数据对象在同一个表空间时,碎片的存在会导致区间交叉现象的出现。在动态增长中,对象的区间不再相互邻接。因此,设计和管理表的过程中必须重视碎片的控制。将小增长的表放在一个表空间中,将动态增长的表放在其表空间中,合理设计storage子句的参数,减少碎片的产生,避免区间交叉现象的出现。
第四,别名的使用,这是大型数据库中常用的方法,在查询过程中用一个字母来代替表明、列名等,有效提高查询速度。
第五,将回滚段定义为交替使用。数据库中的对应表具有相对静止的数据字典和极高事务率特点,索引、数据段等也具有相对静止特性,而系统中负荷最高的是回滚段表空间,将其定义为交替使用能实现循环分配事物对应回滚段效果,达到磁盘负荷均匀性目的。
3 结束语
优化 ORACLE数据库有利于提高信息网络系统的运行效率和质量,提高系统数据的安全性和完整性。在 ORACLE数据库开发设计的初级阶段,对系统的物理结构和逻辑结构进行优化设计,创建一个合理布局的数据库,从根本上提高数据库的性能,对于提高信息网络系统的性能有重要意义,对以后数据库的升级改造、扩展性优化具有重要现实意义。
参考文献:
[1] 陈秀英.大型ORACLE数据库系统的优化设计方案[J].舰船科学技术,2009,31(2):150-153.
数据库系统是随着计算机在数据处理方面的应用发展而产生的。从19世纪50年代末开始,数据管理技术就一直是计算机应用领域中的一项重要技术和研究课题。利用计算机实现数据的管理经历了三个发展阶段:(1)人工管理阶段;(2)文件系统阶段;(3)数据库阶段。数据库系统的起源则在60年代中期,其发展始终以数据模型的发展为主线。按着数据库模型的进展情况,数据库系统的发展可以划分为三代:(1)第一代数据库系统,即层次数据库系统和网状数据库系统;(2)第二代数据库系统,即关系数据库系统(RDBMS);(3)第三代数据库系统,即面向对象数据库系统。一般来说一个完整的数据库系统由四个部分组成:数据库、数据库管理系统、数据库管理员和应用程序。目前关系型数据库的使用范围最广,人数也最多,不过针对某些特殊需求一般的关系型数据库则无能为力,比如医学数据库。医学数据库主要包括两种,一是医学文献的数据库,它包括了基础医学、临床医学、预防医学、药学、口腔医学、中医学及中药学等生物医学的各个领域的文献这种数据主要是提供有自由词,中文文题,英文文题,作者,摘要,参考文献,期刊名,出版年期,文献类型,特征词等的检索,这类医学数据库和一般的数据库系统没有太大区别;二是医学临床信息数据库,这种数据库用于记录病人全面详细的信息,主要用来支持医生的诊断,使得医生可以对医疗全过程(FullMedicalProcesses)进行规范、监督、控制、管理和分析统计。这种数据库数据结构较为复杂,通过传统的数据库形式已经无法满足要求。
2、国外的医学数据库研究现状
外国的医学数据库研究起步较早,已经取得了相当多的成果,像美国国家医学图书馆(NationalLibraryofMedicine)的可视化人体项目,他们通过获取男性和女性的1mm间隔的CT和MRI数据,用于医学教育和科研;美国的EMBBS医学图像数据库也主要用于教学和管理信息,该数据库拥有大量实用的临床照片、X光照片、文章、工作指南以及临床信息等;南佛罗里达大学的图像数据库,该数据库用于为研究机构提供图像,促进图像显示技术及教学辅助工具的开发;类似的还有Rorida的病理学者Dr.JohnMinarclk首先开创的肿瘤图像数据库(Tumorboard),美国卡耐基梅隆大学的图像数据库等。
3、医学临床信息数据库的需求与设计
3.1医学临床信息数据库的需求和工程数据库特点
数据是数据库的核心,医学临床信息需要处理的数据具有一些特点:(1)类型比较复杂,既有传统的数值和文字,还有大量的临床照片、X光照片等信息,以后还可能进一步的有视频和音频信息需要存贮,类型多,所需的存储空间大;(2)临床数据需要进行动态的版本管理,应该能够体现出整个的诊断过程;(3)临床数据之间往往具有丰富的关联语义。这些特点和工程数据库有很多相似之处,这使得在进行医学临床信息数据库建立的过程中可以参考借鉴工程数据库的理论和知识。工程数据库是面向对象的数据库系统,能够支持复杂对象(如图形数据和工程设计文档)的表示和处理;可扩展的数据类型;支持复杂多样的工程数据的存储和集成管理;变长结构数据实体的处理;工程长事务和嵌套事务的并发控制和恢复;设计过程中多个不同数据版本的存储和管理;支持模式的动态修改与扩展和支持多种工程应用程序等。以上的工程数据库功能的实现方式都可以用来指导临床信息数据库的建立。
3.2医学临床信息数据库的设计
DOI:10.16640/ki.37-1222/t.2016.11.234
1 现状
现在信息系统的开发中数据库的设计所在比重越来越大,防止数据库不被非法访问、破坏和提高数据库的性能是数据库设计非常重要的环节,数据库安全性设计和性能优化已被广大系统开发者所重视。
2 保护数据库安全的措施
2.1 用户标识与鉴别
在我们使用的计算机系统中,安全措施是分很多层次的,用户标识与鉴别是系统所能够提供的安全保护措施中最外面的一层。其方法是由系统为用户提供一定的方式和规则让用户标识自己的名字或身份,以便每次用户登陆系统时,对比数据库记录的合法用户信息,通过验证方能访问数据库。具体设计数据库时我们可以创建sys_user表,这些用户的标识和鉴别信息在sys_user表中保存,用户每次登录系统时应用程序都会对比用户所输入的用户名和密码与数据库这样就可以确定用户是否合法。
2.2 存取控制
数据库安全中最重要的一方面是确保只允许有一定资格的用户去访问数据库定的表或者数据,这主要是通过数据库系统的存取控制实现的。目的是将用户权限等级到数据字典中。用户只访问他有权访问的数据。每当用户进行某些数据的查询、插入、修改、删除等操作时,先对其进行一些检查,主要检查这些用户的操作权限,若用户的操作请求超出了或者不符合系统定义的权限,系统将拒绝用户执行此操作。
比如:管理人员可以被允许访问系统内全部的数据;单个部门只能访问本部门的在建以及历史数据。
2.3 定义视图
视图是从一个或者多个表(视图)中所导出的表,其结构的构成和数据确立是建立在查询这些表(视图)基础上的。视图并不是真是存在的表而是一张虚表,视图所对应的数据是在视图所引用的基础表中存储的。
在关系数据库中,可以根据实际的需求为特定的用户定义特定的视图。让表中的一部分数据只对一部分特定的用户可见。如果一些数据是保密的,就可以使用视图把这些数据隐藏起来,使没有获得授权的用户不能看到这些数据。对数据库提供安全保护。
比如某公司有A、B两个部门,A部门只能访问本部门的在建、历史项目数据;其他项目的数据对其是不可见的。可以为A项目建立“部门人力资源视图”,从数据库“部门人力资源信息表”查看A项目的人员情况。
2.4 使用存储过程
存储过程通过隔离的方法提高了数据库的安全性,通过授权可以让用户只能执行存储构成而不能直接访问数据库对象。建立一个存储过程是很灵活的,并且可以实现一定的逻辑处理。
2.5 充分利用系统全局区域SGA(System Global Area)
我们用Oracle设计数据库,当我们启动Oracle的数据库时,系统为了储存用户所需要数据及Oracle正常运行所必备系统信息,首先会在内存内规划出来一个固定的区域使用。这个区域我们称为系统全局区(System Global Area),简称SGA。数据库管理员可以依据数据库实际运行状况根据需要调整数据库系统全局区(SGA区)的数据库缓冲区、共享池和日志缓冲区的大小。只有合理设置这些内存缓冲区,才可很大加快数据的查询速度,只要所使用的内存区足够大就可以把绝大多数的数据都存储在内存中,只有那些不活跃的不经常使用的数据,才从磁盘中读取。这里有一点是需要注意的,SGA区并不是我们想象的越大越好,SGA区如果过大就会占用操作系统所使用的内存从而引起虚拟内存的页面交换,这样的话反而会降低系统运行性能, SGA的尺寸不大于物理内存的一半是我们所设计的原则。
在 Oracle8i 中,SGA 的大小不是手动设置而是由初始化参数文件内的一些参数所设定,这其中有不是很方便的地方是每次调整后必须等重新激活数据库这才能生效。从Oracle9i 以后,DBA 可以动态配置内存的大小;这样的数据库技术我们称为「dynamicSGA。有了dynamic SGA ,SGA的各组成区域都可以动态地进行规划与调整,而不需先关闭数据库。
3 结束语
数据库管理员只有认真分析Oracle在其运行使用过程中可能出现的各种安全性问题,综合运用上面介绍的规律,Oracle数据库才能高效、安全、可靠地运行。这里还需要指出的是,数据库的安全是一个系统工程,涉及到方方面面,我们设计的时候要考虑到各个方面综合分析,不能只根据一个特定时间点的安全情况就断定数据库安全运行的好与坏。
参考文献:
[1]聂军.论数据库安全性设计[J].中国现代教育装备,2009(01).