数据库设计十篇

时间:2023-03-21 04:43:21

数据库设计

数据库设计篇1

关键词:数据同步;容灾系统;数据仓库;Oracle高级复制

0引言

尽管人们小心谨慎,各种各样的灾难仍不可避免,如系统硬件故障、网络故障、机房断电甚至火灾、地震,广为人知的“9·11”事件就是触目惊心的例子[1]。这些灾难造成了重要数据的丢失,影响了企业的正常运转[2]。另外,激烈的市场竞争迫使企业高层寻找更为科学、系统、有效的辅助决策技术和整体解决方案来处理日益复杂的公司事务。数据挖掘就成了很好的选择之一,但是数据挖掘需要大量的生产数据,有时甚至是实时的生产数据。如果直接在生产系统上进行数据挖掘,必然会影响到生产的效率,并将严重威胁生产的稳定运行。如何在灾难发生时能够保留生产数据,并启用异地容灾系统及时恢复生产,如何把生产数据及时传递到数据仓库供数据挖掘使用,这些是现代企业需要面对的共同问题。

近年来为了解决上述问题,许多企业不惜耗费巨资来分别建立异地容灾系统和数据仓库。但遗憾的是,很多系统由于无法及时准确地同步生产数据,不能有效地运行。鉴于此,笔者设计并开发了一套基于Oracle高级复制技术的数据同步软件,实现了将一个数据容量为3TB的Oracle9iRAC数据库的生产数据及时准确同步到异地容灾系统和数据仓库。该系统不仅将对原生产系统的影响降至最小,还极大地降低了项目费用。

1软件模型

该软件的功能模型图如图1所示。

(1)初始同步模块

该模块主要是在表进行初始同步时使用的;它能够根据实际需要生成物化视图及其索引的创建语句,并完成表的初始同步。如果没有特别的要求,则调用普通初始同步子模块进行目的端表的初始同步,创建语句将从源数据库获取;如果有特别的要求,如按指定的分区初始同步或者按照一定的条件进行初始同步,则会根据这些要求调用分区初始同步或条件初始同步子模块生成特定的创建语句来进行目的端表的初始同步。该模块能够批量自动进行表的初始同步,从而大大减少了人工干预,保证了初始同步的准确性和自动化。

(2)调度模块

由于源端的数据在时刻变化着,在初始同步模块的基础上需要有一个调度模块将这些不断变化的数据同步到目的端,使目的端与源端始终保持数据一致性。该模块中的增量调度子模块是在表的增量同步过程中使用的,并能根据刷新间隔要求对目的端表进行及时准确的刷新;完全刷新调度子模块是在对表进行重新同步时使用;特殊要求调度模块是给需要做特殊同步的表使用的,如需要暂时停止同步、在每天的固定时间不同步等。

(3)监控模块

该模块是为了及时发现同步中断和同步效率低的表。由于其告警方式为短信告警,可以实现任何时间、任何地点的告警,保证了能在第一时间发现同步的中断以及同步效率低下的情况,实现了异常处理的及时性。

(4)错误处理模块

该模块主要是处理同步刷新过程中出现的各种错误。通过对捕获的错误进行相应的处理,从而保证同步能够稳定、高效地运行。另外,由于Oracle高级复制技术自身存在一定的缺陷,需要使用该模块来捕获造成数据不准的源头,并进行相应的处理。

(5)优化模块

该模块主要是处理同步过程中出现的性能瓶颈,保证能够及时发现性能问题并采取相应的优化手段来加以维护,包括源端优化和目的端优化。

2系统设计和体系结构

数据仓库中同步的数据只要实现小时级别的同步就可以满足要求,但异地容灾的数据库实时性较高,基本上都要求实现分钟级别的同步。现在生产数据库总的数据量约为3TB,容灾需要同步的数据量比数据仓库要大得多,而且数据仓库需要同步的数据都可以从容灾系统中获取;另外,生产数据库的性能和稳定程度对公司生产有直接的影响。因此在同步过程中,不仅应该尽量减少生产数据库的负担,还应该尽量避免同步过程中的异常情况,如网络故障、同步性能低下等问题[3]。基于以上考虑,笔者设计了如下方案:先将生产数据同步到异地容灾系统后,再以异地容灾系统为数据源同步数据到数据仓库。

系统的体系结构如图2所示。

(1)生产系统数据同步到异地容灾系统

生产系统与异地容灾系统之间是通过百兆网连接的;生产系统的数据库是Oracle9iRAC,总的数据量大约为3TB,涉及五千多张表。对这些表进行分析归类,发现容灾系统真正需要实时同步的表大约只有五百张,数据量约为1TB,只要能够把这五百张表的变更及时准确地进行同步,即可在生产系统发生灾难时,启用异地容灾的营业应急系统。鉴于此,本系统数据库使用Oracle9i,同步软件实时同步这关键的五百张表的变更。这样大大减少了同步的数据量,也最大限度地减少了生产系统的负担。从同步运行情况看,该同步软件对生产系统的影响可以忽视。

(2)异地容灾系统数据同步到数据仓库

异地容灾系统与数据仓库之间是通过百兆网连接的;数据仓库需要的生产数据从异地容灾系统数据库获取,因此数据仓库也采用Oracle9i数据库。数据仓库需要实时同步的表大约为三百张。从同步运行情况看,同步生产数据延时大约为十分钟,能满足数据仓库的要求,并且与生产环境没有任何关系,不会对生产环境造成影响。该系统结构使系统在各个实现层次上均具有明确的界限和分工,既避免了相互影响,简化了数据同步的难度,又实现了对生产系统的影响达到最小化。该结构使得系统易于维护、扩展性好、安全性好、稳定性好。

3采用的关键技术

同步软件采用的关键技术为Oracle高级复制技术。该技术能将Oracle数据库中的数据同步或异步拷贝到不同的数据库中。将数据复制到复制环境数据库的技术实体叫做物化视图。物化视图可以是只读的、可更新的或可写的[4]。

该技术在不同Oracle数据库之间进行复制时可以是同步的,也可以是异步的[5]。同步复制,即复制数据在任何时间、任何复制节点均保持一致。如果复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其他所有的复制节点上。异步复制,即所有复制节点的数据在一定时间内是不同步的。如果复制环境中一个节点的复制数据发生了更新操作,这种改变将在不同的事务中被传播和应用到其他所有复制节点。这些不同的事务间可以间隔几秒、几分种、几小时,也可以是几天之后。复制节点之间的数据临时是不同步的,但传播最终将保证所有复制节点间的数据一致。

(1)容灾系统使用异步可写物化视图方案

启动营业应急系统要求容灾数据库的这些物化视图是可写的,这样才能保证系统的正常运行,但是又不要求这些变更数据同步至生产系统,因为现在的生产系统已经遭到破坏。可写的物化视图允许用户通过在这个可写的物化视图上进行插入、更新和删除行的操作,但是这些操作不会同样地插入、更新和删除主表或主实体化视图上的行。因此容灾数据库中应该使用这种可写的物化视图;同时容灾数据库的表结构、索引、存储结构应该与生产数据库保持一致,使用该同步软件中的普通初始同步方式来完全拷贝生产系统的表和索引定义。容灾系统数据同步流程如图3所示[6]。

当灾难发生时,应该首先停止生产系统到容灾系统的同步软件,然后启动营业应急系统以保证继续营业;同时因为同步延时了几分钟(最长不超过5min),所以有可能会丢失少量数据。部分丢失的数据需要通过营业补录的方式解决。

(2)数据仓库是使用异步只读物化视图的方案

数据仓库只要求对读取生产的数据进行分析,因此数据仓库的这些物化视图是只读的就可以了。只读物化视图提供只读的访问表数据。这个表数据来源于一个主体站点或一个主物化视图站点,因此数据仓库中采用这种只读物化视图。另外,数据仓库在分析时一般需要扫描这些物化视图,需要建立与生产数据库不同的表和索引结构,如对表进行分区、建立数据分析需要的索引等。因此应该使用该同步软件中的分区初始同步和条件初始同步方式来建立合适的物化视图及索引。数据仓库数据同步流程如图4所示。

4结束语

从这次生产数据的及时准确同步到异地容灾和数据仓库的实施过程中,笔者通过摸索解决了同步过程中的性能问题,从而最终解决了Oracle高级复制技术同步的可行性,保证了同步的效率;在实施和维护的过程中,笔者还逐步发现了该技术本身存在的问题并注意加以解决,从而保证了同步的稳定性和准确性。从这次同步实施过程看,任何技术都存在缺陷,但是本文的探索和创意可以弥补这些缺陷。该系统对于很多企业在设计数据仓库和异地容灾系统中数据同步的方案时有一定的推广意义。

参考文献:

[1]王树鹏,云晓春,余翔湛,等.容灾的理论与关键技术分析[J].计算机工程与应用,2004,40(28):54-58.

[2]刘迎风,祁明.容灾技术及其应用[J].计算机应用研究,2002,19(6):7-10.

[3]杨朝红,宫云战,桑伟前,等.基于主从异步复制技术的容灾实时系统研究与实现[J].计算机研究与发展,2003,40(7):1104-1109.

[4]徐秀华,文必龙,毕硕本.Oracle9i高级复制技术及其应用[J].计算机应用研究,2003,20(11):107-109.

数据库设计篇2

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)软件运行和维护阶段。这是数据库设计的最后环节,主要是在软件开发的数据正式运行后,对其要不断调整和维护。

数据库设计篇3

关键词:DB2 性能 设计

中图分类号:TP39 文献标识码:A 文章编号:1007-3973 (2010) 03-048-02

任何性能调整都需要涉及的一些该程序的知识,关系型数据库系统也一样。事实上,越多地了解该系统,越能做出决定,提升系统的性能。虽然可以在数据库运行时对其性能进行优化,但如果能够在设计时就更注意系统性能的话,往往可以产生更好的结果。

1影响性能的因素

有一些方面的因素会影响到应用程序的整体性能。令人关注的一般方面的因素有:数据库设计、应用程序设计以及硬件设计和操作系统的使用等等。本文只讨论其中的数据库设计。

术语“数据库设计”可能对不同的人意味着不同的事情。主要有两种类型的数据模型:逻辑和物理。“逻辑”模式是一种表现形式,在性质上往往是一个业务领域的信息需求的图形表达,它不是一个数据库。其主要目的是确保其结构和内容可以表示和支持一个领域的业务需求。它是独立于任何数据库技术。

在完成你的逻辑数据库设计,有一些实际环境的问题你应该考虑,这些环境用来存储你的数据库和表。其中包括了解被创建的用来支持和管理你的数据库的文件,理解需要多少空间来存储数据,并确定应该如何使用表空间来存储你的数据。本文只涉及物理数据库设计方面。

2数据库设计细节

2.1表空间

一个表空间是一个物理存储对象,为数据库和存储在数据库中的表提供间接的一层。它由一系列用来存储数据对象的容器组成。容器是分配给表空间的存储空间。根据表空间类型,容器可以是一个目录,设备,或文件。数据,索引,长字段和表的LOB部分可以存储在相同的表空间,也可以分解成单独的表空间。

与数据库系统一起工作时,主要目标是尽可能地快速与高效存储和检索数据。在设计数据库或分析现有数据库性能问题时,一个重要的考虑是数据库本身的物理布局。DB2提供了两种类型的表空间支持:

(1)系统管理的空间(SMS)- 在操作系统文件中存储数据。它们是一般用途的最佳选择。能提供良好的性能和很小的管理成本。

(2)数据库管理空间(DMS)- 对于数据库管理空间(DMS)表空间,数据库管理器控制存储空间。一个设备或文件列表被选择属于当它定义的表空间。这些设备或文件的空间是由DB2数据库管理器来管理的。DMS表空间有一些额外的管理成本主要是由于监测和调整预分配文件的大小。DMS表空间可以很容易地通过改变现有容器或增加新容器来增加空间大小。

2.1.1建议

(1)DMS表空间通常表现比SMS更好,因为它们是预分配的,当新行添加时,不需要花时间扩展文件大小。DMS表空间可以是原始设备或文件系统文件。在原始设备容器DMS表空间提供最佳的性能,因为双缓冲不会发生。双缓冲,它发生在数据先缓冲在数据库管理层然后在文件系统层,对文件容器或者SMS表空间来说,可能是一项额外的成本。

(2)如果你使用SMS表空间,可以考虑使用db2empfa命令。db2empfa(启用多页文件分配)工具对数据库启用多页文件分配。随着SMS表空间的多页文件分配的启用,磁盘空间一次分配是一个扩展块(extent),而不是一个页面,提高了插入(INSERT)吞吐量。

(3)使用DMS表空间还允许一个单一的表来存储它的数据,索引和大型对象在最多三个不同的DMS表空间上,从而通过并行磁盘I/O操作来提高性能。并行I/O是在同时读取或写入两个或更多的I/O设备,以便减少响应时间的一个过程。

将数据放在不同的磁盘驱动器的不同的表空间,以使并行I/O操作成为可能,这是很重要的。其实,每个表空间可以有多个容器,其中每个容器可在不同的磁盘驱动器。理想的配置要考虑很多因素,如可用的磁盘数量,RAID级别,等等。

2.1.2平台的具体建议

Windows

实行文件系统缓存如下:

(1)对DMS文件容器(和所有SMS容器),操作系统可能会在文件系统缓存中缓存页面。

(2)对DMS设备容器表空间,操作系统不会在文件系统缓存中缓存页面。

(3)在Windows中,DB2注册表变量DB2NTNOCACHE用来指定DB2是否使用NOCACHE方式来打开数据库文件。如果DB2NTNOCACHE = ON时,不使用文件系统缓存。如果DB2NTNOCACHE = OFF时,操作系统缓存DB2文件。这适用于除含有长数据字段或LOBS的其它所有文件。清除系统缓存使得更多内存可以被数据库使用,以便缓冲池或排序堆可以增加。

2.2表

如前所述,在创建物理数据库表前,你应该为你的数据模型做一个逻辑设计。在此将简要讨论逻辑数据库设计对性能的影响。

2.2.1规范化

这是调整数据模型以至将数据关系减少到最简单的形式的一个过程。是在建设一个逻辑关系数据库设计任务的关键一步。规范化减少了数据冗余,可以提高更新和删除语句的性能,因为你不需要重复操作同一数据。通过规范数据,努力确保表中的所有列依赖于主键。一个完全规范化的数据结构的缺点是数据检索操作,特别是当查询是通过联合操作来访问在多个表中的数据块。

2.2.2非规范化

故意在多个表中重复某些列的后果是增加了数据冗余。为了减少性能问题,非规范化有时是必要的,在物理关系数据库设计时,也是关键的一步。有关是否非规范化,应该基于以下决定:

(1)不使用非规范化,你是否能使用和实现其它的方法去调整和改善你的数据库性能,以使其达到一个可以接收的地步。

(2)你是否能确定非规范化可获得的可能的性能,并且这些是否能够合理平衡增加的更新费用?

2.2.3其他考虑

(1)空值――一般情况下,列定义为非空(NOT NULL)表现优于可空列,因为路径长度减少了。数据库管理器不需要在非空列作空值检查。此外,每一个可空列需要一个额外的字节值。在适当情况下使用空值,而不是作为默认。

(2)列长度――你应该定义列长度,特别是VARCHAR列,尽可能让你的应用程序最小。通过这样节省空间,可能会减少表和索引页面的使用,以及索引层次,从而提高查询性能。 如果你为VARCHAR列创建一个索引,该列的所有索引项采取的定义是VARCHAR的最大长度,即使是列中的实际数据长度小于最大值。

(3)标识列 - 与程序实现的标识相比,使用DB2生成的的标识值能够显着地提升性能。它们通常用于生成唯一的主键值。

(4)将经常更新的列放在一起,置于行的末尾。这对更新性能有影响,因为以下的日志考虑:

1)对于固定长度行更新,DB2日志记录从第一个更新列到最后一个更新列。

2)对于可变长度行更新,DB2日志记录从第一个更新字节到行尾。如果一个可变长度列的长度变化了,这将导致行头(它包括行的长度)变化,因此整个行会被记录。

2.3缓冲池

缓冲池是一块内存区域,数据库页面在其中读、写和保留(held)。在任何系统中,内存访问速度都比磁盘I/O快,DB2使用数据库缓冲池设法减少磁盘I/O。

没有确定的答案来回答应该分配多少内存给缓冲池。一般来说,越多越好。一个好的经验法则是首先将大约你系统主存的75%用于缓冲池内存,但这一规则只适用专用的数据库服务器。既然是内存资源,它的使用,都必须考虑与所有其他应用程序和进程一起运行在服务器上。

如果您的表空间有多个页面,那么你应该为每一页只创造一个缓冲池。

有些情况下,定义同样大小的多个缓冲池可以提高性能,但是,如果配置不正确,可能对性能有巨大的负面影响。决定创建多个缓冲池,可以从以下几个方面来考虑:

(1)你创建的表使用的表空间的页面大小不是默认的4KB。

(2)你有些表经常和快速地被许多短的更新事务访问。为这些表设置专用缓冲池可以改善响应时间。

(3)你有些表比主存大,而且总是全表扫描,这可以设置它专用的缓冲池。

2.4日志记录

所有数据库系统的一个主要目的是在保持数据的完整性。所有数据库都维护日志文件以便记录数据库的变化。DB2的日志记录由一组主要和次要日志文件组成,它们包含了记录所有数据库更改的日志。该数据库日志用于回滚未提交的工作单元,并恢复数据库到一致状态。DB2提供了两种日志记录的策略。

2.4.1循环日志记录

这是默认的日志模式。循环日志记录,日志记录填充日志文件,然后覆盖最初的日志文件里的初始日志记录。被覆盖的日志记录是无法恢复的。这种记录类型通常是不适合生产应用程序。

2.4.2保留日志记录

当日志文件被日志记录填满时,日志文件被存档。新的日志文件又可用于日志记录。保留日志文件可以做到前滚恢复。前滚恢复基于记录在日志中的完全的工作单元(事务),重新将改变应用到数据库。你可以指定前滚恢复到日志末尾,或日志末尾之前的某个特定时间点。DB2永远不直接删除归档的日志文件,因此,维护它们是应用程序的责任,如:存档,清空等。

2.4.3日志性能

忽略数据库性能与日志记录之间的关系是一个重大的错误,主要是时间成本。日志文件的存放需要优化,不仅是因为写性能的考虑,而且关系到读性能,因为数据库管理器需要是数据库恢复时读取日志文件。

2.4.4建议

(1)用最快速的磁盘存放日志文件

如果可能的话,使用一个单独的阵列和/或通道

(2)使用日志保留记录

(3)镜像的日志文件

(4)增加数据库配置日志缓冲区参数(logbufsz)

此参数指定数据库堆大小作为日志记录的缓冲区,在日志写入磁盘前,会被先写到缓冲区。在以下几种情况,日志会被写到磁盘:

(1)按MINCOMMIT的配置参数定义,在事务或事务组提交时。

(2)日志缓冲区已满。

(3)其他一些内部数据库管理事件触发。

缓冲日志记录会使日志文件I/O更加高效,因为日志记录被写入到磁盘的频率减小了,以及一次会写入更多的日志。

(5)调整日志文件大小(logfilsiz)的数据库配置参数,以便不会造成过量的日志文件。

3结束语

数据库优化是一个系统工程,涉及的知识不仅仅是数据库方面,还包括应用软件、操作系统平台以及硬件等等。同时,系统设计也只是整个过程中的一个环节,后续还有应用、维护等等。本文选取了设计环节中的数据库设计进行了阐述,并没有非常全面地从整个过程和涉及面去考虑,在实际应用中,我们需要更加全面地去平衡各个方面。笔者也会在今后的课题研究中,去分析其它设计以及应用、维护方面对数据库性能的影响。

参考文献:

[1]牛新庄.循序渐进DB2――DBA系统管理、运维与应用案例[M]. 清华大学出版社,2009.

[2]牛新庄.DB2数据库性能调整和优化[M]. 清华大学出版社,2009.

[3]IBM:Relational Database Design and Performance Tuning for DB2 Database Servers.

[4]IBM:Administration Guide: Performance.

数据库设计篇4

【关键词】数据库 教学方法

目前,中职学校在数据库Visual FoxPro的教学过程中,总的教学方向是以使用工具(各种生成器)和掌握概念为主。

课堂教学重点之一是教法的设计,数据库Visual FoxPro教学也不例外。由于其课程内容和要求特点的要求,其教法的设计体现为以下特点。

演示法:在计算机中对教学内容进行演示操作。由于教学内容中要使用大量的设计器和生成器,必须在电脑中进行演示和操作方法的使用说明,具有直观性和便于学生掌握的特点。

比拟法:用现实生活中大家熟悉的事物,对问题进行说明,以达到加深印象、帮助理解的作用。如:介绍数据库的项目管理器时,可以把项目管理器和文件柜进行比较。项目管理器是文件、数据、文档和对象的集合,其中文件、数据、文档和对象等就是文件柜中的文件夹,数据中的数据库就是文件夹里面包含的文件。

在采用比拟法时应注意,两种事物在某一方面相似,其它方面则未必相似,不可将两者混为一谈。另外,所打比方一定要贴切恰当,否则易产生误导,宁可不用。

类比法:用学生已熟悉的某个问题与要说明的问题进行类比。在介绍数据表的表结构属性时,可以与学生所熟悉的Excel表格的表格关键字段进行类比。其字段名称、字段类型、字段长度与Excel表格类似。

递推法:用大家熟悉的一种事物的描述(或规则),推导出另一种事物的描述(或规则)。在数据库中,描述记录的子句选项包含[范围]、[FOR条件表达式],其中[范围]选项表示选择一个连续范围内的记录,而[FOR条件表达式]则是在[范围]选择出来的记录中进行记录的第二次选择。推而广之,如果一个命令要对数据库的记录进行操作,其命令格式中一般都包含有[范围]、[FOR条件表达式]子句。同理,描述结构的子句选项是[FIELDS字段名表],如果一个命令要对数据库的结构进行操作,其命令格式中一般都包含有[FIELDS字段名表]子句。

对比法:将两种相近的概念或操作方法加以对比区分,以加深理解,避免混淆。如:字段变量和内存变量是数据库中的两种常用变量,其使用方式可以作如下对比:字段变量和内存变量,是数据库中的两种常用变量,其共同点都是程序设计中使用的变量。即,其取值都是变化的。且其命名规则相同。字段变量的取值是在数据表中完成的,其取值的变化直接改变数据表中数据的变化;而内存变量的取值是在命令中完成的,其取值的变化与数据表无关,即不影响数据表中的数据。在使用中允许字段变量和内存变量名字相同,判断变量类型的方法是:当字段变量与内存变量名字相同时,字段变量优先。

综合法:在重新组织教材的基础上,分类讲解。在讲解数据表命令的基本操作时,重组教材后命令的分类为:

指针移动命令:相对定位命令go记录号;绝对定位命令skip移动次数;条件定位命令locate for条件表达式。

数据表结构命令:显示结构命令list|disp structure;修改结构命令modify structure。

数据库设计篇5

数据库作为信息管理工具,已然成为当今数据信息管理的重要管理平台。作为关系型数据库MySQL,由于其具有的开源性和跨平台性已经越来越多的被广大用户所使用。MySQL数据库可以实现多源化数据连接操作,包括网络连接、ODBC连接等,同时MySQL还提供优化查询系统,通过改系统查询操作可以提高查询效率和查询速度,从而提高用户对数据信息的处理过程。本文以高校科研管理的相关数据信息作为数据,通过建立科研立项信息表、管理机构信息表以及项目申请人信息表等多张表格,在MySQL数据库的信息管理平台上,进行相关表格中数据信息以及表与表之间的数据结构分析。

2、3NF范式

2.13NF概述

数据冗余是在数据处理方面需要解决的重要内容,数据冗余处理如何会直接影响最终数据处理结果。因此在设计数据库时候,特别是在关系型数据库的设计过程中,往往要提出不同规范即范式来规范数据操作,达到用户所需的要求。关系型数据库主要提供六种范式,但其中常用的是第三范式———3NF,其以第二范式为基础,消除函数间的依赖关系。在3NF中,数据结构遵循第二范式中提出的数据信息定位化原则,也就是说在数据规范化的过程中,采用第三范式进行数据规范时要以第二范式作为数据规范操作基础,然后将第二范式得到的数据关系模式采用数据投影方式将数据关系进行分解,从而得到3NF范式关系模式集合,完成第三范式的数据规范化操作过程,达到较好的数据冗余处理结果。

2.23NF定义

在数据库的研究过程中,针对计算机及其相关技术发展的不同阶段,所给出有关第三范式的定义也是各不相同。在研究3NF前先给出有关第三范式传递函数的定义。定义:如果XY,YZ,且YZ是非平凡函数依赖,但不成立YX和ZY,则称Z传递函数依赖于X,记作XYZ。通过定义可以看出,在X、Y和Z三者之间存在相互依赖关系,也就是说假如存在一个关系集合R(u)所构成的关系模式,其中关系X和关系Y之间存在着关系X决定关系Y,然后关系Y又决定关系Z,因此Y依赖与X,而Z依赖与Y。

2.3投影分解过程及其算法

第二范式虽然规范化了数据表格的操作,但在数据冗余消除、删除异常和插入异常等问题不能得到较好的解决,而第三范式却能较好解决上述问题的出现,因此对于第三范式在进行解决的过程中除了要依赖与第二范式外,还要采用投影分解方式来实现对数据表的分解过程,以达到第三范式对数据表的要求,具体投影分解步骤及其算法如下:(1)设关系集合R及其最小函数依赖关系集合Rmin;(2)求出R的最小函数依赖集Rmin;(3)如果R中的关系集合等于函数依赖集合Rmin,则说明关系集合R∈3NF范式,结束第三范式分解过程;如果在Rmin的属性集合中不存在,但在R属性集合中存在的属性关系,则将相应属性从R中删除,从而构成一个新关系模式集合,将过程转向(2);如果存在某个函数依赖关系,即Rmin中依赖与R的所有属性关系,关系集合R将不能分解;但如果Rmin中存在有X依赖与Y的关系,则分解之后的关系包中应该应包含{XY}的关系集合,若有XY1,XY2,XY3......XYn都属于Rmin中的关系集合,则分解之后的关系集合包应该包含{XY1,Y2,Y3......Yn}。通过上面对第三范式的投影分解算法及其步骤描述过程来看,当第(5)步中如果存在X不是非主属性,则Y对任意键值多存在函数传递依赖关系XYZ,因此关系集合R是3NF。否则不存在函数传递依赖关系,则不存在第三范式,需要进行上述步骤。

3、数据库结构设计

3.1数据表设计

数据表格的建立是完成数据信息存储和信息处理的重要过程,根据高校科研信息管理平台建设以及完成对数据信息处理需要,建立相关数据表,用户信息表、申请教师信息表、申请学院信息表等。通过对高校科研信息管理需求分析所得到的结果可以规划出有关数据表,本文以院系及专业为例进行第三范式的投影分解过程来进行第三范式的研究。在院系及专业方面所涉及到的数据主要是学院编号、学院名称、专业编号及专业名称等,因此得到的数据如表1所示。根据表1的描述可以看出,在该表中学院ID是作为该表中的主键,也就是说在该表中学院ID是完成该表数据索引的唯一键值,学院名称、专业ID和专业名只是作为非规范化数据信息,因此如果在完成数据信息插入、删除、修改等工作会出现数据信息操作错误,而在数据冗余方面也没达到较好的数据冗余处理,在使用该表来完成数据信息操作会出现较高的数据冗余,所以在用户管理上存在不便,同时在DBMS中的管理中也存在缺陷。

3.2数据结构操作

为了减少数据冗余和有关插入、删除等误操作,对表1进行数据规范化处理。根据第三范式———3NF定义及其算法的描述,对表1进行投影操作,完成对数据信息分解和分化,以达到数据表格简化,实现数据结构优化目的。在整个数据结构优化操作过程中主要采用3NF范式的投影过程,将表1完成结构化和规范化,方便数据处理和数据保存等过程。根据3NF范式的要求,得到表2和表3。表2主要作用是完成对申请教师所在学院信息的数据存储,根据高校科研管理信息平台设计的需要,将该表中的字段名collegeid设计为主键,是各个申请教师所在学院信息的区别表述。表3主要作用是完成申请教师专业信息存储和处理,在设计该表过程中需要将dptid设置为该表关键字,即专业的唯一性。同时,在该表中以collegeid作为外键以达到表2和表1之间的依赖关系,完成第三范式的投影操作过程。

4、结束语

数据库设计篇6

关键词:空间时态数据库;地形图更新;目标操作日志表;数据恢复

中图分类号: S611 文献标识码: A

1 空间时态数据库设计

1.1空间时态数据库的设计原则

传统GIS 是静态GIS,空间数据的组织考虑空间数据的语义信息和几何特征。空间时态数据库包括地理目标的空间信息和时间信息,笔者认为在空间时态数据库设计时应遵循以下原则:

(1)数据的完整性:包括空间信息、属性信息和时间信息的完整性。空间信息、属性信息的完整性是指一个地理目标的空间信息应该完整,不能有裂缝(如地形图接边造成)或属性项的缺漏以及属性项取值的不正确(如以目标的局部属性值代替目标整体属性值等)。时间信息的完整性是指应包括地理目标的即除包括地理目标的现状信息、历史信息以及保持这些信息的时间区间等所有时间版本信息;

(2)地理目标的可追溯性:可以追溯现状目标或历史目标的过去或未来的变化情况;

(3)地理目标增量的可知性:可以快速求出某两个不同时刻数据库地理目标增量;

(4)数据的现势性:可以快速将新增目标追加到现状数据库,发生版本变化目标更新到最新版本;非现状目标或目标版本存入历史数据库;

(5)语义、几何特征类型相同原则和生命周期相同原则:空间要素分层时,应将具有相同语义、几何特征及相近生命周期的空间要素分在一层。

1.2 空间时态数据库的设计方法

根据地形图空间时态数据特点和空间时态数据库的建库原则,作者提出以下地形图空间时态数据库的设计方法或步骤:

(1)设计现状数据集和历史数据集存放地形图的现状空间数据和历史空间数据。两个数据集存放的数据层或专题类型完全相同;

(2)设计现状数据集或历史数据集的图层或专题。现状数据集或历史数据集之图层或专题设计时应考虑以下因素:①要素的语义信息和几何特征:同一图层或专题要素的语义信息和几何特征基本相同。②要素的空间分布范围:同一图层或专题要素的空间分布范围相差不大。③要素的更新频率或生命周期:同一图层或专题要素的更新频率或生命周期大致相同。

基于以上考虑,现状数据集或历史数据集可以分为以下41 层:1 居民地面层,2 居民地附属建筑线层,3 居民地附属建筑点层,4 垣栅线层,5 工矿设施线层,6 工矿设施点层,7 农业及气象设施线层,8 农业及气象设施点层,9 公共设施线层,10 公共设施点层,11文物古迹、具有纪念意义的建筑物、宗教设施线层,12 文物古迹、具有纪念意义的建筑物、宗教设施点层,13 城墙与长城线层,14 铁路线层,15 铁路附属设施线层,16 铁路附属设施点层,17 道路中线层,18 道路面层,19 道路边线及桥涵线层,20 道路附属设施点层,21 电力线及附属物线层,22 电力线及附属物点层,23 电信线及附属物线层,24 电信线及附属物点层,25 管线及附属物线层,26 管线及附属物点层,27 水系面层,28 水系边线层,29 水利设施线层,30 水利设施点层,31 境界线层,32 等高线层,33 等高线点层,34 地貌及土质线层,35 地貌及土质点层,36 植被线层,37 植被面层,38 植被点层,39 测量控制点层,40 其他要素线层,41 其他要素点层。

(3)定义每个图层地理目标的数据结构

由于地形图图面的属性信息非常有限,因此每个地理目标的数据结构是点、线、面矢量数据结构外加分类代码和有限的属性项。另外考虑采用面向对象的方法,每个目标有唯一的目标标识。有的目标可能有版本变化,每个目标应有版本号。新增目标初始版本号为1,同一目标每变更一次,版本号加1。每个图层或专题地理目标的数据结构如表1 所示。

表1

(4)定义每个图层或专题增加目标以及删除目标日志表地理目标的数据结构中没有地理目标的时间信息,目标新增、删除或版本变更的时间信息存放到了增加目标和删除目标日志表(表2 和表3)中,这样做的好处是:地理目标的空间信息和时间信息进行了分解,空间分析时操作现状数据集或历史数据集,时间(时态)分析时操作增加目标和删除目标日志表。另外增加目标和删除目标日志表中还存有目6标增删的原因,可用于时态信息数据挖掘。

表2

表3

通过这两类日志表,还可以快速求出某个图层两个给定时间段间空间变化增量。

例1. 若t0 为当前状态,t1 为过去某个状态,求出t0至t1间指定专题空间变化的增量以及t1 时刻指定专题空间数据的状态。

(1)从表2 查出t1~t0 间增加的目标集合{added objects},从表3 查出t1~t0 间删除

的目标集合{deleted objects}。删除目标集合减去增加目标集合即t1~t0 间的空间变化增量δ1。

(2)当前状态现状库指定图层中删除集合{ added objects }中的元素,增加{deletedobjects}中的元素即t1 时刻指定专题空间数据的状态。

2 空间时态数据库的建立过程

地形图空间时态数据库的建设包括了地形图空间时态数据库的设计、建立与维护。地形图空间时态数据库的建立过程如图1 所示。

图1 地形图空间时态数据库的建立过程

3 空间时态数据采集与现状数据入库

城市大比例尺地形图空间时态数据的采集可采用内外业一体化数字测图方法、直接数字化已有地形图方法、编绘方法、高分辨率卫星遥感影像图像处理方法或直接数字化已有地形图方法。应用商业软件将采集的现状地形图空间时态数据导入地形图现状库中。

4 空间时态数据库的更新维护

4.1 寻找变化信息

寻找变化信息是通过现状与已有数据对比实现的。目前寻找变化信息的办法主要有两种:(1)外业巡视(2)航空、航天影像与现有数据比较寻找变化(3)竣工测量数据比照现有数据寻找竣工测量区域的数据变化。

4.2 采集变化信息

变化信息的采集方式主要有:手工采集、交互式采集和全自动采集。其目的都是得到变化的增量信息。

4.3 数据库的更新维护

城市大比例尺地形图空间时态数据库数据分层组织的,其更新维护也是分层进行的。由于各层数据组织的基本单位都是完整的点、线、面目标,目标的变更类型包括新增、删除、版本变化。更新时各图层的维护操作是一致的:首先寻找变更目标,找到变化目标后,判断变更目标属于两种基本动作的哪一种?(1)如果是目标新增则将所有新增目标信息录入7到现状库,并在新增目标日志中增加记录,描述新增目标的目标标识、版本号、增加日期和增加原因(2)如果是目标删除,将该删除目标从现状库剪切到历史库,并在删除目标日志中增加记录,描述删除目标的目标标识、版本号、删除日期和删除原因(下文是地形图空间时态数据库更新维护的具体实现过程)。数据更新时一般从现状数据库中按图幅提取修测范围的数据,数据库中所有要素有目标标识和版本标识,该标识在地形图更新时能被保留。对于只含在一个图幅内的要素如点状地物,可直接寻找变化进行数据更新;对于跨越多个图幅的要素如建筑物、道路等,应在数据接边形成完整目标后寻找并描述变化,然后进行数据库更新。

5 空间时态数据库的历史数据恢复与可视化

5.1 历史数据恢复

某一历史时期历史数据的恢复,需从历史库和现状库中分别进行提取合成。具体是:

(1)、分别从增加目标日志表和删除目标日志表中查出tHistory 至今增加的目标集合{added objects}和删除的目标集合{deleted objects}。

(2)、从现状库中删除集合{ added objects }中的元素,增加集合{deleted objects}中的元素即tHistory 时期现状数据库状态;从当前的历史数据库中删除{deleted objects}中的元素即tHistory 时期历史数据库状态。

5.2 空间时态数据的可视化

实现空间时态数据的可视化,首先需要同时加载现状库和历史库的数据层。然后分别对增加、删除目标日志表中增、删目标日期和按一定规则进行分级,给分处不同级别的要素配置不同的符号或不同色相或同一色相不同的饱和度。从而表现出现状数据生存的时间和历史数据距今的远近。

(1)设计一个房屋使用时间与颜色的对照表:如1 年20%灰、2 年40%灰、3 年60%灰、4年80%灰、5 年及以上黑;

(2)从增加目标日志表中找出距今1 年、2 年、3 年、4 年、5 年及以上的目标标识;

(3)从现状数据库中找出相应目标标识的目标并根据(1)可视化现状房屋要素。如图2是某新建小区各栋楼房使用时间的可视化图形,从图面效果来看,房屋使用时间越长,房8屋颜色越陈旧;

(4)设计一个房屋拆除时间与颜色的对照表:如1 年90%灰、2 年70%灰、3 年50%灰、4年30%灰、5 年及以上10%灰;

(5)从删除目标日志表中找出距今1 年、2 年、3 年、4 年、5 年及以上的目标标识;

(6)从历史数据库中找出相应目标标识的目标并根据(4)可视化拆除房屋要素。房屋拆除的年代愈久,房屋颜色愈淡,对现在的影响愈小。

参考文献

[1] 王育红,蒋捷.基础地理信息的客户更新服务问题.中国地理信息系统协会第八届年会论文集,北京,2004 年11 月:304-309.

数据库设计篇7

关键词:计算机软件;数据库;必要性原则

引言

数据库技术表示为依托于数据库的基础架构与存储方式进行数据库开发,结合有关理论与技术手段,完成对数据库中海量数据信息处理的过程,数据库的主要作用体现在可以确保系统稳定、有序的工作。同时可以更好地满足用户的使用需求,对数据库开发原则进行深入分析和探究,为软件设计奠定基础。在实际开展数据库开发时,围绕数据库互有特征进行分析工作,从而逐渐构建共有的数据实体,最后按照具体的应用环境来完成实体的转化。随着现代科学技术与计算机技术水平的不断提升,计算机软件设计中包含的元素与内容越来越多。数据库设计品质直接关系到计算机软件的运行效果,进而影响到用户的实际体验感受。为此,工作人员在进行数据库设计过程中,应当要充分认识到数据库开发的重要性,严格遵守数据库设计相关原则,提高计算机软件设计的科学合理性,更好发挥计算机软件数据库的应用价值。

1数据库开发的必要性原则

(1)缩小维修成本,强化资源利用率。工作人员在进行计算机软件设计时,数据库开发是极其重要的一部分,所以在进行数据库设计过程中,必须要从不同角度和层面来探究计算机设计中的重要影响因素,如软件的具体运用环境、开发人员的想法、开发人员的专业水平等,这些因素都会对数据库开发质量产生较大影响[1]。从软件功能开发的层面来审视,工作人员将自身的主要精力和时间用于软件功能设计与研究中时,而忽略了对计算机软件数据库的开发,没能够全面认识到开展数据库开发的意义,必然会导致开发的软件中有各种类型的安全漏洞,这样的软件在使用过程中不仅会产生许多不确定的问题,严重的还会造成计算机系统的错误。与此同时,一些计算机软件数据库开发过程中,设置的许多参数存在不合理、不科学的问题,无形之中造成了后期维护工作难度大,消耗更多的人力与物力资源,不利于提高资源的利用效率。所以,工作人员在进行计算机软件数据库开发时,必须要从思想上正视数据库设计,充分认识到数据库开发的必要性,防止产生更大的损失。(2)有助于提高计算机软件的运行效率。数据库设计品质的高低直接关系到计算机系统的运行质量,在开展数据库实际过程中,不仅要达到计算机软件的运行标准,同时也要和计算机系统本身有着较高的匹配度,从而确保计算机系统能够稳定、有序运行[2-4]。一个优秀的数据库设计,在接收到计算机发送的命令之后,能够在非常短的时间内准确检索到需要的信息资源,从而很好的提高计算机的运行速度。数据库中往往涵盖了海量的数据信息,良好的数据库能够帮助工作人员在较短的时间内查找到自身需要的数据资源,同时也可以在较短时间内完成数据信息资源的更新,甚至还能够将计算机系统中残留的无用数据进行删除,在不影响计电子技术第50卷第5期(总第534期)2021年5月107算机软件正常使用的前提下,进一步提高计算机软件的运行效率。(3)降低计算机软件产生问题的概率。当工作人员在进行数据库开发过程中,既没能够充分了解软件要实现的具体功能,也没能够科学合理的计算数据库的大小,因为数据库开发过程十分烦琐与复杂,很容易造成计算机软件系统在实际运行时统计功能不能够正常使用,由此产生计算问题。数据库在进行开发时,还应当要科学设计日志信息,这样避免使用者在后期使用时产生错误操作,也能够依照日志信息及时的更正,确保数据库功能能够正常使用。此外,数据库与计算机软件系统有着密切的联系,假如数据库开发过程不科学,极易对计算机软件运行产生很大影响。当数据库开发存在较多漏洞时,还会造成计算机软件部分功能不能够正常使用,为此,工作人员必须要充分重视数据库的开发与设计,更好发挥计算机软件的各项功能。

2计算机软件数据库设计原则

(1)设计准备阶段要进行细致规划。因为数据库在计算机软件运行中发挥了至关重要的作用,所以在进行数据库开发时,要能够十分周全的考虑到数据库要实现的功能,规划足够的时间用于数据库开发,保障完成的数据库能够符合计算机软件的应用需求[4-11]。①在开发准备阶段,要全面掌握用户的具体需求,这是数据库设计工作开展的根本,要确保软件开发的业务应用需求,更好的发挥软件的应用价值;②在软件开发过程中,不可以仅从自身的角度来看问题,要加强与用户的信息交流,当用户提出疑问时,要及时给出解答,并调整相关设计细节。与此同时,还可以将数据库开发工作进行分解,确保每一个开发环节均能够符合用户的使用需求。(2)与软件开发计划保持一致。在进行计算机软件数据库开发时,还应当要从整体层面来审视计算机软件,对各个环节要实现的具体功能进行探究,保证数据库开发与计算机软件开发保持一致。在进行计算机软件开发过程中,应当要保证设计的各个表与字段在实际运用中都能够发挥作用。同时,在数据库开发时还需要全面了解开发用途,保证数据库的开发和软件部分功能相对应,确保设计完成的数据库与各个软件功能之间有着紧密的联系。在开展数据库开发工作时,需要和表产生相应的联系,使得数据库和应用程序具有良好的统一性,最后要注重软件整体设计与局部设计的关联性,充分发挥数据库在软件运用中的作用。(3)特别关注计算机软件功能使用效率。数据库开发涵盖了许许多多的内容,在实际开发过程中要科学评估每个数据库功能所占的比例,从而科学规划存储空间,强化数据计算水平,进一步提升计算机软件运行效率。在开发过程中,为了有效识别出容量占用较大的表,将粗粒度设计方法应用到设计中,科学规划数据量较大的表。计算机软件在长期使用过程中,部分字段会产生冗余现象,导致数据可用存储空间降低,进而导致数据库存储资源浪费,为了解决这样的问题,可用使用小而弱的表用于大数据量的存储,以此来降低冗余。

数据库设计篇8

关键词:园林设计树种;数据库建设;重要性;运用

收稿日期:2011-05-09

作者简介:尹秀华(1975―),女,山东莱州人,助理工程师,主要从事园林绿化工作。

中图分类号:TU986.3

文献标识码:A

文章编号:1674-9944(2011)06-0141-03

1 园林设计树种数据库建设的重要性

树种的丰富性和多样性在一地园林绿化中的作用至关重要。东营市多年来一直注重树种的引进和栽培。立足本地实际,通过充分考察分析绿化树种生长习性、应用特色,结合本地气候、土壤等条件,筛选引进了大量外地优良树种。

一个优秀的园林景观设计,应做到因地制宜,科学布局。这就要求设计人员灵活配置运用不同树种、草种、花卉,充分考虑四季景色变化和绿化植物的观型、赏色、生态习性及对太阳光照的需求强度,根据绿地性质选择适宜树种,以实现经济效益、生态效益和社会效益的最佳契合点。建立一个完整的树种管理系统,实现绿化树种信息管理的系统化、自动化和规范化,提供便捷的浏览、查询、统计功能,对于树种信息资源的永久性保存,提高树种信息资源的利用率和科研人员、设计人员工作效率,具有十分重要意义。

2 园林设计树种数据库设计分析

2.1 树种信息采集和准备

通过实地调研考察采集,查阅文献、工具书和网络搜索,收集了包括图片、特性在内的详尽的相关树种信息,并通过整理、校验,把分散的信息综合,分类,形成了较完备的信息资料。

2.2 结构设计

本数据库收录东营市所有设计用绿化树种、草种、花卉名录及其特性。采用数据库软件ACCESS2003研建,是面向对象(object)的采用事件驱动的关系型数据库系统,即是由若干个数据库表及表与表之间的关系、查询、窗体、页等对象组成的一个数据集合。

2.2.1 数据库表

数据库表是本系统存储数据的基本对象,包括植物基本信息表和以果实类型、生态习性、花色、花期、果期、园林应用、识别特征、适生地区、树种图片等命名的数据库表。其中基本信息表由树种编号、树种名称、拉丁学名、别名、属、种等字段组成,园林应用表由树种编号、树种名称、绿化功能类别、观赏类别和园林应用等字段组成。其余各数据库表分别由树种编号、树种名称及与该表名一致的字段名3个字段组成。在创建表时,将各个表的树种编号设置为主键,即表中所存储的每一条记录的唯一标识。

2.2.2 表间关系

数据库中的各个数据库表既依附于数据库系统,展现着与树种信息有关的主题,又相对独立。单个数据库表信息有限,本系统的优点是可以建立表间关系。一旦建立表间关系,可以在一个表中浏览其它表的数据,也可以反映植物各特性间比较复杂的关系。

在本数据库中完成数据表字段设计后,就需要建立各表之间的表关系。以“树种编号”为纽带分别为每一数据库表与其余各数据库表建立表间关系。这里需要注意的是,在编辑关系对话框中,必须选中“实施参照完整性”复选框,以保证其余表中的“树种编号”都是在树种基本信息表中的“树种编号”。

2.2.3 查询

建立数据库的目的之一就是满足用户以一种快捷的方式查询有关数据的要求。使用系统提供的查询设计器,允许用户通过直观的操作建立查询,从指定的一个或多个数据库表中快速地筛选出用户需要的记录。查询包括选择查询、参数查询、交叉表查询、操作查询和结构化查询语言(SQL)查询。这里只介绍本系统设计中用到的选择查询和参数查询。

(1)选择查询。使用查询设计器,首先选择想从中筛选记录的数据库表,然后通过直观的操作,添加查询目标字段,指定查询条件,最后运行查询结果。例如要查询果期为9~11月份的所有树种名称及果实类型。这是一个多字段组合查询。将数据库表果期和果实类型添加到查询设计器中,将果期、树种名称(注:此处表示“果期”表中的“树种名称”字段,下同),果期、果期和果实类型、果实类型字段添加到查询设计表格中,在果期字段的“条件”一栏中设定查询规则为9~11月份,在“查询”菜单中点击“运行”即可看到查询结果。

(2)参数查询。参数查询是在执行时显示对话框以提示用户输入信息的查询。以本系统中的“按园林应用查询”为例介绍参数查询的建立和运行。

在查询设计器中,把树种基本信息表中的全部字段和园林应用表中的“绿化功能”字段及“观赏类别”字段添加到查询设计表格中。然后在“绿化功能”和“观赏类别”字段的条件栏中,分别输入一个带方括号的文本“[请输入绿化功能:]”和“[请输入观赏类别]”,用作参数查询的提示信息。当运行该查询时,就会弹出[请输入绿化功能:]对话框,输入绿化功能如风景树,则会弹出另一对话框[请输入观赏类别:],输入观赏类别如观形类,则显示所有绿化功能为风景树的观形类树种基本信息。

(3)查询设计。根据设计目标,本系统建立的查询包括树种基本信息查询,提取了“基本信息表”中的所有字段及“树种图片”中的树种图片字段。风景树查询,行道树查询,庭荫树查询,花灌木查询,绿篱树查询,藤本查询;地被树查询,从几个相关数据库表中提取了生态习性,识别特征,适生地区字段和树种基本信息表中的全部字段,并按照“园林应用”表中“绿化功能”字段分类显示各类树种的全部数据。按树种名称查询,按园林应用查询,按花色查询,按花期查询属于参数查询。

到这里已经建立起了数据库后端的数据库表、查询等重要对象,而直接与用户接触的是前端对象窗体。这里建立的查询将用作窗体的记录源。

2.2.4 窗体

窗体是直接和用户进行交互的数据库对象。用户包括创建者以外的终端用户可以通过它查看和访问数据库。窗体是从一个或者几个基础表或查询中导出的表。

本系统中,根据设计目标,建立了一系列应用窗体和“欢迎界面”窗体及实现功能导航的“主切换面板”窗体。应用窗体分别从上述建立的几个查询中导出,即通过窗体将上面的查询显示出来。“主切换面板”窗体是整个系统的入口,通过各种控件及宏,系统中的各个功能模块在该导航窗体中都建立链接。

此外,还建立了一个以数据库表果期表和果实类型表为源表的带有子窗体的应用窗体“果期及果实类型查询”。举例说明创建过程,在数据库窗口的新建窗体向导中,添加源表果期和果实类型表中的全部字段,点下一步,选择“带有子窗体的窗体”的数据查看方式,接着选择布局及样式,就建立了一个“果期及果实类型查询”窗体。

这里我们为每个应用窗体添加了“添加新记录”、“删除记录”、“打印记录”、“打印当前窗体”、“打印窗体”等命令按钮。

2.2.5 宏

宏是另一重要的数据库对象。宏使其它数据库对象彼此相互驱动,有机地组合起来。

在建立窗体的过程中,所用到的控件中就提供了一些基本的操作宏,但是,如果想要执行特殊的操作就必须亲自创建宏。如本系统中我们可以通过建立一个AutoExec宏自动启动“欢迎界面”窗体。新建宏的设计网格中,在“窗体名称”栏下拉列表中选择“欢迎界面”,在“视图”、“数据模式”、“窗口模式” 栏中分别设置选项为“视图”、“增加”和“对话框”,保存该宏为AutoExec。当重新启动数据库时,就可以自动运行“欢迎界面”窗体。

2.2.6 页

把数据库系统到网页上,供组织内多个用户共享,是我们研建园林设计树种信息数据库的重要目的之一。本系统提供Web向导功能。。

例如,要建立一个“树种基本信息”的数据访问页。选择数据库对象“页”下的“使用向导创建数据访问页”,在第一个对话框中选择数据来源字段,选取树种基本信息表中的所有字段,点“下一步”后,用户在下面的向导对话框中对数据字段分组、排序等设置后,单击“完成”按钮结束创建,就会出现“树种基本信息”的数据访问页。

3 数据库的功能及应用

3.1 数据维护功能

具有数据的存储、添加、修改和删除功能。本系统界面友好,操作灵活方便,组织内不同层次的用户根据自己的权限,可以对表中记录进行添加、删除和修改等操作。

3.2 查询功能

通过本系统,组织内用户可在网上浏览、查询与树种有关的各种信息。打开“园林设计树种数据库.mdb”,系统自动弹出欢迎界面,点击进入下一屏,进入“主切换面板”窗体。在“主切换面板”窗体上,有树种基本信息查询、风景树查询、行道树查询、庭荫树查询、花灌木查询、绿篱树查询、藤本查询、地被树查询、按树种名称查询、按园林应用查询、按花色查询、按花期查询、果期及果实类型查询,退出该系统等功能模块,当用户单击该窗体中的功能模块按钮时,即可进入相应的功能模块。

应用“按园林应用查询”模块,用户可以分类查看观形类风景树、观叶类风景树、观花类风景树、观果类风景树、竹类风景树、棕榈类风景树、常绿类行道树、落叶类行道树、常绿类庭荫树、落叶类庭荫树、观叶类花灌木、观花类花灌木、观果类花灌木、常绿类绿篱树、落叶类绿篱树、常绿类藤本和落叶类藤本、常绿类地被树、落叶类地被树的基本信息。

3.3 打印输出功能

本系统为有户提供各应用窗体和记录的打印。

3.4 系统维护功能

园林设计树种数据库的维护包括,对数据的安全性,完整性、校正性维护。数据库系统维护人员DBA(Data Base Administrator)在数据库运行期间的主要任务包括:监督和控制数据库的使用和运行,对系统的基础库进行维护,对系统的权限组进行管理,按需求对数据库进行模式修改,改进和重组数据库系统,数据的备份与恢复和文件管理等。

4 结语

数字化网络化时代,随着办公自动化(OA)的发展,计算机及数据库技术的应用领域越来越广泛。本系统根据在园林总体规划及景观设计中提出的较为详细可行的需求,利用数据库系统为东营市园林设计树种资源建立电子档案,向用户快速、准确地提供所需信息,以最大限度地发挥树种信息资源的利用价值。

参考文献:

数据库设计篇9

校园网二级网站一般是学校职能部门、二级学院的网站,通过调研,得到学院二级网站建设需求。二级网站系统,是一个集前台展示和后台管理为一体的功能强大的网站系统。前台有简介功能、新闻功能、图片展示功能、下载文件功能、链接功能、站点地图功能等。后台有基本设置、栏目管理、内容管理、链接管理、模板管理、数据块管理、数据库管理、管理员管理等功能。只要用户登录进后台,即可对前台的信息进行管理。

1 数据库需求分析

依据校园网二级网站系统需求,完成其设计的功能,需要如下数据表:

xinxi_about表:栏目内容信息表。

xinxi_admin表:管理员信息表。

xinxi_block表:数据块内容信息表。

xinxi_download表:下载条目信息表。

xinxi_friendlink表:友情链接信息表。

xinxi_menu表:菜单关联信息表。

xinxi_message表:新闻条目信息表。

xinxi_product表:图片热点信息表。

xinxi_server表:在线客服信息表。

xinxi_skin表:皮肤模板信息表。

2 数据库概念结构设计

概念模型是对于信息世界的建模,是现实世界到信息世界的抽象,是数据库设计人员和用户之间进行交流的语言。它具有简洁明晰、易于理解和修改、便于向各种数据模型转换,从而生成相应的逻辑模式。概念设计的目的是要确定系统的概念模型,概念设计是数据库设计的关键。

系统中,实体有栏目、管理员、数据块、下载条目、友情链接、新闻条目、图片条目、客服、皮肤模板、菜单关联。

栏目的属性有栏目名称、栏目内容、栏目内容关键字、栏目内容描述、栏目语言类型、栏目排序值。

管理员的属性有管理员用户名、管理员密码、管理员昵称、管理员性别类型、管理员手机号、管理员邮箱、管理员QQ号、管理员登录IP、管理员描述标签、管理员最近一次注销时间。

数据块的属性有数据块标题、数据块语言类型、数据块内容。

下载条目的属性有下载条目标题、下载条目关键字、下载条目文件描述、下载条目语言类型、下载条目文件地址、下载条目文件大小、下载条目添加时间、下载条目更新时间、下载条目点击值、下载条目排序值。

友情链接的属性有友情链接标题、友情链接地址、友情链接状态、友情链接关键字、友情链接添加时间、友情链接更新时间、友情链接排序值。

新闻条目的属性有新闻条目标题、新闻条目内容、新闻条目状态、新闻条目二级栏目、新闻条目三级栏目、新闻条目关键字、新闻条目添加时间、新闻条目更新时间、新闻条目点击值、新闻条目排序值。

客服的属性有服务名称、客服语言类型、客服QQ号、客服状态、客服排序值。

皮肤模板的属性有皮肤模板名称、皮肤模板文件夹名、皮肤模板描述。

3 数据库逻辑结构设计

MYSQL是关系型数据库,所以进行数据库逻辑结构设计时,应将每个属性的E-R图转换成关系模型。一个实体型转换成一个关系模式实体的属性就是关系的属性,实体的码就是关系的码。所有的联系均是1:m型联系。一个1:m型联系可以转换为一个独立的的关系模式,也可以与m端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为该关系的属性,而关系的码为m端实体的码。各关系模式如下所示:

栏目(ID,栏目名称、栏目内容、栏目内容关键字、栏目内容描述、栏目语言类型、栏目排序值)。

管理员(ID,管理员用户名、管理员密码、管理员昵称、管理员性别类型、管理员手机号、管理员邮箱、管理员QQ号、管理员登录IP、管理员描述标签、管理员最近一次注销时间)。

数据块(ID,数据块标题、数据块语言类型、数据块内容)。

下载条目(ID,下载条目标题、下载条目关键字、下载条目文件描述、下载条目语言类型、下载条目文件地址、下载条目文件大小、下载条目添加时间、下载条目更新时间、下载条目点击值、下载条目排序值)。

友情链接(ID,友情链接标题、友情链接地址、友情链接状态、友情链接关键字、友情链接添加时间、友情链接更新时间、友情链接排序值)。

新闻条目(ID,新闻条目标题、新闻条目内容、新闻条目状态、新闻条目二级栏目、新闻条目三级栏目、新闻条目关键字、新闻条目添加时间、新闻条目更新时间、新闻条目点击值、新闻条目排序值)。

客服(ID,服务名称、客服语言类型、客服QQ号、客服状态、客服排序值)。

皮肤模板(ID,皮肤模板名称、皮肤模板文件夹名、皮肤模板描述)。

4 结束语

校园网二级网站建设中,调研后对需求全面掌握十分重要。通过调研,需求分析,设计各个模块,然后才能合理设计数据库,满足学院各项工作需求。数据库设计合理,E-R图逻辑正确,数据库结构完整,才能够有效建设网站,提高网站性能。通过调研,分析,本文对二级网站各个模块数据库做出了全面设计,完成了校园网二级网站的设计与实现的重要部分。

参考文献

[1]那勇.浅谈数据库设计在网站开发中的应用[J].吉林广播电视大学学报,2015(3):93-94.

数据库设计篇10

【 关键词 】 数据库;敏感数据;安全加密系统;设计

Database “Sensitive” Data Encryption System Design Research

Huang Nan

(Xinxiang Institute HenanXinxiang 453000 )

【 Abstract 】 This paper briefly expounds the data encryption technology, and then from the database " sensitive " data encryption system structure, function module and data encryption module design and the realization of three aspects of " sensitive " data security database encryption system design of related studies.

【 Keywords 】 sensitive data; database; security system; design

0 引言

随着社会科技的不断发展与进步,互联网得到了飞速发展,计算机技术也得到了广泛的应用,但另一方面信息的安全问题却日益突出,信息安全技术应运而生并得到了极大的发展。信息安全技术的核心是数据加密技术,它不仅能够加解密数据,而且还能够鉴别、认证数字签名等,从而使在网络上传输的数据的完整性、确认性及机密性得到了切实的保证。本文将DES算法和RSA算法的优点结合起来,将一个数据加密系统设计了出来,同时将Java安全软件包充分利用起来,实现了数字签名。

1 数据加密技术

1.1 私钥加密体制

私钥加密体制指在加密和解密时所使用的密钥是相同的,由两种类型,分别是分组密码和序列密码。分组密码对明文进行分组的依据是其固定的长度,用同一个密钥加密每一个分组,从而促进等长的密文分组的产生。序列密码又称流密码,因为它将明文数据一次加密一个字节或比特。和序列密码相比,分组密码使用于软件实现,并且具有较快的加密速度,因此在人们的日常工作和生活中得到了极为广泛的运用。

1.2 公钥加密体制

1976年,W.Diffie和Hellman最早提出了公钥体制,利用两个不同的密钥分开加密和解密的能力是该体制最大的特点。公开密钥在加密信息中得到了应用,而使人密钥则在解密信息中得到了应用。通信双方可以直接进行保密通信,而不需要事先交换密钥。同时,在计算机上也不能实现从公开的公钥或密文中将明文或密钥分析出来。

2 数据库“敏感”数据安全加密系统设计

2.1 数据库“敏感”数据安全加密系统的体系结构

该加密系统是在目前较为成熟的仿真网络体系结构HLA的基础上发展起来的,由两部分组成,分别是CA服务器端和客户端。在联邦成员中嵌入加密客户端,可以对各联邦成员之间的“敏感”数据进行加密,CA服务器则可以生成、分发及管理密钥。联邦成员和CA服务器之间及各个联邦成员之间进行通讯的途径是HLA-RTI接口。加密系统体系结构如图1所示。

2.2 数据库“敏感”数据安全加密系统的功能模块

CA服务器端与加密客户端组成了加密系统的功能模块。其中,CA服务器端的主要功能是认证客户端的身份、生成、存储并分发RSA密钥等。密钥是在用户口令字和大数分解理论的基础上生成的,每次有一对密钥(公钥和私钥)产生,用于对会话密钥进行加密和数字签名,也就是对称加密算法AES或DES、 3DES算法的密钥;将生成的密钥对和申请者的用户名联系起来,促进一个关联目录的生成,以方便客户端查找即是密钥的存储;依据客户端的请求信息,在关联目录中将与之相匹配的信息查找出来,如果找到的话,就把密钥向请求的客户端发送即是密钥的分发。

加密客户端的主要功能是完成对文件的加密和解密、传输实时数据的加密和解密密文、管理和传输对称加密算法的密钥及和CA服务器交互等。其中,对称加密算法AES或DES、 3DES及混沌序列加密算法的密钥均在密钥生成模块生成;密钥的加密传输模块主要是使会话密钥的安全得到切实的保障,也就是说,用公钥密码算法RSA的公钥对会话密钥进行加密,然后一起传输加密后的密钥和密文,在解密端,为了得到会话密钥,可以使用TSA的私钥来进行解密;实时数据的加密和解密模块的基础是混沌特性,在加密或解密实时数据时利用混沌序列密码算法。加密系统的功能模块划分如图2所示。

2.3 数据加密模块的设计与实现

混合加密体制是数据加密系统所使用的,它将对称密码算法具有的较快的贾母速度、较高的加密强度、较高效的加解密大量数据等能力进行了充分的运用;公钥密码算法具有较高的加密强度,密钥便于管理。为了弥补传统密码算法中不便于传递密钥的缺点,可以加密明文的密钥。将二者结合起来,可以实现数据传输的安全性。

2.3.1 3DES算法的设计与实现

目前,虽然DES具有较为广泛的应用范围,并且人们可以很方便地从公开渠道获取,但是因为DES只有56位的密钥长度,易于攻击,其加密强度已经远远不能满足现代安全的需要,因此可以将两个56位的密钥混合起来使用来完成加解密,这样密钥就达到了112位的长度,从而大大增强了加密强度,这就是3DES。3DES的算法原理如图3所示。

图3中密钥K1、K2是随机产生的。

三重DES算法的实现主要包括DES类和THREE类两个类。其中DES类的主要函数是public static byte [] encrypt(byte [] oword64 , int [] [] iSubKeys ) // 加密;public static byte [] decrypt (byte [] bCipher-text , int [] [] SubKeys ) // 解密。THREE类的主要函数是public static byte [] encrypt(byte [] oword , int [] [] SubKeys1 , int [] [] SubKeys2 ) // 解密;public static byte [] decrypt (byte [] sword , int [] [] SubKeys1, int [] [] SubKeys2) // 加密,返回明文。

2.3.2 RSA算法的设计与实现

大数分解是RSA的安全性赖以存在的基础。公钥和私钥都是两个大素数的函数。RSA算法的实现主要包括三个部分,即生成密钥、加密数据和解密数据。在变量的定义方面,在对p、q、n、e、d、t进行定义时,利用Java中的大数BigInterger();在密钥的生成方面,利用public boolean generatePQNTED(Stringe);在加密数据方面,利用public String Encrypt (String msg 、BigInteger pbkey 、BigIntiger n ) ,在加密的过程中,在对所要加密的字节数组进行分组时,可以利用转换函数copyBytes();在解密数据的过程中,利用之前产生的公钥n与私钥d。把所要解密的数据与公钥n与私钥d作为参数向加密函数public String Decrypt (String msg , BigInteger prikey , BigInteger n ) 传递。

RSA只有在大数运算的基础上才能实现,只有这样才能执行大量的大数加减乘除和模逆、模幂运算。这就导致相对于其他特别是对称密钥算法来说,RSA的实现效率十分低下。本文设计的系统中生成的DES密钥用RSA替代的原因也就是这种速度上的差异。

本文设计的数据库“敏感”数据安全加密系统,将数据的加密技术和签名技术综合了起来,一方面解决了密钥的管理问题,另一方面也使数据的不可否认性及完整性得到了切实的保障,同时也将该系统网络通信的程序设计和界面设计方法提供了出来。本系统将集中主要的加密算法进行了具体的分类,使代码的高效性、可扩展性等得到了有效地增强,有利于以后的再次开发。

参考文献

[1]胡向东,魏琴芳.应用密码学[M].北京:电子工业出版社.2006.

[2]贺雪晨,陈林玲,赵琰.信息对抗与网络安全[M].北京:清华大学出版社.2006.

[3]褚雄,王子敬,王勇.一种基于FPGA的DES加密算法实现[J].江南大学学报(自然科学版),2006,15(6):661—664.

[4]朱作付,徐超,葛红美.基于DES和RSA算法的数据加密传输系统设计[J].通信技术,2010,43(4).

[5]Compag,HewIett-Packard,InteI,Lucent,Microsoft,NEC,PhiIips.UniversaI Bus Specification(Revision 2. 0)[M]. InteI,2000.

[6] Teo Pock Chueng,et al. Implementation of Pipelined Data Encryption

Standard(DES)Using Altera CPLD[J]. IEEE,2OOO,O-78O3-6355-8:III-l7- III-2l.