数据库应用实践
⑴ 求一篇基于web的数据库设计社会实践调查报告
《基于web的数据库设计实践》
The Database Design Based On WEB Used In Remote Concurrent Design
Abstract: the paper analyses the database characteristics used in the remote concurrent proct design system based on Internet, deeply researches the database structure, interface and the method of the data safety.
Keywords: Internet, remote concurrent design, database based on Web
近年来,随着Web技术的蓬勃发展,人们已不满足于只在浏览器上获取静态的信息,想要通过它发表意见、查询数据。随着电子商务的普及人们开始参与一些网络商务活动,这就迫切需要实现Web与数据库的互连[1]。产品异地并行设计对数据的要求有一定的特殊性,主要有(1)产品数据多种多样。产品设计,特别是机械产品设计常常是大型而又复杂,在异地通过不同的设计小组,按不同的分工设计同一产品,所要管理和通讯的数据类型随着分工的不同而有不同的表现形式,如常规的数字组成的数据集,以图形、图象形式表达的产品模型数据,以文字形式描述设计的文档,还有图表、公式等形式,复杂多样。(2)产品数据交换频繁,流量大。产品设计是一个协同工作的创造性集体智慧凝聚的过程,要使设计顺利进行,分布在异地的不同设计小组之间就要经常性地进行数据交换,并且有些形式表达的产品数据是较大的文件。(3)产品数据的一致性要求高。分工合作的不同设计小组之间的设计任务是彼此关联,互相依赖的。如果其中一个数据改变了,相关联的数据必须跟着改变,在Web数据库设计时必须考虑数据的一致性问题。(4)产品数据的并发性访问频繁。由于异地产品设计的特殊属性,数据的并发性访问非常频繁。所以,进行基于Internet的产品异地并行设计的Web数据库设计与一般的电子商务不同,要充分考虑以上属性。本文结合我们近期开发的机械产品异地并行设计系统(RCDS, Remote Concurrent Design System),综合比较了多种当今流行的网络数据存取技术,设计出可靠安全的数据库系统。
1 Web数据库连接方案
1.1数据库连接方案选择
RDO、DAO和ADO是比较常见的Web数据库访问技术。
DAO (Data Access Objects) 数据访问对象是第一个面向对象的接口,它含有 Microsoft Jet 数据库引擎(由 Microsoft Access 所使用),并允许 Visual Basic 开发者通过 ODBC 象连接到其他数据库一样,直接访问到 Access 表。DAO 最适用于单系统应用程序或小范围本地分布使用,对大范围的异地并行设计显得功能不够强大。
RDO (Remote Data Objects) 远程数据对象是一个到 ODBC 的、面向对象的数据访问接口,它同易于使用的 DAO style组合在一起,提供了一个接口,形式上展示出所有 ODBC 的底层功能和灵活性。RDO 在访问 Jet 或 ISAM 数据库方面有一定的限制,而且它只能通过现存的 ODBC 驱动程序来访问关系数据库。但是,RDO 已被证明是许多 SQL Server、Oracle
以及其他大型关系数据库开发者经常选用的最佳接口。RDO 提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。对异地并行设计Web数据库来说也不是十分理想。
ADO(ActiveX Data Objects)为ActiveX组件中数据库访问组件,ASP就是通过它实现对数据库的访问。ADO 是 DAO、RDO 的后继产物。ADO 2.0在功能上与 RDO 更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。ADO “扩展”了 DAO 和 RDO 所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。例如,ADO 没有与 rdoEngine 和 rdoEnvironment 对象相等同的对象,可以包含 ODBC 驱动程序管理器和 hEnv 接口。尽管事实上接口可能是通过 ODBC OLE DB 服务提供程序实现的,但目前也不能从 ADO 中创建 ODBC 数据源。ADO 是为 Microsoft最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ADO 在关键的 Internet 方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。同时 ADO 使用了与 DAO和 RDO相似的约定和特性,简化的语义使它更易于学习。
ADO最早是在IIS中引入的,主要用于ASP,用ADO可以使服务器端的脚本通过ODBC存取和操纵数据库服务器的数据。使用ADO的对象可以建立和管理数据库的连接,从数据库服务器请求和获取数据,执行更新、删除、添加数据、获取ODBC的错误信息等。ADO是ASP方案中最具吸引力的数据库连接控件,它为用户提供了连接任何兼容ODBC的数据库以及创建全功能数据库应用程序的能力。
ADO具有简单易用、高速、占用资源少等的优点。不同于DAO和RDO,ADO有着更高的执行效率。ADO 对象模型如图1a所示。每个 Connection、Command、Recordset 和 Field 对象都有 Properties 集合,如图1b所示。
a) b)
图1 ADO对象模型及属性
应该说,ADO是微软的下一代数据库连接技术,用来全面取代RDO和DAO的数据访问工具。从发展趋势来看,ADO今后将逐步替代老的DAO特别是RDO数据访问接口,成为新的远程数据访问方法。所以,选择ADO作为产品异地并行设计的Web数据库接口技术是合适的。
1.2 ADO应用分析
ADO 并不是自动和现存的数据访问应用程序代码兼容的。当 ADO 封装 DAO 和 RDO 的功能性的时候,必须将许多语言要素转换为 ADO 语法。在某些情况下,这将意味着要对现存代码的某些功能做一个简单转换。在其他情况下,最佳的做法可能是用 ADO 的新功能重写该应用程序。
包含在 DAO 和 RDO 模型中的许多功能被合并为单个对象,这样就生成了一个简单得多的对象模型。然而,由于这个原因,起初可能会觉得找到合适的 ADO 对象、集合、属性、方法,或事件非常困难。与 DAO 和 RDO不同的是,尽管 ADO 对象是分层结构的,但在分层结构范围之外也是可以创建的。同时,也应当注意,ADO 当前并不支持 DAO 的所有功能。ADO 主要包括 RDO 风格的功能性,以便和 OLE DB 数据源交互,另外还包括远程和 DHTML 技术。
一般说来,在 ADO 的演化过程中,马上把大多数 DAO 应用程序(except possibly是那些使用 ODBCDirect 的应用程序)移植到 ADO 上为时太早,因为当前的 ADO 并不支持数据定义 (DDL)、用户、组等等。不过,如果只将 DAO 用于客户—服务器应用程序,并不依赖于 Jet 数据库引擎或不使用 DDL,那么就可能移植到 ADO。最终,Microsoft 将提供一个 ADO DDL 组件来帮助进行 DAO 到 ADO 的移植,并为 OLE DB 供应商提供一般的 DDL 支持。
在ASP中使用ADO技术来访问Web数据库,其应用前景是无可估量的。原理图如下:
图2 ADO在ASP程序中的应用
2 Web数据库管理系统
常见的数据库类型有面向对象的数据库(OODB)和关系型数据库。OODB对主流数据库应用开发来说是相当新颖的,使用OODB使应用程序中的数据对象与现实世界中的对象一一对应,面向对象数据库扩充了对象模型。一个常用的对象模型是由对象数据库管理组(ODMG)开发出来,具有比传统的关系数据库更优越的性能,但毕竟在目前还是一种探索阶段,暂时还未有相应的技术普及。
关系数据库已经是数据库体系的世界标准。当开发一个数据驱动应用程序时,大多数情况下用户需要访问网络(如Internet、Intranet等)上的数据信息,就RCDS就是建立在网络的信息通讯之上,是完全的客户机/服务器应用程序。
SQL Server是一个可缩放、高性能的关系型数据库管理系统(RDBMS),它的设计是为了满足分布式客户/服务器计算的需要,允许客户应用程序使用几个特定的工具和技术控制从服务器检索的数据。这些包括触发器、存储过程和规则的选项。因此,系统采用MS SQL Server7.0作为后台数据库。
3 Web数据库结构
数据模型通常有层次模型、网状模型、关系模型及OO(面向对象)模型等。其中关系模型是建立在数学概念基础之上的一种模型,由若干个关系框架组成的集合,它也是到目前为止最为成熟的一种数据库类型。本文RCDS采用MS SQL Server作为后台数据库,根据数据库工具和数据库特点,开发出一套可靠健壮的数据存储方案。
整个数据库共有AdminData、ChatNames、DesignUnits、Message、OnlineUnits、Procts、RqtTasks、RqtTaskUnits、RqtDesignUnits、ShareData、Tasks、TaskUnits和UploadFiles等表格。在建立数据模型的时候首先考虑是要避免重复数据,也就是建立规范化数据库。规范化数据库可以通过被称为范式水平的指标来衡量,级别有第一范式、第二范式和第三范式,通常第三范式就是要达到的目标,因为它提供了数据冗余和开发简易性之间的最好折衷。
RCDS数据库正是按照第三范式标准来设计的,它保证了模型的精简和表格的紧凑性。而第三范式标准也最大发挥了关系数据库的优势,图3是部分表格的视图链接情况。
图3 关系表格视图
4.1 并发控制的处理
在多个用户同时访问一个数据库时就产生并发问题,特别是在其中一些用户对数据库有添加或删除修改等操作时,那么其他所获得的数据可能是一塌糊涂,甚至造成整个数据访问的冲突、终止,从而使系统发生混乱以至崩溃。RCDS采用的解决办法是锁定技术,总体上分为共享锁定和排它锁定两种类型(如图4)。前者是指同时有几个过程共享一个锁定,比如一个用户(或客户)正在读取一个数据,虽然在这之前他已经对该数据设置了锁(LOCK),但其他用户同样可以(也只能是)读取它。而排他锁定一般应用于对数据进行修改或更新(包括添加删除等)操作,即是用户在修改一个数据之前设置了锁定,在一定的时间里其他用户是不能访问到该数据的,只有等待锁定解除(UNLOCK)才能进行访问到它,当然在计算机处理的时候,其他的用户一般是感觉不到有这个等待时间的。通过这样的处理,就保证了数据的一致性。
a) 共享锁定
b) 排它锁定
图4 安全锁定类型
在ADO进行数据库操作时,它的锁定类型相对来说复杂一些。打开记录集时,可以指定锁定类型。锁定类型决定了当不止一个用户同时试图改变一个记录时,数据库应如何处理。ADO中的锁定主要有以下四种类型:
l AdLockReadOnly 指定你不能修改记录集中的记录
l AdLockPessimistic 指定在编辑一个记录时,立即锁定它
l AdLockOptimstic 指定只有调用记录集的Update方法时,才锁定记录
l AdLockBatchOptimstic 指定记录只能成批地更新
在缺省情况下,记录集使用只读锁定。要指定不同的锁定类型,可以在打开记录集时包含这些锁定常量之一。部分代码如下:
… …
Set MyConn=Sever.CreateObject(“ADODB.Connection”)
//定义数据库连接MyConn
Set RS=Sever.CreateObject(“ADODB.RecordSet”)
//定义返回数据记录集
MyConn.Open “ByktDB.dsn”//建立应用程序与数据源的连接
RS.Open “SELECT * FROM Mytable”, MyConn, adOpenDynamic, adLockPessimistic
//进行数据库操作,并且设置锁定
RS.Close
MyConn.Close
… …
4.2产品数据一致性处理
数据的安全因素除了前面所提到的并行控制之外,还要考虑事务处理。网络数据库有其不同的地方,例如:假设某个时间有一个设计人员在你的站点上索取一些设计信息,有关的设计信息存储在两个表中。一个表用来保存该设计者的信息,另一个表包含了要索取的设计信息。该设计人员的信息已经输入了第一个表中。但是,就在这时,发生了意外情况,一道闪电击中了你的服务器,使第二个表没有被更新。在这种情况下,一个健壮的系统就必须保证最后的结果是两个表都没有被更新过。这时候事务处理就发挥了重要的功效。
使用事务处理,你可以防止第二个表没有被更新而第一个表被更新的情况出现:当一组语句构成一个事务处理时,如果一个语句没有执行成功,则所有的语句都不成功。不管是针对多个表,还是进行表内多个记录的操作,它们所需要的安全保证是一样的。事务处理的实现代码如下:
… …
Set MyConn=Sever.CreateObject(“ADODB.Connection”)
MyConn.Open “ByktDB.dsn”
MyConn.BeginTrans //事务处理开始
MyConn.Execute “INSERT DataTable(Num) Values(‘3628’)”
MyConn.Execute “INSERT Shipping (Address) VALUES(‘Paris,France’)”
MyConn.CommitTrans //事务处理结束
MyConn.Close
… …
在上面这段代码中,用BeginTrans方法和CommitTrans方法来标记事务处理的开始和结束。在BeginTrans方法被调用之后,CommitTRans方法被调用之前,不管出现什么错误,两个表都不会被更新,在这个过程中所有处理的数据都保持了完全可靠的一致性。
⑵ 董志鹏 侯艳书 SQL Server 2012中文版数据库系统、应用与开发实践教程是哪年出版的
出版日期是2016年11月1日
网页链接从当当网试看里面看到的,第二页。
⑶ 谁有《Excel VBA整合数据库应用从基础到实践》PDF版
书籍请在这里下, 应该是这部不会错, 可以的话麻烦采纳一下答案. 如果不是这本的话可继续追问.
⑷ 矿产资源储量空间数据库建设与维护中MAPGIS 应用实践
蒋洪明 李雪洁 肖 茜
(江苏省地质资料馆)
摘 要 利用馆藏地质资料信息对全省矿产资源储量空间数据库进行实时更新维护,是馆藏地质资料服务经济社会的有效途径之一。为了提高建库与维护工作的质量、效率以及加强技术交流,作者对江苏矿产资源储量空间数据库建设应用过程中,地质资料发挥的重要作用,以及利用 MAPGIS 技术采集矿体资源储量估算范围、水平投影图形拐点坐标的方法和步骤进行了总结阐述。
关键词 地质资料 MAPGIS 矿产资源 空间数据库
随着地质资料信息化的发展,对地质资料信息需求也在不断地提高。储量空间数据库建设与数据维护工作,是我省地质资料信息资源管理的一项重要内容。在促进地质资料深化利用过程中,地质资料为矿产资源储量空间数据库建设与维护,提供了重要的基础信息资源。通过地质资料提供的可靠数据信息来源,我馆以 MAPGIS 技术为基础,采用创新方法以及现代化信息系统技术,使矿产资源储量空间数据库数据得到了不断补充、更新与完善,实现了矿产资源储量空间数据库的动态管理,同时,也进一步加强了地质资料信息集群化产业化的发展。
1 储量空间数据库的建设与维护
随着信息技术在国土资源领域的应用发展,2003 年 10 月 14 日,国土资源部办公厅下发了《关于建立矿产资源储量空间数据库的通知》(国土资厅发 [2003]324 号),要求各省国土资源行政主管部门开展矿产资源储量空间数据库建设与日常维护工作,带动矿产资源储量科学化、规范化、标准化、图形化管理发展,促进矿产资源储量管理由传统的“以数管矿”向“以图管矿”新模式的转变,增加矿产资源储量信息对探矿权、采矿权和矿产资源规划等矿政管理工作的支撑力,进一步提高矿政管理现代化水平。此项工作的开展,拓展了馆藏地质资料服务经济社会的新途径。
1.1 矿产资源储量空间数据库建设
根据国土资源部下发的矿产资源储量空间数据库建设工作技术要求,矿产资源储量空间数据库建设,是通过提取地质资料信息,进行矿区矿产特征以及资源储量估算范围水平投影图形拐点坐标数据等相关信息的采集。
储量空间数据库建库的流程为:确定入库矿产地;收集矿区资料;矿区资料预处理分析,确定作为矿产资源储量估算水平投影的图件;圈定矿体资源储量估算范围水平投影图形,量算拐点坐标;采集矿区地质特征等相关信息;坐标数据与信息采集质量检查与订正;数据录入;数据录入质量检查与订正;提供利用。
1.2 矿产资源储量空间数据库维护
矿产资源储量空间数据库维护工作就是对新发现的矿产地,按建库工作流程,采集坐标数据与信息,填加入库;同时对已提供利用的矿产资源储量空间数据库在应用过程中发现的问题,进行检查、核实与更正,从而增强矿产资源储量空间数据库的现势性、准确性。
2 矿产资源储量空间数据库维护现状
矿产资源储量空间数据库建设与维护是一项长期、持续的工作。在工作应用过程中,发现存在着以下两个方面的问题。
一是矿产资源储量数据库中的矿产基本特征信息的数据采集,来源于汇交至我馆的地质资料报告中的数据,但在实际的工作过程中,仍然有大量的成果地质资料报告并未汇交至我馆。
二是在初期建库阶段,矿体资源储量范围水平投影图形拐点坐标,采用了人工直接在纸质矿区图件上丈量、读取数据、填写数据采集表;这一方法的弊端为采集的数据精度比较低,而且差错率也较高,大大增加了数据录入及校对工作的工作量,从而降低了工作效率。
3 MAPGIS 技术在矿产资源储量空间数据库建设中的辅助作用
针对储量空间数据库应用中存在的问题,我馆总结经验,研究方法,从而采取了相应的解决措施。矿产资源储量空间数据库建设是“以图管矿”思想的体现,其技术关键点是矿体资源储量估算范围水平投影图形科学、合理、准确地圈定,拐点坐标精准地量算。从建库工作流程和此项工作的技术关键点可以看出,矿体资源储量估算范围水平投影图形的拐点坐标精准量算工作环节,存在探索研究的空间与必要性。
为了提高矿体资源储量估算范围水平投影图形拐点坐标数据采集的精度与工作效率,江苏在矿产资源储量空间数据库建设过程中进行了探索研究,引入 GIS 技术,实现计算机自动、精准采集坐标数据,很大程度上提高了拐点坐标数据采集精度与工作效率,创建了矿体资源储量范围水平投影图形拐点数据采集新方法。
由于矿体是成矿地质作用形成的可开发利用的自然地质体,且形态多样,千差万别,其水平投影范围的平面形状亦是多样、各异。因此,人工量算其坐标点数据,费时、费力,且精度与效率都低。应用MAPGIS 软件的强大功能,可精确、快捷地采集拐点数据,并能自动生成坐标点数据。具体工作步骤如下。
3.1 MAPGIS 生成标准图框
打开 MAPGIS 投影变换模块,利用键盘生成矩形图框,根据需要填写上相应的参数。坐标系通常填写“国家坐标系”,它的起始代号根据原地质图相应的带号填写;标注选择为“公里值”;网起始值是公里网从哪点开始,以光栅图内图廓左下角 X 及 Y 值作为起始公里值,以内图廓右上角 X 及 Y 坐标作为终止公里值,单位选择“公里”。根据原图比例尺,填写网格间距,例如,原图比例尺为 1∶2000,则网格间距为 0.2,网格线类型选择“绘制实线坐标线”,通过以上设置,将生成所需要的标准图框。
3.2 生成 MSI 影像文件
在 MAPGIS 主界面上,通过图像处理模块,打开图像分析,在转换数据类型中选择要转换的光栅文件的类型(如JPG、TIF、BMP等),选择需要转换的光栅文件,然后指定转换后的MSI影像文件存放目录。在影像文件中,选定生成的 MSI 影像文件,打开“镶嵌融合”功能,选择“参照点 / 线 / 区文件”。为保证配准的精度,选取多个控制点,进行配准,每确定一个控制点后,影像图下方控制点 ID 就会依次出现控制点的 X、Y 坐标,然后通过校正预览,查看校正后的影像是否准确,影像完成校正后,对形成的校正影像文件进行保存。
3.3 拐点投影及坐标转换
在 MAPGIS 中,进入实用服务模块,选择投影变换下级目录用户数据点文件投影转换,将已知的坐标点文件(TXT 文本文件)导入进来。通过“用户投影参数”设置,输入投影相应的参数,根据要求,设置相应的文件类型。按要求完成“结果投影参数”的设置。其中,注意比例尺按需要投影的比例尺确定,投影带类型及序号应根据坐标确定,对“点图元参数”进行“子图号”的设定。设置完成后,将点保存,即形成了矿体资源储量估算范围水平投影图形拐点(含标志点)坐标表,见表 1。
新建一个MAPGIS项目工程,新建一个点文件,打开点编辑,根据属性标注释。然后再新建一个线文件,将点文件按属性标上的序号顺序,进行连接,按住 Ctr 键,点鼠标右键,线将自动闭合。通过其他文字及图的编辑功能,形成矿体资源储量估算范围水平投影图形,见图 1。至此,矿体资源储量估算范围水平投影图形拐点坐标计算机软件化采集工作完毕。
表 1 矿体资源储量估算范围水平投影图形拐点坐标表
图 1 矿体资源储量估算范围水平投影图
4 地质资料在矿产资源储量空间库中的作用
从矿产资源储量空间库建设与维护过程可以看出,矿产资源储量空间数据库建设核心任务是采集矿体资源储量估算范围水平投影范围的拐点坐标和矿区地质特征等相关信息进行入库。这两方面的重点信息均蕴藏在矿区地质勘查报告中。因此,收集到合格的矿区地质勘查报告是矿产资源储量空间数据库建设的前提条件。馆藏的矿区地质勘查报告均为通过评审、正式印刷汇交的地质报告;且通过了汇交验收,报告质量与权威性毋庸置疑,其文字内容的齐全性、数据的准确性、图件的精确性,为矿产资源储量空间库的建设提供了数据与信息来源与质量保障。
5 结语
利用馆藏地质资料,通过 GIS 技术在矿产资源储量空间数据库建设中的创新应用,江苏于 2004 年率先建设了全省矿产资源储量数据库,并提供全省矿政管理和基本建设等领域利用。同时根据有关要求,在已建数据库的基础上,不断补充、维护、完善,实现对空间数据库的动态管理。江苏地质资料馆持续应用在实践中自己创建的矿体资源储量范围水平投影图形拐点坐标采集方法,按年度维护与实时维护相结合的方式,开展全省矿产资源储量空间数据库维护工作。截至 2011 年底,全省矿产资源储量空间数据库中入库的矿区达 499 个,涉及 616 个矿产地,较好地维护了江苏矿产地信息的现势性与准确性,为全省矿业权设置、矿产资源规划、建设项目压矿审批等矿政管理工作提供了有力的支撑服务。
