时间:2022-09-11 07:17:18
导言:作为写作爱好者,不可错过为您精心挑选的10篇数据库设计,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
1 背景分析
目前,产品化的数据库管理系统是以关系型数据库为主流,技术相对成熟。面向对象的数据库管理系统尽管技术上处于先进,数据库易于研发、维护,但至今为止,还没有成熟的产品。占主导位置的关系型数据库管理系统包括ORACLE、SYBASE、SQL Server、INFORMIX与INGRES,这些产品都支持UNIX、VMS、WINDOWS等不同平台,但支持的程度不一样。
通常系统的设计与研发阶段,设计人员、研发人员与测试人员仅会把工作重点放在系统的功能实现上,而此时因为测试数据较小,难以衡量系统的运行性能的优劣,然而如果系统进入实际运行阶段,大量的业务数据通常会使系统的性能逐步降低,此时再来考虑怎样提升性能则会花费更多的人力及财力。所以,设计出高质量的数据库结构就变得特别关键。
2 数据库服务器选择
对于占主导位置的SQL Server、Oracle、SYBASE、DB2和INFORMIX数据库,分别从性能、运用风险、开放性、易维护性与价格等方面来分析比较。
2.1 性能
SQL Server老版本服务器多用户时性能较差,新版本的性能有了显著的提升,各项处理能力都有了显著的提升,占有数项TPC-C(事务处理性能委员会)纪录,并支持集群。Oracle数据库性能最佳,占有Windows NT平台下的TPC-D(基准测试,衡量联机事务处理系统的一个测试指标)及TPC-C的世界纪录。SYBASE数据库性能较好,满足Sun、IBM、HP、Compaq及Veritas集群设施的性能,达到高可用性;性能比SQL Server稍差,然而在UNIX平台下的并发性要高于SQL Server,适用于安全性要求较高的应用系统。DB2适合于数据仓库与在线事务处理,性能较好,支持胖客户端和应用模式。INFORMIX性能较好,支持集群,达到高可用性,适用于安全性要求极高的应用系统,特别是在金融业、证券行业的应用。
2.2 运用风险
SQL Server属于完全重写的代码,性能及版本兼容性有了较大的改善,同Oracle、DB2的性能差距显著减小。该产品的产生经历了大量用户长期的测试,对产品的安全及稳定进行了全面的检测,安全稳定性有了显著的改善。Oracle长时期的研发经验,完全向下版本兼容,基本没有风险。能够安全的进行系列产品的升级,在企业、政府中获得普遍应用。而且假如在WINNT平台上不能满足数据的要求,能够安全的将数据转移到UNIX平台上来。SYBASE向下版本兼容,然而ct-library程序不易移植。研发周期较长,升级较为复杂,稳定性较佳,数据安全有保障,风险较小。在安全要求极高的金融、证券领域获得了普遍应用。DB2在巨型企业获得普遍的应用,向下版本兼容性较好,应用风险较小。INFORMIX研发周期较长,升级较为复杂,稳定性较佳,数据安全有较高保障,应用风险较小。在安全要求极高的金融、证券领域中获得了普遍应用。
2.3 开放性
SQL Server仅能在Windows平台上部署、运行,C/S结构,操作系统的稳定对数据库是非常关键的。仅支持Windows平台,能够用ADO、DAO、OLEDB、ODBC、JDBC等网络数据库连接技术沟通。Windows平台的可靠性和安全性通过了最高级别的C2认证,在处理大数据量的重要业务时具备较好的性能。Oracle能在所有主流平台上部署、运行(包含 Windows),完全支持目前所有的工业标准。利用完全开放策略,可以进行多层次网络计算,对多种工业规范提供支持,能够用ODBC、JDBC、OCI等网络数据库连接技术沟通。能够使客户选用最适合的解决方案,对开发商完全支持。SYBASE能在所有主流平台上部署、运行,C/S结构,能够用ODBC、JDBC、Jconnect、Ct-library等网络数据库连接技术沟通,在金融业中获得了普遍的应用。但因为早期Sybase同OS集成度不高,所以VERSION11.9.2以下版本需要较多OS及DB级补丁,在多平台的混合环境下会产生一定问题。DB2能在所有主流平台上部署、运行(包含windows)。有较佳的开放性,最适于海量数据。支持跨平台能力和多层结构,支持ODBC、JDBC等类型应用系统,在大型的国际企业中获得最为普遍的应用。IINFORMIX仅运行于UNIX平台,包括SUNOS(Sun的操作系统最初称呼)和HPUX(Hewlett C Packard UNIX的缩写,属于惠普公司的UNIX操作系统),在金融业获得普遍的应用。
2.4 易维护性与价格
SQL Server从易维护性与价格上SQL Server占有较大优势。基于Microsoft产品的一贯风格,SQL Server的图形管理界面导致了显著的易用性,微软的数据库管理员培训工作相对充分,能够轻松的找到技术较好的数据库管理员,数据库管理费用相对低,SQL Server的价格也是较低的。Oracle从易维护性与价格体来说,Oracle的价格是相对高的,管理相对复杂,因为Oracle的应用相当普遍,经验丰富的Oracle数据库管理员能够相对容易的找到,因而实现Oracle的良好管理。所以,Oracle的性价比在商用数据库中是最佳的。SYBASE的价格是相对低的,然而SYBASE的在企业及政府中的应用较少,较难找到经验丰富的管理员,运行管理费用偏高。DB2价格较高,管理员较少,在中国的应用相对少,只在金融业获得一定应用,运行管理费用都非常高,比较适用于大型企业的数据仓库应用。INFORMIX价格在这些数据库服务器中居于中间,同SYBASE类似,在企业及政府中应用相对较少,只在金融业获得了普遍的应用。经验丰富的管理人员偏少,运行管理费用偏高。
3 数据库设计
数据库结构设计在该数据库管理系统研发过程中占据非常关键的地位,下面从数据库设计原则、数据库设计方法与步骤、逻辑数据模型设计等三方面简述该数据库管理系统数据库设计。
3.1 数据库设计原则
该数据库管理系统的数据库参照以下设计原则:
(1)数据库设计要达到标准化与规范化。数据结构的标准化与数据关系的规范化有助于消除冗余数据。
(2)表中数据类型的合理化。合理的数据类型有助于提升该数据库管理系统数据库的运行性能。
(3)数据表命名的规范化。每个关系型数据库对数据表的命名都有一定要求,在对数据表命名时利用大小写敏感的形式,而且数据表命名长度不应过长,这样能够使该数据库管理系统可以应用在多个不同的数据库平台。
(4)数据库性能的完善。在运行环境已经固定的因素下,数据库的性能成为影响该人事数据库管理系统运行性能的主要条件。可以利用两个步骤开展数据库设计:先是进行逻辑设计,而后进行物理设计。逻辑设计要求消除所有的冗余字段,可以完整地说明数据库表之间的关系。然而对于多表之间关联的查询,去除所有冗余会损耗系统性能,也会增大系统研发难度。因此,找到一个平衡点成为数据库设计的关键,在物理设计中开发人员要分析关联数据表的数据量大小与访问频率,并对数据表中用来关联查询的关键字段留存适当的冗余,以提升数据库的性能。
3.2 数据库设计方法与步骤
数据库的建设分成概念数据模型设计、逻辑数据模型设计与物理数据结构设计等三个阶段,其目的是达到合理的数据表结构,使数据的存取操作更为有序,数据的编辑、查询更为方便,从而实现该数据库管理系统数据库的建设。
(1)概念数据模型设计。概念数据模型反映的是系统最终用户对于数据存储的观点,代表了系统用户综合性的信息需求,它用数据类的方式表达企业级的数据需求,数据类描述了在业务环境中聚集起来的几个重要的类别数据。概念数据模型包括主要的实体和实体之间的关系。描述概念数据模型最常用的是“实体-关系”图(即E-R图),E-R图主要是由实体、属性及关系等三个要素组成的。
(2)逻辑数据模型设计。逻辑数据模型是指系统分析师、设计师对数据存储的见解、看法,是对前一阶段概念数据模型的分解与细化。逻辑数据模型是按照业务规则决定的,是业务对象、业务对象的数据项以及业务对象之间关系的描述。逻辑数据模型包括所有的实体与关系,决定每个实体的属性,指明每个实体的主键和外键。
(3)物理数据模型设计。物理数据模型是对真实数据库的表达。数据库对象包括表,视图、字段、数据类型、长度、主键、外键、索引以及是否可为空,还有默认值。概念数据模型到物理数据模型的转换是将概念模型中的对象转换为物理模型的对象。
4 总结
开发数据库管理系统时,一个优秀的数据库服务器的选择和好的数据库结构设计起到举足轻重的地位。SQL Server属于微软公司研发的大型关系型数据库系统,功能相对全面,效率较高,管理与操作比较简单、方便,整个系统的安全及稳定也较高,并且性能价格比最好,节约企业资金,降低研发成本,是开发人员理想的选择,能够作为中型企业或单位的数据库平台。数据库结构设计在数据库管理系统研发过程中同样占据非常关键的地位,一个好的数据库结构是该数据库管理系统的基础,数据结构设计的优劣将直接影响到该系统的效率以及所要达到的效果。
对灾情数据进行信息分类是一项非常重要的过程,适当的分类可以简化系统结构,实现数据的精确分析。具体来说,灾情数据分为两部分,一部分是过程信息表,一部分是灾情信息表。其中,过程信息表用来记录灾害天气发生过程中的灾害信息,这部分记录是灾情数据库的基础;灾情信息表是受灾后的灾情详细信息记录,如灾害强度、灾害损失、灾害原因等。两部分在数据使用方面体现为一对多关系,即一次灾害过程对应着多个灾情信息记录。灾情信息表是整个数据库系统的核心,其结构是否科学合理决定了后续灾情分析的准确程度。为满足分析需求,通常灾情详细信息表的数据存储字段可分为灾情起因信息、基本信息、空间属性信息、灾害带来的损失信息、后期影响信息等几部分。
1.2灾情的协同通报信息结构
数据库的建立不仅仅用于记录,还应该具有联网通报的功能,通过该功能可以实现信息的联网分析和总结,提高灾情通报的实时性和系统使用效率,减少或者避免重复工作所带来的人力资源浪费。该部分数据库架构为,在灾情协同录入界面,辅助录入人员可以将灾情数据进行及时收集整理后进行录入,然后利用协同通报系统将信息上传到数据库端并将该部分数据标记为待审核数据。经过工作人员的审核和评定后,若该数据录入准确且具有唯一性,则取消待审核状态,转为灾情详细信息数据,为后续上报或者灾情分析评估等提供数据支持。该部分的信息需要进行单独存放,以免与灾情信息表产生混淆。
1.3灾情评估信息数据结构
灾情根据灾害特点和灾害原因可以分为多种类别,如自然灾害和人为灾害、地质灾害和天气灾害等。不同的灾害收集方式和评估方式均有所不同,因此在数据库架构中如何合理制定灾害信息采集分析表对应用灾害数据进行灾情评估具有重要作用。该部分数据库应该按照如下方式进行构建。首先建立灾情分类数据库,不同灾情与对应灾情描述之间进行特征关联,同类型灾害进行细分和归类。然后根据灾情特征建立对应的数据模型,便于数据录入和灾害评估。
1.4辅助数据表结构
为提高系统的应用性能,可以增设部分辅助数据表作为灾情数据库的补充。利用该表可以进行新灾情的自定义等,增强数据库的可扩展性。同样辅助表还具有区域记录功能,通过对受灾区域进行记录,可以提高灾情地理分布的精确度,增强局部预警能力。
2基于灾情数据库的灾害评估技术分析
在建立气象灾情信息数据库的基础上结合使用GIS技术、数据分析技术、WEB技术等,可以保证对数据库的充分利用,实现灾情的精确评估,减少灾害带来的经济损失。
2.1灾情统计分析技术
对灾情进行记录的主要目的在于利用这些数据进行统计分析,并对分析结果进行总结,生成统计报表,根据报表制定防灾决策,或者指导今后的灾情预警等。该技术生成的统计报表可以用于存储或检索。其中,检索功能可以进行要素关联检索、条件检索、影响检索等。通过进行细分检索和信息对比,可以方便的实现灾害评估。
2.2可视化分布图显示技术
在对灾害数据库进行限定检索后,可以获得相关灾情信息和气象数据。结合使用可视化技术等,可以根据数据统计量生成要素分布图。如灾情分布图、灾害损失分布图等。这些分布图可以直观、便捷的实现天气和灾情的关联,突出灾害易发点,为不同天气下的灾害预防工作提供理论依据。
2.3灾害防御对策技术
灾害防御对策技术主要是指对数据库内的灾害数据进行分析,根据各要素的影响程度调用对应的防御对策信息以供气象工作人员参考。该技术的实现需要对现有的应对策略进行收集、整理和归类,并根据灾害程度制作成相应的数据库文件,进而将该数据库与灾害信息库进行关联。
中图分类号:TP312 文献标识码:A 文章编号:1009-914X(2015)42-0319-01
1 数据库概述
数据库是数据管理的最新技术。数据管理先后经过了人工管理阶段、文件系统阶段、数据库系统阶段。在数据库领域中最常用的数据模型有层次模型、网状模型、关系模型、面向对象模型等。关系型数据库系统是建立在关系模型基础上的。
关系数据库系统遵循严格的数学基础,它应用数学方法,主要是集合代数的概念和方法来处理数据库中的数据。关系数据库的数据结构简单,它的逻辑结构可以看做是一张二维表。
2 数据库设计方法及流程
大型数据库的设计是涉及多学科的综合性技术。数据库设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求。数据库的设计应符合“三分技术、七分管理、十二分基础数据”的基本原则。其基本设计步骤分为:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护六个阶段。
2.1 需求分析
需求分析是数据库设计的起点,简单地说就是分析用户的需求。该阶段的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作状况,明确用户的各种需求(包括信息要求、安全性与完整性要求),然后在此基础上确定新系统的功能。注意新系统必须充分考虑今后可能的扩充和改变,以预留出足够的可扩展空间等。例如:对于一个教务管理系统的设计,设计之初首先应了解其工作需求,确定要实现哪些功能、应包含哪些属性以及未来可能的扩展需求等。
2.2 概念结构设计
概念结构设计是将需求分析阶段所得到的用户需求抽象为信息结构的过程,它是整个数据库设计的关键。概念结构的主要特点包括:能真实充分的反应现实世界,易于理解,易于改正,易于向关系、网状、层次等各种数据模型转换。
概念结构设计通常有自顶向下、自底向上、逐步扩张、混合策略四种方法。概念结构是对现实世界的一种抽象,一般包括分类、聚集和概括三种抽象。利用抽象机制对数据进行分类、聚集,形成实体、实体的属性,标识实体的码,确定实体之间的联系类型,设计分E-R图是概念结构设计的第一步。具体做法包括:选择局部应用,一般以中层数据流图作为设计分E-R图的依据;逐一设计分E-R图,即对每个局部应用设计分E-R图。最后,将得到的各分E-R图综合形成一个系统的总E-R图。在教务管理系统中有学生、教师、主任等实体,学生实体有包含姓名、学号、班级、成绩等属性,应对其逐一设计E-R图。
注意在形成总E-R图的过程中并不是将各个分E-R图进行简单的合并,因为在合并过程中分E-R图之间会因为各种原因导致许多不一致的地方,即会产生冲突现象。应先通过讨论、协商并根据应用的语义解决各类冲突。
2.3 逻辑结构设计
逻辑结构设计是指将概念结构设计阶段设计好的E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构首先将概念结构转换为关系、网状、层次模型。例如,设计关系模型就要根据E-R图设计二维表,二维表中包括字段名、数据类型、长度、描述等。最后设计符合用户习惯的外模式。
实现E-R图向关系模型的转换实际是就是将实体型、实体的属性和实体之间的联系转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码,实体之间的联系应注意它是一对一、一对多还是多对多的联系。形成初步的关系模型后,然后就是对模型的优化。关系数据模型的优化通常以规范化理论为指导。在对外模式的设计上,关系数据库管理系统一般都使用视图这一功能设计更符合局部用户需要的用户外模式。
2.4 物理设计
物理结构设计就是为逻辑结构设计阶段所得到的数据模型选取一个最适合应用要求的物理结构。在关系数据库中主要是先指定存取方法和存储结构,然后主要对时间和空间效率进行评价。
考虑到数据库系统是多用户的共享系统,所以应建立多条存取路径以满足多用户的多种应用要求。常用的存取方法有索引方法、聚簇方法、HASH方法。
2.5 数据库的实施和维护
在数据库实施阶段,设计人员要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式,最后就可以组织数据入库了。
在数据库试运行后,由于应用环境、物理存储等不断的变化,所以应对数据库进行长期的维护工作。对数据库的维护包括:数据库的转储和恢复,数据库的安全性、完整性控制,数据库性能的监督、分析和改造,数据库的重组织与重构造等。
3 数据库的规范化及约束条件
由于逻辑结构设计并不唯一,对于任何一种数据库应用系统如何构造出合适的逻辑结构,这就涉及到规范化问题。对于关系模式最基本的要求是应满足第一范式,即每一个分量必须是不可分割的数据项。此外,为了消除关系模式中存在的插入删除异常,修改复杂,数据冗余等毛病,应使关系模式逐步满足第二、第三范式、BC范式等。
关系的完整性规则是对关系的某种约束条件。它包括实体完整性、参照完整性和用户自定义的完整性三种完整性约束。其中,实体完整性要求关系中的主属性不能为空;参照完整性是用来描述实体与实体之间联系的完整性约束,这两个是必不可少的完整性约束条件。此外,数据库系统根据应用环境的不同可能会有某些特殊的约束条件,这就需要用户自定义完整性。
完整性约束和规范化是数据库系统设计中必不可少的约束条件。只有满足这些约束条件才能设计出完整、高效、可靠的数据库系统。
总之,在信息化社会,能充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分。
高思,1993年9月,汉族,河北省石家庄,本科,学生,计算机科学与技术。
赵博,1992年6月,汉族,河北省张家口市,本科,学生,计算机科学与技术。
参考文献
[1] 王珊,萨师煊,《数据库系统概论》,高等教育出版社,2013.12.
[2] 王晴,《新编关系数据库与SQL Server 2008》,清华大学出版社2013.8.
[3] 胜,赵会东,《SQL Server入门经典》,机械工业出版社,2103.4.
[4] 李巧君,刘春茂,浅析数据库设计的一般流程和原则.技术与市场.2010.
在数据库应用系统中,主要面对的核心问题就是设计出一个能满足用户需求,性能良好的数据库,这就是数据库设计。软件开发的数据库设计主要分为四个阶段:需求分析、概念设计、逻辑设计和物理设计。而目前的软件开发过程中,一般采用生命周期法,将数据库分解为目标独立的若干阶段:需求分析、概念设计、逻辑设计、物理设计、编码阶段、测试阶段、运行阶段和进一步修改阶段。关于数据库设计理念,主要是为了分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。设计者根据实际情况,对某些共同特性和行为的对象可以抽象的作为一个实体。所以数据库是由实体和属性组成的,实体是通过主键表示,属性是通过外键表示。在进行设计时,实体与属性是相对而言的,同一事物在某一种环境中作为属性,在另一种环境中,就必须作为实体。如图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 信息安全库所面临的挑战
信息技术的发展带动了全球信息化的发展,从而使信息基础设施成为社会基础设施中必不可少的关键所在。信息网络技术的应用正日益普及和广泛,应用领域也从传统的、小型业务系统逐渐向大型、关键业务系统扩展,典型的如企事业单位信息系统、金融业务系统、企业商务系统等。伴随网络的普及,安全日益成为影响网络效能的重要问题,而Internet所具有的开放性、国际性和自由性在增加应用自由度的同时,对安全提出了更高的要求,这主要表现在:
1.1 开放性导致网络的技术是全开放的,任何一个人、团体都可能获得,因而网络所面临的破坏和攻击可能是多方面的,例如:可能来自物理传输线路的攻击,也可以对网络通信协议和实现实施攻击;可以是对软件实施攻击,也可以对硬件实施攻击。
1.2 国际性意味着网络的攻击不仅仅来自本地网络的用户,它可以来自Internet上的任何一个机器,也就是说,网络安全所面临的是一个国际化的挑战。
1.3 自由性意味着网络最初对用户的使用并没有提供任何的技术约束,用户可以自由地访问网络,自由地使用和各种类型的信息。
与此同时,层出不穷的病毒、蠕虫和黑客攻击给正常的网络通信与信息资源带来沉重的负荷和影响。
如近几年来在全球肆虐的Code Red,Slammer,W32. Blaster等蠕虫病毒,除了对受害站点进行DDos攻击外,大量非正常数据包的泛洪还严重占用网络带宽,堵塞网络,并使大量服务器工作异常,具有很强的危害性。
2 安全信息数据库的设计
该子库主要存储来自于信息侦察所收集到的并支持人工修正的目标网络的基本信息。其中,包含有配置信息表(CInfo)、服务信息表(SInfo)、漏洞信息表(VInfo)和安全依赖关系表(SDR)。
CInfo表的键是主机IP地址属性;SInfo表的键是(主机IP地址、主机端口);VInfo表的键是(主机IP地址、主机漏洞ID);SDR表的键是(可能源主机IP,可能目的主机IP,主机漏洞ID)。CInfo与SInfo是一对多的关系,因为每台主机可同时开放多个端口;CInfo与VInfo是一对多的关系,每个节点可能有多个漏洞;SInfo与VInfo也是一对多的关系,每个运行服务可能存在多个漏洞。CInfo与SDR,VInfo与SDR均是一对多的关系。
3 标准漏洞子库设计
该子库由漏洞信息表(VulInfo)和漏洞影响系统信息表(VulSys)组成。前者主要记录了每个漏洞的BugID、/更新时间、漏洞类别、具体描述、修复方法等等;后者记录了每条漏洞所影响的操作系统或应用软件信息。
VulInfo表和VulSys的键值均是漏洞ID属性,它们之间是一对多的关系,因为同一个漏洞可能影响多个系统。
在VulInfo表中,我们使用Bugtraq作为标识漏洞的唯一ID,是因为Bugtraq ID即将成为业界的统一标准,各个软件供应商也已开始将自己的产品漏洞公告映射为Bugtraq编号,该编号提供了一个统一、一致、可比较的漏洞管理机制。
由于这两个组织的漏洞数据库都不提供直接的访问,因此设计一个漏洞数据获取插件。
根据各个漏洞信息的URL开启多个线程,发送相应的HTTP GET请求,然后读取Web Server端的响应。由于漏洞数量相当多,如果由每个线程同时完成读取响应,分析数据并填写数据库,不但会消耗大量的系统资源,而且很可能导致大量GET请求失败。因此,我们采取了实时线程获取原始漏洞数据并以简单的格式存储,然后主线程进行离线的数据分析,并完成写入数据库的任务。另外,由于可能存在GET请求失效的情况,将导致某些漏洞的信息缺失或不完整。为了保证得到所有已有漏洞的信息,我们还采取了日志记录机制,即,主线程开启一批线程抓取信息并等待其全部结束后,根据每个线程录入的日志找出需要重新抓取的漏洞,重新开启一批线程,如此反复,直到所有漏洞数据都被成功获取。
由于目前实际情况的限制,只能在国际安全组织站点上被动的更新漏洞库。如果可以建立国内统一的紧急相应中心漏洞数据库,那么中心可以定期的向各个网络风险评估管理系统的标准漏洞子库漏洞更新数据。
可见,执行相应的风险控制措施,使风险等级降低到可接受的水平。
参考文献:
[1]Information Assurance Technical Framework. IATF Document [EB/OL].Release 3.1.
[2]National Computer Security Center,Department of Defense Trusted Computer System Evaluation Criteria,DoD 5200.28-STD,December 1985
中图分类号: TN919?34 文献标识码: A 文章编号: 1004?373X(2013)12?0071?03
0 引 言
启动VS 2010集成开发环境[1],链接Excel电子表格,以程序方式将Excel电子表格中的数据读出,定义一个中间件Dataset数据集,将取到的数据缓存在内存中的一个临时存储区,链接各种数据库,构造插入数据记录的程序代码,打开数据库链接,将中间件Dataset数据集中暂存的数据永久插入数据库中,关闭数据库链接[2]。
1 导入Office模块
VS 2010加强了对Office的支持,给开发带来了极大的灵活性,增强了应用程序与Office的交互,并且能够在很大程度上精简代码。
2 链接数据源
数据源泛指各种不同位置上的数据库、各类数据文件,每种数据源都有自己不同的链接规范,VS 2010按这些不同规范都组织在一起,为编程人员提供了一个统一的操作接口,编程人员可根据自己应用程序所用不同数据源,而选取不同的链接方式和参数。
在这里把Excel表数据导入MySQL数据库,因此具体论述这种数据源的链接方式,其他数据库原理相同。
2.1 链接Excel电子表格文件
2.2 链接SQL Server数据库
VS 2010带有一个轻型的SQL 2008数据库系统[4],首先用这个系统建立一个SQL数据库abc.mdf,在数据库中建立一张二维数据表文件,取名为temp1。在VS 2010中的操作路径是:在项目上右击鼠标在快捷菜单中先“添加”菜单项在下一级级联菜单中选“新建项”菜单项打开添加新项对话框,选择“数据”选项卡在“数据”选项卡内选择“基于服务的数据库”项,填好自己的数据库名,本例用abc.mdf。
3 将数据永久存入数据库
下一步要把中间件DataSet中的临时数据永久存入数据库中[5]。根据2.2节所述内容,数据库已经连通,库结构也已经建好,并与Excel电子表格数据结构一致。为了使用SQL数据库,需要在本项目的名字空间之上加入引用语句:using System.Data.SqlClient,程序代码如下:
4 结 语
在科研工作中,常会遇到海量数据处理的问题。这些数据通常由采集卡保存在Excel中,如果能够方便地输入数据库中,可以帮助科研工作者完成很多重复性、规律性的工作,节约人力,提高效率,便于后续的数据处理和数据分析[7]。程序开发者也可以针对具体的应用,将Office开发做成一些类或组件,增强软件重用性,更加提高开发效率。
参考文献
[1] ROBINSON S.C#高级编程指南[M].北京:清华大学出版社,2009.
[2] 罗斌.Visual C#.NET精彩编程实例集锦[M].北京:中国水利水电出版社,2009.
[3] PETZOLD C.Microsoft C# Windows程序设计(上册)[M].北京:北京大学出版社,2009.
[4] 王晟.Visual C#.NET数据库开发经典案例解析[M].北京:清华大学出版社,2010.
[5] PETZOLD C. Microsoft C# Windows程序设计(下册)[M].北京:北京大学出版社,2009.
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
**市**测绘服务有限责任公司
2011年11月10日
**县**镇地籍调查
数据库建设项目技术设计书
项目承担单位(盖章):**市**测绘服务有限责任公司
设计人:
日期: 年 月 日
审批人:
审批单位(盖章):**县国土资源局
日期: 年 月 日
目 录
1. 项目概况 ............................................. 1
1.1 前言 ............................................ 1
1.2 工作任务 ........................................ 1
1.3 完成期限 ........................................ 1
2. 技术依据 ............................................. 1
3 入库数据主要技术指标 .................................. 2
4 城镇地籍数据库建设 .................................... 2
4.1 数据库建立的流程 ................................ 3
4.2 数据库内容 ...................................... 3
4.3 数据库信息 ...................................... 4
4.4 数据建库的主要工作内容 .......................... 4
4.5 数据建库要求 .................................... 5
4.6 数据检查 ........................................ 6
4.7 注意事项 ........................................ 6
5. 质量监督与保密措施 ................................... 7
5.1 质量检查制度 .................................... 7
5.2 检查的内容 ...................................... 7
5.3 检查工作的实施 .................................. 8
5.4 成果保密措施 .................................... 8
6 成果提交 .............................................. 9
1. 项目概况
1.1 前言
**县国土资源局按照国务院《关于开展第二次全国土地调查的通知》(国发[2006]38号)及2010年**市政府与**县政府签订的岗位目标责任制的要求,全面开展**县建制镇的地籍调查工作,为查清**县城镇土地利用状况,掌握真实的土地基础数据,建立和完善土地调查、统计和登记制度,实现土地资源信息的社会化服务,将全野外数字化地籍成果数据进行入库,满足经济建设及国土资源管理的需要,更好的为土地宏观调控及政府科学决策提供依据。**县国土资源局委托我公司承担此次**镇(镇区及高家屯、王三家子、半拉窝铺)的地籍调查工作。
1.2 工作任务
本项目是第二次土地调查的重要内容之一,也是合理利用土地资源、充分发挥土地资产效益、保护土地权利人合法权益、实施科学化的城市管理和建设“数字国土”、“数字**”的基本条件;工作任务是在完成**镇地籍调查中的权属调查、地籍测量后,建立地籍数据库。
1.3 完成期限
计划在2011年11月10日至2012年2月10日完成整个测区的数据入库工作。
2. 技术依据
《第二次全国土地调查技术规程》(TD/T 1014-2007);
《城镇地籍调查规程》(TD 1001-93);
《城镇地籍测量技术规定》(暂行)(吉林省第二次土地调查标准);
《土地利用现状分类》(GB/T 21010-2007);
《1∶500 1∶1000 1∶2000地形图图式》(GB/T 20257.1-2007); 《城镇地籍数据库标准》(TD/T 1015-2007);
《第二次全国土地调查数据库建设技术规范》;
《基础地理信息要素分类与代码》(GB/T13923-2006);
《中华人民共和国行政区划代码》(GB/T2260-2007);
《测绘成果质量检查与验收》(GB/T24356-2009);
《吉林省城镇土地调查检查验收规定》(暂行);
经审核的《**县**镇地籍调查数据库建设项目技术设计书》。 3 入库数据主要技术指标
坐标系统:1980西安坐标系;
高程基准:1985国家高程基准;
成图比例尺:1:500;
平面投影:高斯-克吕格正形投影3度带,中央子午线126度 计量单位:长度单位采用米(m),取位至0.01m;面积计算单位采用平方米(m2),取位至0.01 m2;面积统计汇总单位采用平方米(m2),取位至0.01 m2 。
4 城镇地籍数据库建设
城镇地籍调查数据库是指在地籍调查过程中形成的调查成果数
据库,是数字地籍调查的最终成果,也是地籍管理信息系统的基础数据源。
4.1 数据库建立的流程
4.2 数据库内容
城镇地籍数据库包括城镇地籍数据处理、管理和分析应用的基础地理要素、权属要素、地类要素、注记要素、土地权利人要素、土地登记要素,以及房屋等附加信息。
4.3 数据库信息
4.3.1 数据上交格式
地籍测量生产和地籍数据库输出的图形文件可采用如下方式:
4.3.1.1.支持ESRI的SHP格式。每个图层对应一个SHP文件,相关属性记录在SHP文件中,扩展属性表以.DBF表示,元数据支持文本(.txt)。SHP文件命名以对应属性表命名(参见《城镇地籍数据库标准》(TD/T1015-2007)表1),以区块文件输出。
4.3.1.2.支持国土资源部规定的VCT数据格式。
4.3.2 系统平台
外业数据采集满足《城镇地籍数据库标准》(TD/T1015-2007)要求;
内业数据建库采用城镇地籍建库管理软件(CMS)。
4.4 数据建库的主要工作内容
以1:500城镇土地调查图形成果为数据源,采用电子数据的抽取、转换、装载(ETL)工艺或辅助屏幕数字化工艺,建立满足一定拓扑规则的城镇土地调查图形数据库;以城镇土地权属调查、登记发证和建设用地审批的非图形资料为数据源,建立城镇土地调查属性数据库;为保持图形数据和属性数据的逻辑一致性,并将两者相互挂接为城镇土地调查数据库。
对地籍测量采集的空间矢量数据(包括地形、地籍数据)按照要求进行分层、编辑等处理。
4.4.1.对数据进行相对关系、拓扑关系等处理,按照规定的面层,对每一个面层按照拓扑关系进行构面处理,如区划,街道、街区、宗地(地块)、地类等层。
4.4.2.属性录入,对于外业采集软件中不能录入或不能转入的各种属性数据,按照规定进行录入及链接。
4.4.3.在系统平台上进行统计、面积汇总检核及成果输出等。
4.5 数据建库要求
4.5.1 矢量数据
对于内业构面,按照一级控制一级的原则,在街坊层,同一街道内所有的街坊构成具有严格拓扑关系的各个面,面积之和应等于此街道的面积;在宗地层,所有的宗地构成具有严格的拓扑关系,宗地面积与虚宗面积之和应等于此街坊的面积;在图斑层,同一宗地内不同地类以宗地界线构成的面具有严格的拓扑关系,且面积之和等于该宗地面积。
4.5.2 编码
全部数据按《城镇地籍数据库标准》(TD/T 1015-2007)城镇地籍要素的编码规则进行编码。
4.5.3 属性数据的录入
根据《城镇地籍数据库标准》(TD/T 1015-2007)城镇地籍要素属性表的结构对除宗地外所有要素进行属性录入。
4.5.4 面积统计和汇总
4.5.4.1.面积统计的有关规定
(1)按街坊街道逐级汇总;
(2)各类面积统计要独立量算两次,面积单位m²,计算取值到小数后一位。
土地分类均用二级类填写;
(3)所有面积以地籍信息系统汇总的面积为准。
4.5.4.2.面积汇总
在完成街坊面积量算后,按街坊对宗地进行面积汇总统计。街坊汇总统计结束后,进行以街道为单位宗地面积汇总统计。当一个街道涉及两个以上作业组时,街坊宗地汇总数据交由一个作业组完成。输出面积资料有:
(1)街坊为单位的界址点坐标册;
(2)街坊宗地面积汇总表;
(3)街道土地分类面积统计表,按《土地利用现状分类》(GB/T21010-2007)和《城镇地籍数据库标准》(TD/T1015-2007)规定的地类号填写。
4.6 数据检查
4.6.1.属性录入检查,及时发现权属调查的错误、属性录入错误。
4.6.2.地籍分幅图数据的接边检查:检查接边情况、图形数据和母线数据的一致性。
4.6.3.图形数据中界址点的数量、位置与地籍调查表的界址点的数量、位置一致性的检查。
4.7 注意事项
4.7.1.地籍调查各项成果的矢量数据质量是否满足标准要求将直接影响到项目后续的数据入库,因此在矢量数据入库前,应按照GIS前端数据采集要求开展数据生产与编辑,从图形规范、属性编码、空间拓扑等方面进行控制,做到面向对象,图属一致;对象的分层、分类、编码按照国家《城镇地籍数据库标准》的空间数据库标准执行;制定相应的地籍要素采集、编辑规则,以规范数据生产。
4.7.2.在数据库中,图形与主要属性用同一张表中的同一条记录来描述,其他相关的属性通过图属关联实现图属一体化。
5. 质量监督与保密措施
质量监督与检查制度的确立是确保项目质量的关键。
5.1 质量检查制度
按照《测绘成果质量检查与验收》(GB/T24356-2009)的规定,为确保成果质量符合设计要求,该调查区地籍调查成果,严格执行各项技术、质量管理制度,在项目实施过程中,认真按照ISO9001:2000质量保证体系的要求开展工作。
5.2 检查的内容
使用城镇地籍建库管理软件(CMS)检查功能对数据库的拓扑和属性以及地籍调查表数据有效性进行检查。
5.2.1.拓扑检查
5.2.1.1行政区:面不能重叠;面不能有空隙;面边界被线层覆盖(行政区界线);A面层被B面层覆盖(地类图斑)。
5.2.1.2行政区界线:线不能有悬挂点;线不许相交或重叠。
5.2.1.3宗地:面不能重叠;面不能有空隙;面边界被线层覆盖(界址线);A面完全包含于B面内(行政区)。
5.2.1.4界址线:线不能有悬挂点;线不许相交或重叠;线终点与点重合(界址点)。
5.2.1.5界址点:点与线终点重合(界址线)
5.2.1.6地类图斑:面不能重叠;面不能有空隙;面边界被线层覆盖(地类界线)。
5.2.1.7地类界线:线不能有悬挂点;线不许相交或重叠。
5.2.1.8房屋:A面完全包含于B面内(宗地)。
5.2.2.属性检查:对所有地籍要素的属性进行检查。
5.2.3.标识码唯一性检查:检查数据库内各要素标识码是否唯一。
5.2.4.调查表数据检查
5.2.4.1地籍调查表主表检查:检查地籍调查表中字段值填写的正确性。
5.2.4.2指界表检查:检查指界表中本宗指界人与邻宗指界人填写的正确性。
5.2.4.3界址标示表检查:检查界址标示表中相邻宗地的界址线位置,界址线类别,界址点类型,界标类型填写是否矛盾。
5.2.4.4调查表宗地四至检查:对调查表宗地四至与邻宗权利人一致性进行检查。
5.3 检查工作的实施
专人利用城镇地籍建库管理软件(CMS)检查功能对数据库进行复查,以及参照外野权属资料与数据库进行对照检查。
5.4 成果保密措施
5.4.1.严格执行测绘资料管理办法,做好测绘资料的保密管理,加强知识产权保护法和职业道德教育,杜绝资料泄密或遗失。
5.4.2.在整个生产过程中,有关该项目的测绘成果要做好造册登记,严格管理。
5.4.3.未经甲方单位同意,测绘单位不得擅自向第三方提供任何该项目的测绘资料。
5.4.4.在生产作业现场使用的计算机网络要与外界的计算机互联网保持物理隔绝。
5.4.5.做好计算机防病毒工作,所有生产用的计算机要安装反病毒软件。
5.4.6.做好计算机的使用维护管理工作,对各计算机建立统一的标识、统一的文件系统、统一的文件格式。不用的或废弃的文件要进行清理,在工作的文件系统内保持数据的唯一性。
5.4.7.防止电子数据成果的意外损坏和丢失,坚持在每天工作结束后对该项目的所有电子数据成果进行备份,并作好备份记录。备份数据保存在专用计算机内。
中图分类号:TP391.9 文献标识码:A 文章编号:1007-3973(2013)007-057-03
1 引言
信息是信息化战争中的决定因素,而数据链的根本作用就是解决信息获取、信息处理和信息传输的结合问题,并从速度上进行优化,极大地增强部队的整体作战效能。
复杂电磁环境是信息化战场的重要特征,在未来信息化条件作战中,战场复杂电磁环境将对各类信息化武器装备将产生严重影响。
战场环境千变万化,参战平台也是多种多样,大规模作战应用条件下的数据链综合应用,是作战研究的关键,也是数据链推演系统研究的核心内容。而能够支撑大规模数据链平台接入模拟的数据库是推演的基础。本文在对Link-16数据链应用研究的基础上,提出了系统数据库的结构设计和应用流程,使之能够快速高效地支撑推演系统的运行。
2 数据链推演系统
Link-16数据链,又称战术数字信息链路-J(TADIL-J)是美国和北约部队广泛采用的一种战术数据链。Link-16数据链已经装备美国和北约全部的预警机和许多地面防空指挥所、战斗机、直升机、驱逐舰和航母等典型的作战平台。
数据链推演系统是针对美军及北约部队广泛应用的Link-16数据链而建立的仿真推演系统,通过加载想定和网络规划,在统一的推演控制下,在网络运行模拟设备、各参与平台和支撑平台的参与下,对任务规划和行动需求一致性、Link-16网络规划以及网络资源的合理性进行验证。
3 推演数据库组成
推演系统数据库组成如图1所示。
3.1 数据库管理系统
数据库管理系统是根据不同的需求对平台库、装备库、行为模型库以及复杂电磁环境库等进行管理、包括添加、删除和参数修改等工作,同时对数据库整体进行备份和存贮。
3.2 平台模型数据库
平台模型库主要建立平台模型各种参数信息,包含空中、水面、陆地和水下平台,为推演系统提供平台数据。
3.3 装备模型数据库
装备模型数据库主要建立平台数据链装备模型的各种参数信息,包含Link16数据链装备、雷达装备、电子战装备等,为推演系统提供数据链所需的各种装备数据。
3.4 行为模型数据库
行为模型库主要建立平台所参与的行为模型,包含平台的起飞、降落、到达指定高度、巡航、按照轨迹运动、按照轨迹前往等行为,为推演系统提供平台行动数据。
3.5 复杂电磁环境模型数据库
复杂电磁环境模型库主要建立战场复杂电磁环境干扰模型以及根据不同环境下的电磁环境参数库,为推演系统提供复杂电磁环境态势以及为装备受干扰状态下的干扰计算提供基础参数。
3.6 行动脚本数据库
行动脚本数据库主要建立推演剧情的各种数据信息的综合,包含推演平台组成、装备情况、推演平台行为、网络组织情况、数据链应用情况等,为推演提供全部数据以及推演剧情的保存。
4 数据库及应用流程设计
4.1 数据库设计
推演系统数据库包括:平台模型库,装备模型库,行为模型库,复杂电磁环境模型库,行动脚本数据库。模型是以参数的集合进行定义,即每种模型由一系列参数描述。例如,战斗机模型的平台类型为空中平台,油量为50000L,机翼为50m,机长200m等。Link-16数据链装备模型的链路类型为Link16,波道号为01,网络号为16等。每种模型库以树形结构进行组织管理。根模型拥有模型基本参数集,子模型在继承父模型的参数集的同时,拥有自己特有的参数集。如图2所示,假设某平台模型的树形结构图如下:
R表示根节点的参数集,A,B,C分别表示子节点独有的参数集,A1,A2;B1,B2;C1,C2表示叶子节点独有的参数集。
图2 参数继承图
最左侧叶子结点的所有参数的集合为:
(1)数据库管理系统。
数据库管理系统是对推演系统的模型库进行管理维护的系统。主要完成推演系统数据库的维护,包括模型的查询,添加,删除,编辑,保存,备份功能,如图3所示。推演数据库包括:平台模型库,装备模型库,行为模型库,复杂电磁环境模型库,行动脚本库。数据库管理系统启动之后,建立与各个模型库的连接。每个时刻只能由一个连接是活动状态,只有在活动状态下才能完成模型库的编辑。系统支持一键切换各个模型库连接的活动状态。系统以树形结构展示库中的各个模型及其参数数据。在进行了添加,删除,编辑参数等操作之后,通过保存将数据写入模型库。另外,系统支持数据库的备份。
图3 数据库管理流程图
1)模型库的添加。
执行模型添加功能时,系统自动建立该模型的基本参数集。用户可以为该模型添加特有参数,并为其设置参数值。基本参数集和特有参数共同构成该新增模型的参数集。
2)模型库的删除。
执行模型删除功能时,系统删除该模型库的参数集,假如该模型有子模型,系统首先删除其子模型,继而删除该模型。
模型的编辑主要包括模型的参数集的编辑,包括添加,删除,修改参数值等。
4)模型的保存。
保存功能主要完成对以修改模型的保存,将修改后数据存入平台模型数据库。
5)模型的备份。
系统将模型数据库按制定的文件类型另存为到制定的物理存储空间。存储文件类型包括:.sql,.txt,.xml等。
(2)平台模型库。
平台模型库为推演系统提供平台数据。平台模型库以树形结构进行组织管理。一级模型包括空中平台、陆地平台、水面平台、水下平台四种类型。二级空中平台模型包括:战斗机、加油机、预警机、无人机等。二级陆地平台模型包括:指挥所,装甲车,雷达站,坦克等。二级水面平台模型包括:航空母舰,舰船。二级水下平台模型包括:潜艇等。模型以参数的集合描述。子模型在继承了父模型的参数同时,拥有自己特有的参数。
下面说明空中平台模型,地面模型,以及空中模型的子模型――战斗机模型的参数集。其中战斗机模型参数表中说明了子模型和父模型之间的参数继承关系,见表1和表2所示。
表1 平台模型示例
表2 战斗机平台模型
(3)装备模型库。
装备模型数据库主要建立平台数据链装备模型的各种参数信息,包含Link16数据链装备、雷达装备、电子战装备等,为推演系统提供数据链所需的各种装备数据。该模型库只有一级,模型库中每个模型拥有自己的参数集,示例如表3所示。
表3 装备模型示例
(4)行为模型库。
行为模型库主要建立平台所参与的行为模型,包含平台的起飞、降落、到达指定高度、巡航、按照轨迹运动、按照轨迹前往等行为,为推演系统提供平台行动数据。该模型库只有一级,每个行为模型拥有自己的参数集,示例如表4所示。
表4 行为模型示例
(5)复杂电磁环境模型库。
复杂电磁环境模型库主要建立战场复杂电磁环境干扰模型以及根据不同环境下的电磁环境参数库,为推演系统提供复杂电磁环境态势以及为装备受干扰状态下的干扰计算提供基础参数,示例如表5所示。
表5 复杂电磁环境模型示例
(6)行动脚本库。
行动脚本数据库主要建立推演剧情的各种数据信息的综合,包含推演平台组成、装备情况、推演平台行为、网络组织情况、数据链应用情况等,为推演提供全部数据以及推演剧情的保存。
4.2 数据库应用流程
根据数据链推演要求,数据库系统应用流程如图4所示。
图4 数据库应用流程设计
数据库管理系统按照行动文件中描述的数据链应用场景和行动计划,分解提炼该次行动的平台组成、装备情况、行为状态、数据链网络应用情况以及复杂电磁环境状态。根据上述推演行动数据,系统在复杂电磁环境模型库、平台模型库、行动模型库、装备模型库中提取相关模型及数据,利用推演标绘生成行动脚本文件并存入行动脚本库。推演展现可以直接调用行动脚本库的行动预案进行推演,该行动脚本包含行动单位组织结构,行动网,行动轨迹等信息。推演系统可直接加载行动脚本,并在推演时展现整个行动脚本的推演态势。
5 结束语
21世纪的战争是高科技的战争,信息权是战争争夺的制高点,复杂电磁环境下的数据链综合应用关系到联合作战的整体作战效能,数据链推演系统是对Link-16数据链网络规划及资源进行模拟仿真验证,而数据库是推演的核心和基础,良好的数据库设计能够提升系统的计算能力和灵活性,为大规模数据链作战应用提供很好地支撑,对其它类似系统数据库设计提供一定的借鉴。
参考文献:
[1] 高斌,唐晓斌,彭益,等.复杂电磁环境下的数据链资源分配技术研究[J].中国电子科学研究院学报,2010,5(3):248-252.
[2] 魏立柱,彭益,高斌.Link 16数据链验证测试技术[J].电讯技术,2011,51(3):9-13.
[3] 彭益,魏立柱.基于HLA的Link-16推演支持系统设计[J].微处理机,2012,33(1):87-93.
[4] 孙义民,杨丽萍.信息化战争中的战术数据链[M].北京:北京邮电大学出版社,2005.
1 前言
任何一个稍微有点规模的Web应用都离不开后台数据库系统的支持。商业的数据库系统主流有Oracle、DB2、MS SQL Server和Sybase等,而除了这些商业数据库外还有一些开源免费的数据库系统可以选择,对数据库的使用已经成为一种常态,本文着力于数据库连接技术的探讨,有助于电子商务应用技术的发展。
2 数据库连接的设计
在设计数据库连接的时候我们可以应用纯JAVA的连接,如果应用桥连接的方式效率会被大打折扣。我们可以通过设计专门的用来连接数据库和进行相关数据库操作的类。
数据库的连接使用连接池来实现,有了连接池以后就可以在连接请求来的时候分配给一个连接,当连接用过之后就可以回收到连接池中,这样就提高了效率。
连接池是配置在tomcat路径下面的conf文件夹下面的server.xml文件里面,连接池的实现使用下面的代码来进行的:
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="sa"
password="sa"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yidong"/>
其具体实现方式含有以下功能:
1)服务器的地址为localhost。
2)应用的根路径为webapps。
3)在元素下面指定了连接池的路径为yidong。
4)文本路径为yidong。
5)资源的名称为jdbc/yidong。
6)连接池最大活动连接数为100。
7)最大等待时间为10秒。
8)连接数据库的用户名为sa。
9)密码为sa。
10)驱动为:com.microsoft.jdbc.sqlserver.SQLServerDriver。
11)url为jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yidong。
3 数据库连接类的实现
下面我们定义两个方法,一个从连接池中获取一个连接,另一个方法用来关闭连接,有两个对象,分别为连接池对象:pool和数据库连接对象:connection。
public class DbConnection {
static private DataSource pool = null; // 声明连接池
private Connection connection = null; // 声明一个连接
// 初始化连接池
public DbConnection(String dataSourceName) throws NamingException, SQLException {
//保证只有第一次使用才会建立连接池
if (pool == null) {
Context env = (Context) new InitialContext()
.lookup("java:comp/env");// 获得当前的JNDI对象
pool = (DataSource) env.lookup(dataSourceName);//获得连接池
}
connection=pool.getConnection();//获得一个数据库连接
}
// 关闭连接
public void close() throws SQLException {
if (connection != null) {
connection.close();
}
}
public Connection getConnection() {
return connection;
}
4 前文总结
本文探讨了数据库连接技术的实现,给出了一种效率很高的数据库的连接技术,可以在各行各业的电子商务应用中被采用。
作者简介