数据库设计范文

时间:2023-03-13 17:56:33

数据库设计

数据库设计范文第1篇

数据库设计属于系统设计的范畴,通常把使用数据的系统称为数据库应用系统,把数据库应用系统的设计简称为数据库设计。数据库设计把数据库应用系统分为需求分析阶段、概念结构设计、逻辑结构设计、物理结构设计、数据库实施阶段、数据库运行与维护六个阶段。下面简要介绍各个步骤的主要任务及方法。

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数据库的维护

在数据库系统的运行过程中,可能会由于某些原因需要修改数据库的结构,称为数据库的重构,重构包括表结构的修改和视图的修改。还要根据用户环境的扩大,适时的向数据库增加一些新的数据和功能。

6.4及时修改错误

系统运行过程中难免发生一些错误,需要及时运行修改错误,弥补设计时的欠缺。

数据库设计范文第2篇

关键词:数据库;课程教学;案例数据库设计

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)31-0001-02

Optimal Design of Case Database in Database Course Teaching

HUANG Xin

(Jiaxing Technician College Department of Trade and Tourism,Jiaxing 314036, China)

Abstract:Aiming at the problem of selecting the teaching cases in, we analysis and research the case database designed int the domestic and mainstream textbook of database course. We propose a forum database named “simpleforumdb” as teaching and laboratorial case, and the detailed design of this database is given at the mean time.

Key words:database;course teaching;case database design

数据库技术是现代IT技术的重要支撑技术,是构建各类信息系统与应用系统的核心技术和重要基础[1]。教育部的相关文件指出“当代大学生应具备利用数据库技术对信息进行管理、加工和处理的意识与能力,用以解决本专业领域中的问题的能力”[2]。

国内主流数据库课程教材在组织内容时,虽然有的侧重数据库实现原理的介绍,有的以某一数据库管理系统(如Oracle、MySQL等)为平台介绍数据库技术的应用,有的兼顾理论和技术,但无一例外都引入了一个或多个数据库教学项目作为贯穿全书各章节、演示数据库关键概念和技术的案例。许多在教学中广泛使用的案例数据库较为简单,与实际工程项目相差较大,不能很好地覆盖数据库课程所有知识点,导致学生在未来工作中遇到实际项目时无法快速上手。如何设计合理的教学案例数据库已成为数据库课程教学亟待解决的重要课题。

1 主流数据库课程教材使用的案例数据库分析

下面从本专科两个教学层次,选取两本主流数据库课程教材中引入的案例数据库加以分析各自的优点和不足。

1.1 图书管理系统数据库

由南京师范大学郑阿奇教授主编的数据库课程系列教材被列为普通高等学校部级规划教材,在职业院校和应用型本科院校的数据库课程教学中广泛使用。该教材以图书管理系统数据库作为教学案例[3]。

1.1.1 图书管理系统数据库逻辑结构

图书管理系统数据库的逻辑结构[3]如下:

1)管理员表:Administrator(角色名,密码,备注)

2)读者表:TReader(借书证号,密码,姓名,性别,出生时间,专业,借书量,照片,备注,联系方式)

3)图书表:TBook(ISBN,书名,作译者,出版社,出版年月,价格,复本量,库存量,分类号,内容提要,封面照片)

4)借阅表:TLend(借书证号,ISBN,图书ID,借书时间,应还时间)

5)还书表:HLend(编号,借书证号,ISBN,图书ID,借书时间,还书时间)

6)借出表:TBLend(图书ID,ISBN,是否借出)

1.1.2 图书管理系统数据库设计分析

优点:图书管理系统数据库设计较为完整,学习者不难结合其他程序设计语言(如C#、JSP、等)构造出一个实用的数据库应用系统作为课程设计。另外,该案例数据库的属性较为丰富,可涵盖SQL语言的主要数据类型。

不足:第一,可能是为了方便数据查询,图书管理系统数据库设计上存在不规范问题:部分表没有达到3NF的规范化要求。例如在借阅表TLend中,存在非主属性ISBN对码(借书证号, 图书ID , 借书时间)的部分函数依赖[4]。还书表HLend也存在类似问题。改进的方法是从借阅表TLend和还书表HLend中去除属性ISBN,同时在TLend中加入“编号”属性作为该表的主码。第二,图书管理系统数据库的设计存在冗余问题,部分属性属于冗余属性,可以从相关表中去除[4]。例如图书表TBook中每本书的“复本量”和“库存量”可通过对借出表TBLend中相关记录进行聚集函数查询(使用函数count)得到,所以这两个属性应该从图书表Tbook中去除(如果存在,为了维护数据完整性系统将付出很大的性能代价)。第三,和企业实际工程项目相比,图书管理系统数据库略显简单。

1.2 学生选课数据库

由中国人民大学王珊和萨师煊两位教授编著的《数据库系统概论》一书引入的案例数据库――学生选课数据库在国内多数本科院校授课时广泛采用[5]。《数据库系统概论》也是国内第一部介绍数据库的教材,一直被国内大多数本科院校作为课程教材和主要教学参考书。

1.2.1 学生选课数据库逻辑结构

学生选课数据库的逻辑结构[5]如下:

数据库设计范文第3篇

关键词:ORACLE数据库;优化;物理结构;表

中图分类号: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.

[2] 巢子杰.Oracle数据库优化探究[J].软件导刊,2010,09(2):142-144.

[3] 魏亚楠,宋义秋.oracle数据库应用系统的性能优化[J].制造业自动化,2010,32(8):204-205.

数据库设计范文第4篇

[关键词] 数据库 关系数据库 数据库设计

1.引言

数据库的应用已经深入到生活和工作的方方面面,计算机软件的发展很多都是基于数据库的。一个好的应用程序首先应该要求有一个好的数据库设计,一个规划和设计良好的数据库的优点是众多的,前期做的工作越多,后面所要做的就越少。如果在使用数据库的应用程序公开之后,再对数据库进行重新设计,不仅浪费时间和精力,而且代价高昂。因此,在开始编写一个应用程序的代码之前,应该尽量把数据库设计好。

2.数据库设计的重要性

良好的数据库设计对于一个高性能的应用程序非常重要,关系没有经过优化,数据库无法尽可能高效地运行,并且很难维护,而现实要求数据库应该易于维护。好的数据库设计(关系型数据库)作用主要体现在以下几个方面:首先充分体现系统的需求,准确的表达数据间关系;保证数据的准确性和一致性和健壮性;提高数据的查询效率;有好的扩展性,在必要时能根据需求扩展数据结构。如果设计不当,查询起来就非常吃力,程序的性能也会受到影响

3.数据库设计技巧

3.1正确理解和处理原始单据与实体之间的关系

原始单据与实体之间存在三种关系,即:一对一、一对多、多对多的关系。一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。

比如:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表、社会关系表、工作简历表。这就是“一张原始单证对应多个实体”的典型例子。

3.2 理解基本表的性质

基本表与中间表、临时表不同,因为它具有如下四个特性:

(1) 原子性。基本表中的字段是不可再分解的。

(2) 原始性。基本表中的记录是原始数据(基础数据)的记录。

(3) 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。

(4) 稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。

理解基本表的性质后,在设计数据库时,将基本表与中间表、临时表区分开来。

3.3通俗地理解三个范式

通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式:

第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;

第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。

没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

3.4要善于识别与正确处理多对多的关系

若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处理多对多的关系。

比如:在“图书馆信息系统”中,“图书”是一个实体,“读者”也是一个实体。这两个实体之间的关系,是一个典型的多对多关系:一本图书在不同时间可以被多个读者借阅,一个读者又可以借多本图书。为此,要在二者之间增加第三个实体,该实体取名为“借还书”,它的属性为:借还时间、借还标志(0表示借书,1表示还书),另外,它还应该有两个外键(“图书”的主键,“读者”的主键),使它能与“图书”和“读者”连接。

3.5防止数据库设计打补丁的方法是“三少原则”

(1) 一个数据库中表的个数越少越好。只有表的个数少了,才能说明系统的E—R图少而精,去掉了重复的多余的实体,形成了对客观世界的高度抽象,进行了系统的数据集成,防止了打补丁式的设计;

(2) 一个表中组合主键的字段个数越少越好。因为主键的作用,一是建主键索引,二是做为子表的外键,所以组合主键的字段个数少了,不仅节省了运行时间,而且节省了索引存储空间;

(3) 一个表中的字段个数越少越好。只有字段的个数少了,才能说明在系统中不存在数据重复,且很少有数据冗余,更重要的是学会“列变行”,这样就防止了将子表中的字段拉入到主表中去,在主表中留下许多空余的字段。所谓“列变行”,就是将主表中的一部分内容拉出去,另外单独建一个子表。

4.小结

一个应用程序的性能高低及可维护性,很大程度上取决于相应数据库的设计,因此,除了掌握数据库设计的常规方法之外,更要总结实际开发过程中遇到的问题及解决方法,掌握和应用数据库设计的技巧,对于提高应用程序的性能和可维护性有很大的帮助。

参考文献:

[1] 王珊,?萨师煊 《数据库系统概论》,高等教育出版社.

[2] 周桂云,关系数据库中实现多对多关系的数据组织探讨,信息技术:2003.01.

作者简介:

数据库设计范文第5篇

1、概述和研究背景

数据库系统是随着计算机在数据处理方面的应用发展而产生的。从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医学临床信息数据库的设计

医学临床数据库的设计不仅需要数据库的技术,还需要图像处理技术、计算机网络技术以及医学领域知识。最终的系统模型不仅需要处理一般的数据,还要支持医学图像数据有效存储、传输、检索和管理。在检索上,也不应该限于病人信息和图像基本信息的基于文本的查询,还要能实现在海量图像数据库中研究高效的基于医学图像内容的查询,包括特征的提取、相似性度量及高维索引结构(特征的组织)等。这就使得数据库的设计必要做到以下几点:(1)数据的建模必须能够支持复合对象,封装性和继承性(包括多重继承);(2)支持重载和联编,允许在为不同的类定义各自的操作时有重名的现象,应用时不管对象是什么,均启动同一操作名,而由系统根据具体的对象判定应怎样操作;(3)支持事务管理包括并发和恢复。要在事务开始和结束时,保证数据库的一致性和完整性。在事务执行的过程中不能简单地对失败的操作进行放弃,要建立一套新的流程适应临务的特点;(4)支持版本管理,主要任务是对患者的历史诊断过程进行记录和维护。需要每一个版本的内容保持相对的独立性和一致性,还需要能在各个版本间方便的进行切换。(5)支持检索查询功能,这不光要求处理能力对处理效率也要达到一定的要求。为适应实际的需要,可以使用两种对数据库信息进行检索的方式。一是导航式,定义一个入口,让用户可以直接获取与这个入口对应的对象的全部组成信息。二是相联式查询,根据用户提供的条件,到数据库的环境中查询符合条件的对象。由于临床数据库具有更丰富的语义,因此相联查询条件往往需要具有复杂的形式,如包含嵌套属性、继承关系和方法等。

4、总结和展望

数据库设计范文第6篇

1数据库设计概述

在数据库应用系统中,主要面对的核心问题就是设计出一个能满足用户需求,性能良好的数据库,这就是数据库设计。软件开发的数据库设计主要分为四个阶段:需求分析、概念设计、逻辑设计和物理设计。而目前的软件开发过程中,一般采用生命周期法,将数据库分解为目标独立的若干阶段:需求分析、概念设计、逻辑设计、物理设计、编码阶段、测试阶段、运行阶段和进一步修改阶段。关于数据库设计理念,主要是为了分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。设计者根据实际情况,对某些共同特性和行为的对象可以抽象的作为一个实体。所以数据库是由实体和属性组成的,实体是通过主键表示,属性是通过外键表示。在进行设计时,实体与属性是相对而言的,同一事物在某一种环境中作为属性,在另一种环境中,就必须作为实体。如图1所示。

2软件开发中数据库设计的重要性

数据库作为重要的数据处理技术,大多数的软件开发都必须运用到数据库技术,数据库管理系统就是软件开发的重要成果。它是一种系统软件,分组数据库中的数据组织、操纵、维护、控制及保护和数据服务等功能,特别是它可以定义视图和进行强大的数值计算,能够很好的控制数据库的安全性、完整性以及对数据库的故障进行校正、修复和监控功能。所以它被应用到世界各个领域的机械、医疗、教育等领域中。而且在开发软件时,经常要对很多数据线图和表格进行查找,简单的还可以进行人工查找,如果遇到复杂的数据查找,则会对设计人员造成许多的不便,也很容易出现错误,影响软件产品的质量。而如果运用数据库管理编程,则可以存储许多的数据,当需要时,数据库管理系统则会为用户使用数据中的数据提供方便的查询、插入、修改以及删除数据的功能。

3软件开发中数据库设计应遵循的原则

1)一事一地。建表需描述两个实体之间的联系,避免出现大、杂的设计。如单个主题信息需独立保存、分离,通过在表中分散不同的信息,使数据的维护、组织工作简单化。同时,提高了应用程序的性能。2)避免出现重复的字段。应确保表中能切实放映与其他表的联系,以及外部关键字。另外,要注意避免出现重复的字段,以减小数据冗余,防止删除、插入、更新等操作时,导致数据不一致。3)规范化的命名。对于不同的数据库产品的命名的要求也就不同,设计者在对各对象进行命名操作时,利用大小写字母进行标识,对于编写后台程序代码也要如此,命名长度最好是控制在30字符以下。4)除了个别要求外,禁用游标。如果对大的数据集合使用游标,很容易使得程序出现“漫长等待”或“死机”的现象。如果要使用游标,可以建立一个临时的表,在表中输入所需要的数据,然后对临时表进行游标操作,这在很大程度能够提高游标的性能。5)对庞大的表使用索引。索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。6)事务的使用。指作为单个逻辑工作单元执行的一系列操作,它可以为非事物性单元单元内之外的所有操作的顺利完成提供保障,不断的更新面向数据的资源。7)调整数据库的性能。许多设计员会对数据库设计采用以下两种方法:其一,逻辑设计数据库。调整性能以调整关系、减少连接运算,保持每个关系数量在合理的水平,从而使存取效率提高。时刻通过快照固定,以使查询速度提高;其二,物理设计数据库。主要调整内部物理结构,合理选取存取的路径,以增快访问速度,提高存储空间的利用率。8)合理的选择数据类型。在实际的设计中,必须根据软件开发的产品的规则和要求对数据类型进行选择,从而提高数据库的性能。

4软件开发中的数据库设计的理论分析

1)数据管理系统可在软件开发系统中运行。软件开发系统主要采用VisualC++系统,可直接运行SQL语言。SQL语言是一种可程序设计、数据库和结构化查询的语言,用于数据的查询、存取机更新。同时,可作为脚本文件扩展名。开发应用程序采用VisualC++,不仅进行数据库访问,还可作为开发前段的工具。VisualC++系统的程序开发,能使远程访问的复杂性大大降低,访问效率大大提高。2)数据库在软件开发中的设计,对于数据模型的选择应慎重。数据库中的数据模型可以将复杂的现实世界要求反映到计算机数据库中的物理世界,而在设计时主要注意以下四个方面的因素:其一,数据模型因素。不同软件产品的应用需要不同,所以应该根据实际的情况来选择数据模型,大多数设计者一般都会采用关系模型,因为它是一种非过程性的模型,采用二维表来表示,二维表是由表框架和表的元组组成,当用户进行查询信息时,不必对实际的物理存储路径进行考虑,就能很快、方便获得准确的结果。在大型的数据库管理系统中,必须优化查询、提高关系模型的查询效率;其二,数据库结构因素。数据模型中的数据结构主要的目的是对数据的类型、性质、内容和数据间的联系进行描述,它是数据模型的基础,不同是数据结构操作与约束的也建立在数据结构的基础上,因此必须根据具体数据结构的实际情况分类数据模型;其三,数据约束因素。它主要是对数据结构内数据间的语法、语义联系进行描述,它们之间是制约和依存的关系,所以在具体设计中,应该根据实践情况和数据动态变化的规则,来保证适当的正确、有效与相容;其四,数据操作因素。主要是对相应数据结构上的操作类型、方式进行描述,所以在对数据库进行操作时,应该整体的处理图形,根据实际情况的要求,使接口程序变得简单、灵活,从而使指针占有的空间减小。

5软件开发中的数据库设计的实践分析

软件开发涉及了工业、医疗、教育等各个领域,笔者身为教师,也曾经涉及过在线测试软件的开发设计,下面就以在线测试软件开发为依托,对其数据库设计进行分析:1)对系统的总体设计应引以重视。在对软件进行编制时,系统的总体设计与软件产品项目能否顺利开展以及是否符合软件开发预期的要求有着直接的关联,所以在对在线测试系统进行开发时,应该根据常规软件的开发流程来进行。2)描述从属关系。分析在线测试中教师组卷、学生测试的信息,例如对学科试卷中分为单选题、多选题、填空题、判断题,对这些对象进行系统数据库的组织,从而使得测试题目和学科试卷之间的建立从属的关系,同时,也使得各学科试卷之间建立了复杂的从属关系。所以,建立从属关系主要是考虑空间从属关系和测试的时间顺序。3)合理的实现文本框的窗体视图。主要是利用以单文档的方式来显示表中的数据,它即具有单独使用的文档窗体视图风格,而且当输入监测点数据时,可以很好看到该监测点的属性窗口。同时,该软件具有容错功能,即当用户输入或操作错误时,数据库会自动的提示或取消操作。

6数据库设计过程和实例分析

上面介绍了数据库设计的原则,以“教学管理”数据库为例,来分析数据库设计的过程。1)需求分析阶段。对用户的需要进行分析主要包括三个方面的内容:其一,信息需求。即用户要从数据库获得的信息内容。信息需求定义了数据库应用系统应该提供的所有信息,注意描述系统中数据的数据类型;其二,处理要求,即满足数据完成的处理功能、方式的需求,然后定义系统的数据处理操作。在操作执行时,应该考虑场合、操作、频率等因素对数据的影响;其三,安全性、完整性的要求。在对信息、处理需求进行定义的同时,要保证安全性和完整性的约束。在分析过程中,主要是跟数据库的使用人员进行交流,细心的了解现行业务处理流程,熟悉全部数据资料。例如可以对学校教学管理工作进行了解和分析,可以确定教学管理数据库建立的目的是为了解决教学信息的组织和管理问题,主要是包括教师、学生信息管理和选课情况管理。2)概念设计阶段。概念设计的目的是分析数据间内在语义关联,在此基础上监理一个数据的抽象模型,主要是有两种方法:其一,集中式模式设计法。它根据需求由一个统一机构或人员设计一个综合的全局模式,而且设计比较简单,非常适用于小型或不复杂的单位和部门;其二,视图集成设计法。主要是对一个单位进行分解,然后局部的设计分解后的每个部分,建立各个部分的视图,以各视图为基础进行集成。例如,在教学管理中,以师生实体为联系模型,明确学校各个部门的组成实体和属性,然后描述学校各个年级的学籍管理和课程管理的局面环境,再将各个年级教学管理的环境进行集合,形成一个全局的视图,从而使得数据库能真实的反映学校的教学的管理。3)逻辑设计阶段。它主要是对外模式关系视图进行设计,主要表现在三个方面:其一,提供数据逻辑的独立性。使应用程序不受逻辑模式变化的影响,关系视图则让逻辑模式与应用程序之间有隔离墙作用;其二,适应用户对数据的不同需求。每个数据库有一个非常庞大的结构,它用关系视图屏蔽用户所不需要的模式,而仅将用户感兴趣的部分呈现出来;其三,有一定的保密功能。例如,在教学管理数据库,如果有许多的老师和学生共同登录,则采用用户密码登录,互不影响,只看到自己所需要的信息数据。4)物理设计阶段。它主要是对数据库内部物理结构做调整并选择合理的存储路径,而且一般采用索引设计、集簇和分区设计。例如,在教学管理数据库中,它利用物理设计能够很好的修改其中的数据和路径。5)验证设计阶段。任何一个数据库的设计和建立都必须经过循环反复的验证,一旦数据库中的数据、步骤遭到破坏和出错,就必须及时的进行校正恢复。在验证阶段,也为以后的运行和维护提供参考意见。6)软件运行和维护阶段。这是数据库设计的最后环节,主要是在软件开发的数据正式运行后,对其要不断调整和维护。

7结束语

数据库设计范文第7篇

关键词:数据库设计;可扩展;对象;关系数据库

中图分类号:TP311.131文献标识码:A文章编号:16727800(2011)012017302

作者简介:刘学(1983-),男,山东郓城人,硕士,菏泽学院教务处助教,研究方向为网络信息系统。

0引言

数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设的核心。数据库设计是指对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用要求(信息要求和处理要求)。

数据库设计的核心问题是建立模型。一般而言这个模型要满足两类准则:结构准则和性能准则。前者主要考虑如何保持数据的特性,后者主要考虑资源的合理使用和数据库的存储效率。在所有数据库设计准则中最重要的原则是:最终产品必须满足用户的最终要求。但是,首先需要存储的信息是动态的,应用自身的发展也会产生新的和扩展的信息需求;其次,信息化是分步进行的,用户很难一次提出完整的需求;第三,用户和设计人员之间存在理解上的差异。因此,数据库应用系统在完成以后,系统功能很可能不能完全满足用户需求,而且随着时间的发展系统功能会逐渐偏离用户或企业的需求。所以,数据库应用系统必须要不断地改进和扩展以适应环境的变化以及组织自身的发展需求。

目前数据库设计普遍采用“需求驱动”的数据库设计模式。但是,如果在数据库设计阶段,建立数据库模型时没有充分考虑到数据库应用系统以后可能的改变及扩展,将使系统以后的维护工作变得极其困难,甚至必须重新开发数据库应用系统。本文针对数据库应用系统开发过程中遇到的动态可扩展问题提出了一种数据库设计模型――基于键值对的对象属性可扩展模型,它区分了应用中的不同对象的类型,通过设计属性分类提高了数据库应用系统中数据的可改变性和可扩展性。

1信息系统中的传统数据库设计模型

通常,在传统数据库设计模型中,设计人员在设计阶段总是将数据信息表达的尽可能丰富,使其不仅满足所有需求分析阶段得到的用户需求,而且还要尽可能考虑到应用以后可能的改变以及扩展。采用这种方式设计的数据库应用不仅数据表过于“臃肿”,而且对于未来的应用难于改变或者扩展。

例如,在某校园建筑管理信息系统中,系统成立初期,只要求该系统能够展示建筑的基本信息,如名称、简述等。设计人员有可能将数据表格设计成,我们称之为方案1。包括编号、建筑名称、建筑描述是建筑的最基本属性,此外设计人员也考虑到了系统将来的扩展,加入了诸如建设日期,高度,等属性。由于设计人员不可能完全预见学校未来发展状况,所以对于系统现阶段的需求来说,尽管建筑信息表已经非常详尽了,但是随着时间的推移系统仍有可能不适应实际需求。

随着需求的发展,建筑的信息需求有可能发生变化。例如:①为了获取建筑质量,有可能对该建筑的施工文件等信息保存;②随着校园信息系统的建立,可能有更多的不同类型的建筑需要存入系统,比如管道信息,一些标志性雕塑,或者植被信息;③随着系统的扩展,原有数据表可能不能满足日益增多的该类建筑所有信息的存储,所以需要建立新的数据表扩展其属性;④对于一些简单的建筑或者物体比如一棵树一个石凳,存储的信息明显和一座教学楼不同,需要按照类型的不同,设计多个不同的数据表分别存储不同类型的物体信息。

2数据库设计中的扩展性需求

在应用中,类似这样的数据存储结构改变以及应用扩展的情况还有很多。如果用传统数据库设计模型,那么在设计初始阶段就必须考虑到应用未来所有的改变及扩展,尽可能使表格的信息详尽,否则当应用发生改变或扩展时,必须重新设计表结构,并对应用程序中相关片段全部重写。如果同一变化出现在不同部位,由于不同的原因,出现在不同的阶段,那么现有表结构不能满足要求;如果需要增加过多的对象属性信息,那么表结构将必须修改。但是,如果我们将数据对象化,并采用定义其属性和值的设计模型,上述问题将迎刃而解。

作为开发人员,总会面对业务方提出的数据结构变化的需求,字段的增加,数据表的修改总是随时可能根据需求发生。因为业务在发展,或者需求就有可能需要一个完全动态的可扩展的数据库设计方案,但是以目前的关系数据库实现这种动态扩展的特性,在系统一定规模之后所付出的代价是昂贵的,也是不安全的。为了这种动态扩展性,有这样三种常用的方法:

第一种方法:预留字段。既然很难加字段,就预先留好一些备用,但是这样没那么灵活,有一定的实用性,不过因为预先留的字段一般是没什么含义的,需要有额外的信息来描述,这种方法在扩展性要求不是太强的地方可以不影响性能的前提下提供一定的扩展性。

第二种方法:使用复杂字段。在某些特殊要求下还是很有用的,比如,某个业务实体(某张表),有一些标记位,都是true/false的标记,可以理解为这个实体的一些属性,经常需要添加,这种情况,在生产中我们使用过用一个数字,按位来表示这些标记的,比如第三位表示他是不是付费用户,第四位表示他是合作方来的用户还是自己注册的,等等。还有一种情况,需要更复杂的属性列表,属性个数经常变,可以考虑使用一个文本字段,保存结构化的数据,然后在使用时需要动态解析该字段。使用复杂字段的好处就在于比较灵活,同一类型的数据可以放在一起(实际上相当于把应该是一个关联表的数据放一个字段里了),操作的性能也不错,但是复杂字段里面的内容查询比较困难,程序实现和修改起来也更复杂。

第三种方法:将数据的存储和索引(需要查询的内容)分开存放,相当于主表就一个keyvalue,把需要查询的字段放到其他单独的表里去,这种方法对数据的实时查询的效率有一定的影响,但是针对实时性的要求并不是所有系统都有要求的,在有些地方是很好的解决方案。

3基于键值对的对象属性可扩展模型

本文的基于键值对的对象属性可扩展模型就是结合上面提到的第三种方法,使用数据表分别单独存储对象分类和分类的属性信息的定义,并且实现了分类属性之间的树形的可扩展结构,对象信息的存储用过一张表用来存储所有对象公有的可快速查询的数据信息,另一张属性值表存储所有的对象的特有属性的keyvalue。通过这样的设计可以在不修改原数据表结构的前提下,实现所有存储对象的动态可扩展,如图1所示。

图1对象属性信息结构模型

由图1所示,表t_class保存对象的分类信息如建筑,管道,雕塑等;t_attibute_def保存的是每个分类所对应对象的属性信息如建筑的高度,施工单位等;t_entity保存的是分类对象的公共信息,是具体的物体如1号教学楼;t_entity_content保存每个具体的对象所有属性的信息值;t?_file表用来保存一些扩展的文件信息。通过这样一个模型我们可以在需要是动态定义一个大的分类并且可以动态的设置每个已有分类拥有哪些属性,所有对象的的具体内容分别存储在对象公共信息表,对象属性信息表和文件信息表中。

在实际应用中,还涉及到属性冗余,查询,修改等方面的问题,通过在校园管理系统中应用的结果来看,这些都可以实现,并能获得较好的效率。

4结束语

综上所述,传统的数据库设计适用于简单的、业务数据固定或变化极少的集中式数据库应用。在应用范围更广需要更灵活数据结构的系统中,显然面向对象属性的扩展设计更加适宜。

随着网络环境的日益普及,新的应用呈现出来的开放性与分布性特点,Web应用系统也由简单的数据库系统逐具有了更灵活多变应用环境,在这种环境下,能够满足扩展和动态改变的需求,将有更广阔的应用前景。参考文献:

[1]萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社,2000.

[2]刘洋,高连生,王斌.一种面向用户扩展的树状数据库设计模型[J].计算机工程与设计,2006(11).

[3]陆登.基于对象数据库的扩展Java集合框架[J].计算机应用与软件,2011(12).

数据库设计范文第8篇

基站网元需要对数据的各种操作方式作出快速的响应,以及用户信息的固化存储,防止断电后引起的数据丢失,基站的系统资源有限制,不能选用耗费系统资源的物理数据库,专用通信网络使用SQLite数据库,集成了内存的高效操作以及支持物理存储,无需安装,应用广,商用性好。基站控制器,调度台服务器,网管服务器等网元需要存储各种不同的用户信息以及呼叫服务信息,计费信息等各种海量数据,它们对操作数据的反应时间没有很严格的需求,但对数据库存储能力有较大的需求,可以采用应用比较广泛的MySQL数据库。一级网元,作为整网的数据存储以及处理中心,数据量以及数据安全性是需要首先考虑的问题,Oracle是最值得信赖的大型关系型数据库。虚拟数据库使上层软件开发人员无需关心任何物理数据库接口,只需要使用虚拟数据库提供的一套接口,即可自由灵活进行数据的管理操作。

1.1虚拟数据库的基本操作数据库的基本操作分为插入,更新,删除,查询,针对每张表的操作方式,也是基于基本的四类操作,根据操作条件进行操作,总可以将数据转化成SQL语句进行操作。

1.2虚拟数据库的实现虚拟数据库操作的底层接口是各种物理数据库提供的API,虚拟数据库需要将这些API集中地封装起来,并根据用户的需求选择使用。封装结构可以如下所示。示例中仅封装了几个常用的数据库API,也可以根据需求追加定义其他API进入封装结构,也可以根据用户需求随时将其他数据库API封装进来。

2数据下发过程

2.1数据正常下发过程(1)底层网元首先向上层网元上报数据资源审计请求,并将底层网元的数据标识(通常为MD5校验码)带给上层网元。(2)计算底层网元数据审计标识,判断底层数据是否与上层网元数据一致,如果一致,发送数据审计结果正确给底层网元,否则发送数据不一致给底层网元。(3)根据结果判断,如果无需同步,向上层网元发送数据审计流程结束,如果需要同步,向上层网元发送数据请求,数据请求中包含请求数据表,以及数据指针,用于标识上次请求到的数据位置。(4)按照请求数据,从数据库中取出数据,以及数据指针,封装进数据下发包。(5)数据循环向下层网元发送,直到底层网元不在请求数据为止,同时底层网元上报数据审计流程结束,完成数据下发过程。

2.2数据异常下发过程(1)底层网元在无法打开本地的数据库情况下,判断为本地数据库已经损坏,向上层网元发送数据库崩溃通知。(2)生成下层网元的数据库,根据网元类型,通过FTP向底层网元发送数据库文件或者数据文件。(3)底层网元接收完成数据库后,打开数据库,上报数据资源审计请求。

3结束语

每个通信系统都有自身特点,设计出一个适用于本系统的数据库架构,将极大提高系统对数据的处理能力,同时不会降低系统的运营速度,虚拟数据库涉及到数据库技术,操作系统,计算机通信等多方面知识,是一项复杂的工作,需要在实践中不断创新发展。

数据库设计范文第9篇

关键词:海量数据;设计;优化

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)28-0024-01

数据库技术是信息技术的基础和核心,随着各种应用的数据量飞速增长,海量数据不断产生,在对稳定性,实时性要求高的系统中,良好的数据库设计变得非常迫切。

1 数据库设计

在软件系统处于开发阶段,往往对系统功能的实现关心较多,而对系统的性能关心较少,等系统上线运行后发现系统的性能在不断降低,这时候再去考虑系统的完善,则需要花费更多的时间和财力。因此我们在分析复杂的软件系统需求时,需要确保即使发生高并发的存取情况,系统也不能瘫痪,而要能够保持平稳的运行。

在设计数据库的时候,必须确保数据库的一致性和完整性,确认数据表之间的相互关系,存储空间毕竟是有限的,还要尽可能地降低数据的冗余。数据的冗余度越低、,系统的完整性越容易得到保证,反过来,数据的完整性越好,也更能清楚地表达数据元素之间的相互关系。在大型系统中,经常需要对于多个数据表进行的连接查询,关联的数据表越多,其查询的效率必然会降低,同时应用程序的编程复杂度也相应增加,因此,数据库设计需要均衡考虑。根据系统业务逻辑,确定关联数据表的数据量大小、字段被访问频率,如果某些字段被访问的频率非常高,可以对这些常用的数据表适当提高冗余设计,虽然提高冗余度可能会增加软件系统编程的复杂性,但可以极大提高系统的响应时间,用户体验会变得更好,所以合理的数据冗余也是很有必要的。

数据表在设计时应注意以下问题:

1)通过分区视图可以把一个数据库中的一个大表按照一定的规则分布到不同的数据库中,这样可以减少服务器的压力。但这种分区视图在网络状况不好时,效率比较差。

2)数据表中字段的数据类型能够用数字类型也能用字符型时,则尽量选择数字类型,因为数据库管理系统在执行查询时会依次比较字符串中所有字符,所花时间比较长,而对于数字型的字段,只需要一次比较就可以了,效率高。

3)对于定长字符型和变字符型,定长字符型类型查询效率高,速度快,但是所占存储空间比较大,而变长字符型在查询时速度可能会慢一点,但是可以节省存储空间。因此需要灵活选择字段的数据类型,对于存储的数据长度有特定规则的,每次存储数据量变化不大的字段可以选择定长字符型,长度变化大的字段可以选择变长字符型。

4)字段的长度在在满足条件的情况下,最好短一些,这样可以提高查询的效率,同时在此字段上建立索引的时候也可以减少资源的消耗。

2 数据库优化

1)有时候为了逐行处理数据,需要定义游标,但在使用游标时要慎重,因为游标的执行效率比较差,如果游标操作的数据非常多,比如超过万行,那么最好考虑其他方式。游标虽然提供了对特定数据集合进行逐行扫描的手段,但基于多个表和大数据表定义的游标,往往会使系统程序进入一个较长的等特过程,用户体验不是很好,这个时候可将符合条件的数据行存入到临时表中,然后再对临时表定义游标,进行相关操作,这样可使系统的性能得到较大的提高。

2)索引是数据库中非常重要的一个对象,使用索引可以提高数据表中数据的访问速度,另外没有索引的数据表是按堆结构存储数据的,后续增加的数据都将添加到数据表的后面,建立索引的数据表,表中数据在物理上会按照索引键的顺序存储,大大提高数据的读取速度。

3)数据随着时间持续增长,然而有时候只有近期的数据才是最常用的。定期清除较早数据到历史表中,将业务数据分级存储,一个较小规模的近期表是一种很好的提高查询效率的方法。

3 结束语

随着信息技术的快速发展,越来越多的软件系统需要应对海量的数据,系统性能受到严重影响,在现有条件下,充分优化数据库的设计,可以更好地发掘系统的潜力,提升软件系统的性能。

参考文献:

[1] 毛杰,佘名高.海量数据库查询优化研究[J].软件导刊,2010(5).

数据库设计范文第10篇

1.1灾情信息表

对灾情数据进行信息分类是一项非常重要的过程,适当的分类可以简化系统结构,实现数据的精确分析。具体来说,灾情数据分为两部分,一部分是过程信息表,一部分是灾情信息表。其中,过程信息表用来记录灾害天气发生过程中的灾害信息,这部分记录是灾情数据库的基础;灾情信息表是受灾后的灾情详细信息记录,如灾害强度、灾害损失、灾害原因等。两部分在数据使用方面体现为一对多关系,即一次灾害过程对应着多个灾情信息记录。灾情信息表是整个数据库系统的核心,其结构是否科学合理决定了后续灾情分析的准确程度。为满足分析需求,通常灾情详细信息表的数据存储字段可分为灾情起因信息、基本信息、空间属性信息、灾害带来的损失信息、后期影响信息等几部分。

1.2灾情的协同通报信息结构

数据库的建立不仅仅用于记录,还应该具有联网通报的功能,通过该功能可以实现信息的联网分析和总结,提高灾情通报的实时性和系统使用效率,减少或者避免重复工作所带来的人力资源浪费。该部分数据库架构为,在灾情协同录入界面,辅助录入人员可以将灾情数据进行及时收集整理后进行录入,然后利用协同通报系统将信息上传到数据库端并将该部分数据标记为待审核数据。经过工作人员的审核和评定后,若该数据录入准确且具有唯一性,则取消待审核状态,转为灾情详细信息数据,为后续上报或者灾情分析评估等提供数据支持。该部分的信息需要进行单独存放,以免与灾情信息表产生混淆。

1.3灾情评估信息数据结构

灾情根据灾害特点和灾害原因可以分为多种类别,如自然灾害和人为灾害、地质灾害和天气灾害等。不同的灾害收集方式和评估方式均有所不同,因此在数据库架构中如何合理制定灾害信息采集分析表对应用灾害数据进行灾情评估具有重要作用。该部分数据库应该按照如下方式进行构建。首先建立灾情分类数据库,不同灾情与对应灾情描述之间进行特征关联,同类型灾害进行细分和归类。然后根据灾情特征建立对应的数据模型,便于数据录入和灾害评估。

1.4辅助数据表结构

为提高系统的应用性能,可以增设部分辅助数据表作为灾情数据库的补充。利用该表可以进行新灾情的自定义等,增强数据库的可扩展性。同样辅助表还具有区域记录功能,通过对受灾区域进行记录,可以提高灾情地理分布的精确度,增强局部预警能力。

2基于灾情数据库的灾害评估技术分析

在建立气象灾情信息数据库的基础上结合使用GIS技术、数据分析技术、WEB技术等,可以保证对数据库的充分利用,实现灾情的精确评估,减少灾害带来的经济损失。

2.1灾情统计分析技术

对灾情进行记录的主要目的在于利用这些数据进行统计分析,并对分析结果进行总结,生成统计报表,根据报表制定防灾决策,或者指导今后的灾情预警等。该技术生成的统计报表可以用于存储或检索。其中,检索功能可以进行要素关联检索、条件检索、影响检索等。通过进行细分检索和信息对比,可以方便的实现灾害评估。

2.2可视化分布图显示技术

在对灾害数据库进行限定检索后,可以获得相关灾情信息和气象数据。结合使用可视化技术等,可以根据数据统计量生成要素分布图。如灾情分布图、灾害损失分布图等。这些分布图可以直观、便捷的实现天气和灾情的关联,突出灾害易发点,为不同天气下的灾害预防工作提供理论依据。

2.3灾害防御对策技术

灾害防御对策技术主要是指对数据库内的灾害数据进行分析,根据各要素的影响程度调用对应的防御对策信息以供气象工作人员参考。该技术的实现需要对现有的应对策略进行收集、整理和归类,并根据灾害程度制作成相应的数据库文件,进而将该数据库与灾害信息库进行关联。

3总结

该系统为气象工作人员提供了一个适当的、操作简便的信息平台,利用该平台,气象工作人员可以对特定灾害、特定时间、特定地点的气象灾害进行统计和风险评估。基于数据库的气象灾情信息统计系统还能够方便的与其他相关系统实现信息共享,便于向气象灾害潜在覆盖用户提供预测信息。综上所述,气象灾情信息数据库具有广泛的应用空间,并对现实工作具有一定的指导意义。

上一篇:数据采集范文 下一篇:大数据技术范文