数据库设计范文

时间:2022-03-09 07:26:15

引言:寻求写作上的突破?我们特意为您精选了12篇数据库设计范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。

数据库设计

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

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

篇2

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

篇3

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

篇4

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).

篇5

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

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

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

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

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

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

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

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

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

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

篇6

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2009)36-10176-02

Discussion on Principles for Database Primary Key Design

CHANG Yu-hui

(Jiangsu Technical Teachers College, Computer Engineering, Changzhou 203001, China)

Abstract: Primary keys are very important in databases, and .their design directly affects the application and performance of database systems. Starting from the concept of the primary key, the paper compares the commonly used design methods of the primary key, and proposes the relevant principles for primary key design.

Key words: Database; primary key

1 主键的概念及其设计主键的必要性

在我们进行数据库设计中,不可逃避的就是要定义数据库表的主键,主键的设计对整个数据库的设计影响很大,因此我们不得不要重视起来。那么我们首先来看看什么是数据库的主键和与它密切相关的外键。

1.1 主键

能够唯一表示数据表中的每个记录的字段或者字段的组合就称为主键(主码)。一旦确定为主键则该字段不可为空也不可以重复。一个主键是唯一识别一个表的每一记录,但这只是其作用的一部分。主键的主要作用是将记录和存放在其他表中的数据进行关联。在这一点上主键是不同表中各记录之间的简单指针。所以主键的值对用户而言是没有什么意义并且和它要赋予的值也没有什么特别的联系。比如学生表中的学号就可以定义成该表的主键。

1.2 外键

外键的定义是相对于主键而言的若有两个表A、B,key是A的主键而B中也有key字段则key就是表B的外键。比如另有一张成绩表表中也出现了学生表中的对应学号字段则相对于学生表学号就是成绩表的外键。

1.3 设计主键的必要性

有些朋友可能不提倡数据库表必须要主键,但在我的思考中,觉得每个表都应该具有主键,不管是单主键还是双主键,主键的存在就代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,本记录的修改与删除,当我们没有主键时,这些操作会变的非常麻烦。主键除了上述作用外常常与外键构成参照完整性约束防止出现数据不一致。所以数据库在设计时主键起到了很重要的作用。

2 主键设计的原则

大家都设计过数据库,也为表定义过主键,我想阐述的是,应该如何正确的设计一个主键,在以往的一些资料中,都只是提了主键设计的方法而没有提及到主键设计的原则。针对于此,我对几种常用的设计主键的方法做了如下总结:

2.1 是否要采用自动递增的方式

对于以前谈到的主键,要求唯一性,因此大家都用自动递增的方式。这样的方式是非常不可取的。可能是为了方便插入记录时,不必去人为创建主键值。以为这样会方便,其实不是的。带来的麻烦要远远胜于这种所谓的"方便"。第一,数据导入不方便,经常会有从另一系统导入数据进来,自动递增的主键,将不允许原表中的ID被导入进来。这会导致主键丢失。第二,对于象订单这样的有主外键的表来说,如果订单的"主档表"主键是自动生成的,那么在保存一个订单时,会要求对主档表与明细表同进行事务保存,而此时,先要生成一条订单,然后取出这个订单自动生成的主键,然后再把此作为明细表的一个外键,进行明细的保存。这过程中,将变的复杂而且不可行,事务将如何处理呢?订单主档表插入记录后,要是明细保存时遇到错误,主档表记录还要进行删除。繁琐。插入成功以后,还要取出产生的最大值。这将是一个严重的浪费。记录多的话会影响速度,而且会存在并行插入。导致获取的记录可能是不正确的。因此在以上的严重问题下,请不要采用自动递增方式。

2.2 是否要采用int型作为主键

以前大家都采用int型作为主键,导致主键的值都是数字。其实我们也明白。并不是只是数字的东西就是数字型的,比如电话号码等。因此对于主键采用int型的优势是速度快插入查询时都可能会比其他的方式快。但我这种快的效果也未必有多明显比如以varchar(15)为例物理主键排序的数据会自动以主键进行物理数据排序。因此就算是字符型的数据在插入时也会插入到相应的物理位置上也就是说在插入时可能会影响一些速度。但在以后的查询中速度影响不会太明显。而我要说的不采用int型作为主键不是说里面不存数据。我还是建议大家在主键中存放数字这样的排序比较要比夹杂字母的排序来的快之所以要采用字符型也是为以后的数据导入作准备有一天会要求从其他表导入数据时可以在导入数据的主键上加一个特定字母来避免与原主键冲突。比如在导入数据的主键前加一个“N”字母。这也就不用担心要求导入数据表中的主键是数字型还是字符型了。

2.3 是否采用编号来定义主键

主键设计有个原则就是主键不应具有任何实际意义,这条其实是非常重要的。有人就是觉得编号本身是唯一的可以作为主键用但可能会为以后带来麻烦。因为带有实际意义的字段还是存在被修改的可能性,而对于主键最大的忌讳就是修改主键,这可能会导致非常严重的不可估计的后果。比如学生编号平时以为永远不会修改但修改的可能还是会存在。

还有一种表面上是唯一的但实际上应该是允许重复的。举个例子,订单编号应该是唯一吧。逻辑上是的,可是会存在这样的情况一张原来的订单是因为某个原因要求订单作废。那好给订单的状态标识为"cancel"。然后允许再次录入同样编号的订单。因此。对于这样的情况下在虽然有效的订单编号只有一个但在数据库角度会允许编号重复。所以不管如何还是建议大家为表都建一个没有任何意义的主键如ID。

2.4 是否要采用GUID作为主键

很多项目是多级建库的,经常需要数据导入、导出、合并很需要一套产生全局唯一主键的机制。一种方法是自己设计一套编码规范(类似于身份证、信用卡)最好有一个统一编码服务器;第二种方法也是自己产生主键为每一个独立的数据库分配一个NameSpace产生主键时前面加上这个NameSpace;最后一种方法就是UUID我想重点讨论一下后者。

UUID(Universally Unique Identifier)是通用惟一标识符,是128位比特的数字,用来惟一地标识因特网上的某些对象或者实体。UUID是是由开放软件基金会(OSF)作为分布式计算环境(DCE)的一部分而制定的标准。UUIDs的目的就是使分布式系统可以不需要重要的中央调合系统而能唯一地标识信息。这样,任何人能创造一个UUID和使用它来标识一些东西,而且,你有足够的信心来确定这个标识是永远不会被任何人无意地使用在任何东西上。因此,信息加上了UUID标签就能合并到单个数据库中而不用去解决命名冲突的问题。这个标准的广泛应用在微软的全球唯一标识符(GUIDs)上,GUID实现了这个标准。

用GUID作主键有它的优势与不足。优势是GUID具有唯一性,在任何情况下,可以产生全球唯一的值。这是GUID最大的优势,也方便数据导入,比如要求从另一个系统中把数据导入进来,那么不用担心导入时,会导致主键冲突。不足是GUID值太复杂、不易记忆,因为有时难免我们会用记录的方式来进行记录判断。而且数据太长,影响数据库效率。GUID的产生不是以一定的次序产生,对于按主键物理排序的数据库来说,如果在记录的前部插入一条记录,可能会导致后面N次方的数据条数后移。这将导致数据插入效率。而且这个值是随机、无顺序的。GUID的值有16个字节,与其它那些诸如4字节的整数相比要相对大一些。这意味着如果在数据库中使用unique identifier键,可能会带来两方面的消极影响,一是存储空间增大,二是索引时间较慢。因此GUID的采用应该要慎重。

3 结束语

数据库主键在数据库中具有重要的地位。主键的设计直接影响到数据库系统的应用和效能。数据库主键的设计并没有定论,因此,我们在设计主键时,因根据具体应用的需要,综合考虑各方面的因素,考虑数据库的规模,以及插入、删除、检索等操作的频繁来选择合适而快捷的数据库主键设计方法,从而达到优化数据库主键的目的。

参考文献:

[1] 张云涛.商业智能的设计部署与实现[M].北京:电子工业出版社,2004.

篇7

1 引言

城市现有规划测绘数据资源存在以下六个方面的问题:一是数据资源分散、未能有效利用;二是数据内容单一;三是数据格式标准不统一;四是更新机制无法建立;五是组织管理机构不健全;六是投资渠道单一而不稳定,重复建设严重。龙岩市城乡规划局测绘服务站在城市信息化建设过程中,碰到以上一样的问题。为此,龙岩学院数学与计算机科学学院和龙岩市城乡规划局测绘服务站共同合作完成基于ArcGIS龙岩规划测绘数据库建设研究项目(福建省教育厅项目JB12209)。通过该项目建设,基本上解决了龙岩规划测绘数据统一格式采集、AutoCAD数据格式和ArcGIS平台数据库统一建库问题。

本文针对项目建设过程中规划测绘数据库设计问题进行研究,详细分析了规划测绘数据组成要素,把几何网络模型和逻辑网络模型相结合构建了数据库模型,基于ArcGIS平台和AutoCAD二次开发环境,对规划测绘数据库进行了设计。

本项目建设采用ArcSDE(ArcGIS的空间数据引擎)+MySQL(Oracle公司开放源代码数据库管理系统)存储空间及其属性数据,基于ArcGIS平台和AutoCAD2010二次开发,研究了规划测绘数据库设计的技术路线、模型设计方法和注意事项。[1]

2 规划测绘数据库设计的原则和分类

2.1 规划测绘数据库设计的原则

对城市建设各部门建立统一有效的管理制度,按统一的标准收集、整理和分析各部门在行政办公过程中产生的各种空间信息,建成一个内容涵盖从空中到地表,再到地下包括地形、地貌、地下综合管线、工程地质、建筑物纹理、道路纹理等全方位的,多比例尺、多分辨率、多时相、多种数据来源的城市三维立体空间数据库,并建立有效的数据更新机制。主要原则总结为以下六点:1)标准化原则,2)数据共享原则3)先进性原则,4)实用性原则,5)安全性原则,6)可扩展性原则。

2.2 规划测绘数据库设计的分类

规划测绘数据库和城市基础空间数据库一样,也分为基本空间数据库和外延空间数据库两个部分。[2]

1)基本空g数据库设计

基本空间数据库设计是规划测绘应用系统的空间定位参考基准,目标是建成一个多种表现形式、多数据源、多种比例尺、多分辨率、多时相、多种数据组织形式的综合数据库。其内容包括数字线划地形数据库、数字高程模型数据库、数字正射影像数据库和数字栅格数据库等。基本空间数据库的建设投资巨大,最佳方案分期逐步建设。

2)外延空间数据库设计

外延空间数据库是基本空间数据库的补充,如果说基本空间数据库是城市空间信息的骨架,外延空间数据库则是城市信息化建设的灵魂。以基本空间数据库为基础,从城市建设部门(特别是城市规划部门)的行政审批流程中收集和整理现状建筑、土地利用、房地产、地下综合管线和工程地质等空间信息,作为基本空间数据库的补充。外延空间数据库设计的主要内容包括现状建筑数据库、地名数据库、现状路网数据库、工程地质数据库和地下综合管网数据库等。

3 规划测绘数据基本要素和数据结构模型分析

3.1 规划测绘数据基本要素分析

基于AutoCAD平台DWG格式数据信息主要是通过矢量图来表示,其属性只能通过标注表示,不能够进行空间分析;基于ArcGIS平台SHP数据格式信息属性能够以属性表的形式存储,图形对应属性,能够通过空间数据库对规划测绘数据进行管理、操作和GIS空间分析等。

上述两种数据本质上的区别在于:DWG数据格式主要是以图面的形式表现规划测绘数据名称、层数、面积等属性数据,不利于对图形进行查询和分析,而SHP格式数据是把AutoCAD原图面上的规划测绘各属性数据转变为通过空间数据库管理和查询。AutoCAD支持的DWG格式数据信息主要用作规划测绘数据成果的表现,而规划测绘管理信息系统中数据不仅可以表现城市规划测绘成果,还可以支持叠加分析及统计分析等GIS功能分析 。因此,建设数据库之前需要对DWG格式支持的数据进行必要的取舍和处理。

3.2 规划测绘数据结构模型分析

规划测绘数据可以从地理角度和网络角度两个方面认识。从地理角度看,应能使规划测绘数据本身符合空间实体要素表现和数据库管理的需求;从网络角度看,则需要明确各数据之间的连通关系。若按原有AutoCAD格式中的表现方式,规划信息易产生逻辑上的混乱。

一个几何网络总是与一个逻辑网络相联系,在编辑几何网络要素的同时,相应的逻辑网络元素会自动更新。在几何网络中的网络要素和逻辑网络的元素间有一对一和一对多的关联关系。一个网络要素类是以下四种网络要素类型之一的集合:简单交汇点要素、复杂交汇点要素、简单边线要素、复杂边线要素。几何网络中的简单边线要素与逻辑网络中的一条边元素相联系,几何网络中的复杂边线要素与逻辑网络中多个边元素相对应,同时,这些边必须是一个链状结构。当对一个几何网络要素进行添加或删除时,系统也会自动添加或删除相应的网络元素。在进行网络分析时,系统会向逻辑网络传递分析方案,几何网络和逻辑网络是密不可分的。

4 规划测绘数据库设计的技术路线、模型设计方法

4.1 技术路线

基于ArcGIS平台设计规划测绘数据库同样也遵循普通数据库设计的三个阶段, 即概念模型、逻辑模型和物理模型的设计。

1) 概念模型设计阶段应根据规划测绘数据库的特点和ArcGIS平台的内部结构, 确定各地图要素所属的专题图层, 并对要素的类型、属性、相互之间的联系和约束行为进行简单描述[6]。可利用实体- 关系模型或添加了象形图的扩展E-R模型表示要素类的组织结构及其关联关系。

2) 逻辑模型设计应根据概念设计阶段定义的数据类型、属性及其关系和行为, 确定各地理要素的描述方式。①将离散的矢量数据组织到要素数据集、要素类或关系类中, 影像数据和表面数据组织到栅格数据集或栅格目录中, 地图说明信息组织到注记类中;②定义要素类和表格应包含属性字段, 并指定各字段的属性域、缺省值、精度和范围等特性;③根据地理要素编码标准恰当应用子类控制要素的行为, 设定要素间的关联规则以增强要素的空间一致性。在逻辑模型设计阶段, 可利用面向对象的工业化标准建模语言UML, 将E-R模型中的实体、属性和联系分别映射成UML的类、对象和关系, 组成UML静态结构图。

3) 物理模型设计可利用现有的软件工程技术,借助Case工具将数据库的逻辑模型直接转换成物理模型, 从而避免物理模型设计阶段手工建模的差错, 提高数据库的设计效率。

4.2 模型设计方法

1) 借助Microsoft Visio、Rational Rose或Oracle Designer 2000等Case工具设计UML类图。ArcGIS中要素数据集、要素类、表格、几何网络和关系等元素可用UMLCD中的包、类和关联来表示。最后将设计好的UMLCD输出到XMI文件或Microsoft Repository中。

2) 在Case工具中对生成的XMI文件或Repository进行语意上的差错处理, 在确保没有错误报告的情况下可利用ArcCatalog提供的Case子系统从XMI文件或Repository生成ArcGIS方案。

3) 因橄钟械Case工具还无法对ArcGIS方案定义空间参考和创建拓扑[7], 可利用ArcCatalog数据库管理工具对Case工具生成的ArcGIS方案定义空间参考并创建拓扑, 同时对Case工具定义的部分关联关系及整个数据库方案作进一步的提炼和扩展, 以适应规划测绘数据库的特殊需求。

4.3 主要成果展示

分为三部分,一是数据库系统启动界面,二是建筑楼层查询子系统,三是市区三维地形图查询。详细情况在此省略。

5 总结与展望

以规划部门对信息管理的需求,通过对规划测绘数据的基本要素和数据结构的模型的研究,基本完成了基于ArcGIS平台和AutoCAD二次开发环境对龙岩城乡规划测绘数据库的设计方案,该设计方案基本实现了规划部门所要求的功能和需求。但真要付之实践应用,至少还需满足以下三个条件:一是资金投入,不断完善基本空间数据库和外延空间数据库的建库工作;二是提升相关工作人员的技术水平;三是必须有强力部门牵头协调组织,制定相应技术标准和规范,协调各部门工作。

参考文献

[1] 邱建康. 基于AutoCAD的ArcGIS空间数据库互操作实现[J].湖北:城市勘测,2010(5):54-56.

[2] 熊勤芳,何一明.论城市建设基础空间数据库建设[J].北京:中国测绘,2007(3):80-83.

篇8

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

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

1 数据库设计

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

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

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

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

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

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

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

2 数据库优化

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

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

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

3 结束语

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

篇9

2元数据的定义和形成

元数据又叫做描述数据,是台湾学者通过英文翻译过来的(英文为Metadata),现在我国对该术语还没有形成统一的认识。国际标准化组织地理信息、地球空间信息技术委员会的地理信息元数据标准草案将元数据简单的定义为“数据的数据”。美国联邦地理数据委员会在数字地理空间元数据内容标准中将元数据定义为“关于数据的内容、质量、条件和其他性质的数据”。国际地球科学信息网络学会对元数据定义为“关于数据和信息资源的描述信息,他们描述、指向或者补充与之相关的信息内容”。元数据的定义和专业术语出现的时间虽然不长,但是元数据的本质内涵确实流传了很久。举一个简单的例子,在很早以前的图书管理当中,管理人员对书籍目录的编写,记载了书籍的各种相信内容,包括作者、写作时间、页数和字数等,这种对书籍信息的记录就可以理解为元数据。只不过在以前涉及到的数据不是特别复杂,只是到了现代随着网络技术的普及,数字资源呈现出爆炸性增长的速度,人们为了便于统计这些数字信息不得不将以前的文本化数据向网络表格化数据方面进行转变。从上世纪八十年代开始出现元数据的记录方式,到现在元数据的应用已经扩展到了各个行业。

3元数据标准内容分析

根据元数据的使用目的不同可以将元数据大体分为两类,即:管理和组织数据的元数据;浏览和导航数据的元数据。第一种类型的元数据的代表就是美国nasa描述遥感数据的目录交换格式标准(DIF),这一标准有一个典型的特征就是必备六个字段:登录目录标识、登录目录的名称、参数、原数据中心(包含名字、数据集标识、联系人等)和数据概要描述。另外,为了让信息表达的更加明确,这一标准当中还要增加字段,如传感器的名字、位置、数据分析、计划口令、品质等,增加这些字段可以提高用户的使用效率,尽可能的完善元数据。第二种元数据的代表就是澳大利亚新西兰土地信息委员会制定的元数据标准。这一标准确立的核心元素较少,能够让用户在最短的时间内查询到所需要的数据信息。核心元素能够说明现有数据的种类、数据信息、数据范围、与其他应用的作用,以及获取更多信息的位置等。核心元数据共分为九类三十二个元素:数据集中、展示、数据时间、数据状况、访问和浏览情况、数据品质、联系信息、元数据时间、元数据附加内容。除此之外,核心元数据还要制定了数据格式,使用指南,以方便用户查找信息。

4元数据表达方式的分析

美国联邦地理数据委员会的数字化地理空间元数据内容标准元数据信息单元是元素、实体(包括复合实体)和字集。元素是元数据的基本信息单位,元数据实体由元数据元素组成,元数据实体、元素则构成复合实体,最终部分元素、简单或者复合元数据实体组成元数据子集,元数据的组成结构从小到大排列为,元素、实体(复合实体)、子集。元数据是利用巴克斯诺尔范式进行表达的,巴克诺斯尔范式可以定义常规语言元素和属性标准语法,在确定复合实体和其他元素、实体间的联系的时候,采用类似于数学等式的关系将标识符和表达式用等号连接起来,以此来表表达式产生标识符这一进化关系。这一规则公式代表了各种符合的意义,从数学角度可以解释为,A=B+(C)表示A由B和可选项C构成,A=3{B}5表示A由B重复3到5次而成,子集、实体、元素之间的关系可以用元素比实体进一格的办法来表达,美国的数字化地理空间元数据内容标准利用这种方式可以清晰的表达数据实体和元素之间的各种关系,但是它也只是包含了标准化当中元数据和元素的定义,并没有规定数据的格式,有时候用元数据元素分层缩排来表示,有时候用编号系统表示,这就使得元数据使用起来并不简洁。为了解决这一问题,建立了空间数据信息交换网络,利用比较统一的SGML、Z39.50和其他协议来表示,可以更加灵活的执行元数据。ISO/TC211的元数据标准利用了图表和数据字典相融合的表达方式,清晰的表示了元数据内容之间的各种关系。数据字典可以详细的解释元数据的内涵,图表则是面向对象的统一建模语言UML静态结构图、ISO借口定义语言,在图表当中信息单位是包、类和属性。数据字典当中元数据的信息单元是子集、实体以及元素,这一标准说明了图表和字典当中的对应关系。因为静态结构图准确的解释了元数据的语义和句法结构规则,制定了标准的描述数据信息的方法和格式,通过辅助设计软件可以精确的表达数据元素关系,检查元数据设计的整体性和统一性,所以ISO/TC211的元数据表达方式对全世界各个行业的数据管理和服务产生了重要的影响。

5元数据网络管理模型分析

当下比较流行的元数据管理系统模式可以分为:集中式数据管理体系和分散式数据管理体系。集中式数据管理体系就是所有的元数据都聚集在一个元数据管理站点上,数据集元数据是通过数据制造者免费上传的,数据的使用者可以通过当下的数据管理站来进行访问好查询元数据。这一模式比较有代表性的就是英国地理数描述目录,这一机构的数据来源于国家制图机构。这种模式的优点就是使用者可以迅速的查找元数据,工作效率很高,当然缺点也很明显,就是这一模式分裂了这一管理系统和其他网络元数据体系的链接,导致这一体系的元数据数目较少,在数据信息的更新和维护方面就取决于元数据的上传者,元数据信息不能及时的更新,提供的数据有可能出现错误。分布式元数据管理体系就是要设立一个元数据网络交换的核心连接点,使用者可以在这一连接点进行元数据的查询,而对于元数据的供给者和元数据的数据制造者,则需要设立分节点,保存各种元数据的信息,然后将核心连接点和分节点联系起来。元数据的使用者不能直接访问数据的制造者,只能通过核心连接点来访问数据信息,进行元数据的查询。这一模式的代表性机构就是美国空间数据交换网络,它将用户、服务器内容、数据库服务器进行了分离。通过网关根据数据信息的类型、数据信息覆盖位置等条件构成元数据的查询界面,用户通过网络进行查询,核心连接点通过用户信息向分节点进行传输,然后在将内容反馈到用户浏览的页面当中。这种模式的优点在于能够增加元数据的数量,减少核心连接点对元数据的更新负担,缺点在于元数据的查询速度较慢,影响使用者的查询效率。

6元数据传输各式的统一

虽然当前已经制定了一些元数据的标准,但也只是确定了元数据的内容、含义、类别、组成结构等特征,但是这还不能满足元数据的使用要求,制订元数据标准的目的是为了元数据的查找和检索,了解数据信息和内容,因此必须要注重元数据的传输标准,以此为基础来设计元数据的管理体系,从而达到对元数据的搜寻、修改、更新维护和查询检索。在DOS环境下和ARC/INFO环境下,美国诞生了很多元数据录入和编辑的软件,澳大利亚也开发类似的软件,这些元数据软件都是为了便于自身的查询需求,符合各自制定的元数据标准的。但是各个元数据录入软件的数据格式却不相同,有的是文本格式,有的是HTML格式,还有的是关系型数据库格式,虽然方便了用户,但是在元数据的修改和维护方面成本很高,所以要制定统一的元数据转化标准,方便网络上的元数据交换。美国和澳大利亚建议更改统一的后缀格式,例如,将SGML/HTML的统一转换成XMLDTD或者是XMLSchema,将表格改编成ASCII的格式。这种方式优点在于有利于建设元数据索引和能够在不同地区的互联网当中进行元数据的查询。

7元数据管理平台设计和实现

7.1功能流程设计

功能流程设计需要满足元数据生命周期的要求,当前大多数公司单位都是分散式的数据管理体系,数据比较分散,需要采集多元数据并且简化数据的存储体系。可以将TSV(三层阶梯式图)引用到元数据管理体系当中,在元数据导入配置方面,可以利用悬挂点配置的方式,在任务采集的起始阶段可以配置相应的悬挂点(类似分支点),建设元数据的查询树,在数据源配置方面要表明数据源的类型、衔接数据、账户情况等,还要进行测试观察后续问题。为了更好的完善元数据的管理体系,保持元数据地图的完整性,需要对元数据进行完备的采集,采集方式又分为手动采集和自动采集。手动采集是对用户要求的数据库进行单次采集,自动采集则额外的配置采集时间和采集周期。

7.2元数据的浏览

将配置好的悬挂点体现在元数据的树状结构当中,以形象的结果提供给用户,基于TSV的思想元数据树需要具有三层以上的结构,首先是系统,其次是各系统数据库,再者是各数据库的下属表。在库级元数据方面需要展示各个表名和创立的时间,在表级元数据方面需要双击查看该表的详细信息,包括字段、约束、索引、键、视图等,在下拉菜单当中可以检索相应的元数据信息。在字段级元数据方面包括字段名、字段类型、字段解释、所属的表和库,前三项属于特点描述,后两项是定义描述,这样能够方便对字段进行分析和定位。

7.3元数据的构架设计

篇10

随着计算机技术的发展,计算机的主要应用已从传统的科学计算转变为事务数据处理。在事务处理过程中,并不需要复杂的科学计算,而是需要进行大量数据的存储、查找、统计等工作,如教学管理、人事管理、财务管理等。这需要对大量数据进行管理,数据库技术就是目前最先进的数据管理技术。

二、数据库简介

所谓数据库,就是一个长期存储在计算机内的、有组织的、可共享的、统一管理的数据集合。它是一个按一定的数据结构来存储和管理数据的计算机软件系统。不同的用户可以按各自的需求使用数据库中的数据,多个用户可以同时共享数据库中的数据。数据库系统立足于数据本身的管理,将所有数据保存在数据库中,进行科学的组织,并借助于数据库管理系统,以它为中介,与各种应用程序或应用系统接口,使之能方便地使用数据库中的数据。简单地说数据库就是一组经过计算机整理后的数据,存储在一个或多个文件中,而管理这个数据库的软件就称之为数据库管理系统。数据库系统一般是由数据库、数据库管理系统、数据库应用系统及计算机软硬件、系统人员和用户等组成。

三、数据库设计在二调中的应用

在全国第二次土地调查中,数据库建设就发挥了很大的作用,它将我们调查到的各种数据全部集中在数据库管理系统中,使我们以后能更方便、快捷地进行查询、管理等工作。

建立一个数据库管理系统,首先,我们都需要一个数据库平台,现在我们常用的数据库平台大概有几种:Access、SQL server、oracle等。而对于二次调查这种大型的项目,里面含有很多图形数据、图像数据、属性数据等资料的数据库,我们一般选择SQL server 和oracle这种功能较强的关系数据库作为我们建立数据库的平台。这样就需要我们能够了解数据库建设的相关原理和设计过程。

数据库的设计就是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。一般来说,数据库的设计过程大致分为需求分析、概念设计、逻辑设计、物理设计、概念设计、数据库运行和维护6 个步骤。

具体对于二次调查项目来说,需求分析就是指调查和分析全县各类土地利用情况,按照国家的分类要求和调查规范,对全县土地进行分类、划分,建立一套完整的土地利用管理数据库。

概念设计是指对用户要求描述的现实世界,通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。在二调中就是指土地各个分类之间的相互关系,权属关系,具体来说,就是“县―乡―村―图斑”,由相同权属性质(坐落权属代码)的图斑组成村,由村组成乡,由乡生成县。将属性信息和图形信息相互照应起来,就是数据库中常说的“E―R 模型”。

逻辑设计是指将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。在二调中就是指将土地利用现状中的各种地类、属性转换成数据库管理系统能够识别的模式。并能让我们直观地查询出来。

物理设计是指数据库的存储结构和存储方法,数据库管理系统会根据具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。在二调建库中,指定的管理系统会将我们的基础资料保存在适合的位置。

验证设计是指在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。在二调中,验证设计就是在将数据库中的所必须的数据,图形,属性全部附上,建立一个完整的数据库,并实现各种查询功能,统计功能等。

数据库运行和维护是指数据库系统正式运行,标志着数据库设计与应用开发工作的结束和维护阶段的开始。运行维护阶段的主要任务有四项:(1)维护数据库的安全性与完整性:检查系统安全性是否受到侵犯,及时调整授权和密码,实施系统转储与备份,发生故障后及时恢复。(2)监测并改善数据库运行性能:对数据库的存储空间状况及响应时间进行分析评价,结合用户反应确定改进措施。(3)根据用户要求对数据库现有功能进行扩充。(4)及时改正运行中发现的系统错误。而对于二调的项目,就是指数据库的维护阶段,把数据库中各种数据,如图斑,线状地物,地类界线等,把按照国家要求所需要的属性全部附在数据上。并且根据管理部门的要求,可以对数据库进行修改;另外实现数据库的备份,还原等功能。

这样,一个完整的数据库就建好了。其实在建设数据库的过程中,重要的内容在于前期数据的整理。对于二调来说,无论采用SQLserver 或者oracle 平台,数据库管理系统无论采用苍穹或者mapgis等,数据库的一个基本模式已经建立完整。我们只需要把我们的外业资料转化为数据库能够识别的数据就可以了。这就要让我们保证外业调查地图的正确性,完善性;内业矢量化工作的严谨性。在矢量化的过程中,同时将一些必须的属性同时附上。比如说地类图斑的地类代码,权属性质等。线状地物的宽度,线状地物代码,权属性质等。这些东西是需要我们手工赋值的。其他的一些必备属性,数据库管理系统会根据数据字典,根据国家要求设定好的程序对各种数据进行维护。

篇11

概括来说,数字出版产品种类主要包括数据库、电子书、App、音视频、动漫、在线服务等。在专业出版领域,最为常见和成熟的是数据库和电子书,这两者是同一内容针对不同用户需求而表现出来的不同形态。

数据库是关于某一类特定内容的集合体,海量资源、注重检索是数据库的两大特征,适用于专业内容,尤其是科学、技术和医学内容。数据库产品参考性强、具有工具性特征,是设计产品时要考量的核心要素。数据库产品的销售以机构用户为主,个人用户是未来发展的潜在市场。

二、数据库产品的结构

数据库产品的结构主要包括支撑层(搜索引擎、电子商务、版权保护、管理系统等)、资源层(资源描述、加工标引、词库分类)、功能层(内容浏览、分类导航、精准检索、知识关联)和用户层(知识服务、个性化服务)。

设计产品的最终目的是满足用户需求、提供良好用户体验。对于数据库产品而言,以上四层结构的设计保障了最终目标的实现。在海量内容的基础上,依靠有序的资源组织,借助专业词库、搜索引擎、内容挖掘等基础支撑,快速查找出用户需求的内容,满足查询参考的需要,在实现用户价值的同时实现产品价值。图1为数据库产品的结构图:

三、数据库产品的出版流程

数据库产品的出版,从设计到实现一般需经历6个核心环节:需求调研、资源调研、功能设计、资源加工、产品研发和运营管理。随着用户需求变化、资源增加和技术升级不断螺旋上升、迭展,从而形成一个循环发展的过程。

下面以人卫社的西医图书数据库为例,简述数据库产品的出版过程。

在需求调研阶段,从用户对医学图书的需求特征入手,明确用户的核心需求,即解决临床实际问题、准确定位查询内容。

在资源方面,人卫社出版的医学图书品种多、专业覆盖全面、内容权威,基本可以满足临床工作需求,具备构建医学数据库的基础条件。

在功能设计上,西医图书数据库在产品设计时明确了功能需求,有明晰的内容组织架构,能提供用户所熟悉的导航浏览路径;能够快速精准的检索;从简单的图书内容服务向知识服务转变;针对不同用户实现个性化服务。

在资源加工方面,所有功能的实现都要从资源加工做起,精准检索和知识服务离不开资源的深度标引。

在关键的产品开发阶段,为了解决开发人员与产品设计人员的知识背景壁垒,建立相应项目组共同工作,定期召开例会,反复沟通详细设计。尤其是一些核心功能的开发,产品设计人员提前介入,及时测试,做到问题早发现早纠正。数据库产品的开发,工作量大、功能点多,从底层架构到前端UI设计都需要切实到位,才能保证质量和开发进度。

最后是产品运营管理阶段,需要以产品设计人员为核心,协调市场销售人员、客户服务人员和技术开发人员,及时响应用户需求,形成产品迭展的机制。

四、以内容资源为基础的产品布局

篇12

0 引言

《数据库开发》是计算机专业的一门核心课程,通过本课程的学习,学生将能够进行初步的需求分析,根据分析结果设计数据库的概念结构模型和逻辑结构模型,并能够根据物理结构模型进行数据库实施和简单数据库应用系统的开发。本课程实践性非常强,注重培养学生的动手能力。所以,设计课程过程中,应该更加注重课程本身的实用性,更加注重课程内容本身与企业岗位的相结合。

《数据库开发》课程设计主要经历了企业调研、课程标准开发、课程方案设计等几个阶段。下面就分别说明一下课程设计的每个阶段。

1 《数据库开发》课程企业调研

进行企业调研是课程建设要进行的第一步,只有进行了充分的企业调研才能培养出满足社会和企业需求的合格人才。才能根据需求进行课程的设计,这样才能使学校的课程更加适合企业,更加适合社会。为此,我们的项目团队到企业进行了实地调研,我们获取到了企业对于学生的需求和对于课程设置方面的建议。

本门课程在进行企业调研之前已经根据之前的教学经验设置了本门课程的任务,具体任务设置如下:

任务1 数据库分析与设计

任务2 系统前台页面设计

任务3 数据库实现

任务4 系统后台实现

任务5 数据库维护

通过与企业专家进行研讨,最终获取来自企业关于《数据库开发》课程设计的建议。具体建议如下:

任务1 教学要求及建议:

①数据库基本概念和知识简单带过,达到了解的程度即可。

②需求分析难度较高,不建议让学生进行整个系统的需求分析,可以编写需求规格说明书的部分内容。

③进行数据库概念结构设计时,可以先画出系统的各个部分的E_R图,最后在将整个系统的E_R图画出来。

④可以使用PowerDesigner软件进行数据库的概念结构设计和物理结构设计。

⑤这部分内容比较难,需要多练习,可以适当多加一些课时。

任务2 教学要求及建议:

①本部分内容是对于之前所学网页设计和JSP的内容进行熟悉,可以以学生做为主。

②进行分小组教学,小组内进行角色划分,充分发挥团队的力量。

③因为是之前的知识可以适当减少课时。

任务3教学要求及建议:

①对于数据库管理软件可以选择相对比较容易上手的,如SQL Server、MySQL等。

②数据库管理软件图形界面操作时,应该注意多做练习培养学生的动手能力,选择是实例可以由浅入深,逐步较大难度和工作量。

③应该重点讲解SQL语句,因为SQL语句的大部分语法都是可以在不同数据库通用的。

④实现所用项目的数据库时,也应该将尽量让学生自己进行SQL语言的编写,这样可以更好的使掌握SQL语句的应用。

任务4教学要求及建议:

①讲解Spring的基本原理和用法时,应通过简单的实例学习Spring的应用。

②学生应该进行分小组不同模块的开发练习,小组规模不要太大,3个人为一组比较适宜。

③不应占用太多课时。

任务5教学要求及建议:

①数据库维护的内容应该以视图和索引为主,进行重点讲解。

②数据库的用户和权限的应该多做实例。

③触发器的使用可以简单讲解。

课程总体建议:

①课程讲解内容较多,且内容难度较高,需要课时较多。

②应重点讲解任务一和任务三的内容,其次是任务四和任务五的内容。

③学生多做练习,注意培养他们的团队合作能力和沟通能力,注意锻炼学生的自学能力。

有了企业调研结果作为课程设计的依据,就可以进行课程标准的制定。

2 《数据库开发》课程标准的设计

课程标准是一门课程进行教学的根本依据,在课程标准中要包含课程的设计思路、能力目标和课程内容框架等内容。制定课程标准一定要详细描述课程各方面的内容,制定完整准确的课程标准是进行课程设计重要环节。

2.1 课程设计思路 本课程主要以企业实际项目为主线,通过五个典型的工作任务,使学生掌握数据库开发的相关知识和技能;学生在学习本课程过程中,主要学习的内容包括:数据库需求分析、数据库模型设计方法、使用数据库管理软件对数据库模型进行实施、使用数据库管理软件管理数据库,对已有的数据库开发数据库应用系统对数据进行增删改查的基本操作。将该课程的整个教学任务按照项目分为5个典型的工作任务,具体描述如下:

①数据库需求分析:对所选用的项目的需求使用需求分析方法进行分析,并编写需求规格说明书。

②数据库模型设计:根据上一个任务中编写的需求规格说明书,进行数据库的概念结构设计、逻辑结构设计和物理结构设计。

③数据库模型实施:选择数据库管理软件对上一个任务中设计的数据库模型进行实施,并介绍SQL语句的基本应用。

④数据库查询操作及视图、索引等数据库对象应用:对于已有数据库使用SQL语句进行查询的操作,并介绍视图、索引等主要数据库对象的应用。

⑤数据库应用系统开发:开发一个基于Web的数据库应用系统,对已有数据库实现数据的增删改查的功能。

以上的典型工作任务,与企业调研之前的工作任务对比情况,如下表所示:

2.2 能力目标

①能够进行初步的需求分析

②能够根据需求分析的结果设计数据库的概念模型

③能够将数据库概念模型转换为逻辑模型,并生成物理模型

④能够使用SQL语句实施数据库模型

⑤能够使用SQL语句进行简单数据查询

⑥能够使用Spring+Hibernate开发基于Web数据库应用系统

在课程标准中,还包含其他的一些内容,比如课程内容、课程的考核方式等内容,这里不再赘述。制定完课程标准后,就要依据课程标准进行课程方案设计。

3 《数据库开发》课程方案设计

根据课程标准,进行课程方案的设计,课程方案设计一般包含课程总体方案设计、课程任务方案设计和课程活动方案设计。

3.1 课程总体方案设计 课程总体方案设计是对于本课程的总体的介绍,其中包含课程的课时、适用专业、学习内容、能力目标、学习成果和考核方案等内容。

3.2 课程任务方案设计 课程任务设计方案是对于课程中涉及的典型工作任务的描述,它具体说明了课程中每个任务的学习内容、能力目标、学习环境、教学方法、学习成果和评价标准等内容。

3.3 课程活动方案设计 课程活动方案设计是对于每个典型工作任务中具体活动的描述,它具体说明了在典型工作任务中每个学习活动,介绍学习活动的内容、目标、活动具体设计、课程用到的参考资料等内容。

在完成课程的方案设计后,就可以根据方案进行数据库的实施了,在实施过程中还会遇到各种问题,实施完成后,要根据实施的情况,对课程的课程标准、课程设计方案等内容进行修订,从而使得课程的设计方案更加完善。

4 结论

由上面的内容不难看出,《数据库开发》课程的设计或者是其他技术类课程的设计,都应该注重实践,减少课程理论知识的讲解,将课程的理论知识融入到学生完成的典型工作任务中,真正要做到“做中学”,要重视课程本身与企业的关联,要做到课程为企业服务,另外,课程本身中的内容还要与时俱进,跟得上社会发展。

友情链接