首页 > 文章中心 > 对象数据库

对象数据库

开篇:润墨网以专业的文秘视角,为您筛选了八篇对象数据库范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

对象数据库范文第1篇

关键词:对象数据库;编译技术;属性

中图分类号:G250.74 文献标识码:A 文章编号:

作为计算机软件的一个重要分支,数据库技术一直是备受业界关注的焦点。从20世纪60年代末开始,数据库技术经历了层次数据库、网状数据库和进而进入关系数据库阶段至今,数据库技术的研究也不断取得进展。80年代,关系数据库是发展的主流,几乎所有新推出的DBMS产品都是关系型的[1]。研究的方向主要有两条:一是改造和扩充关系数据库,以适应新的应用需求;二是改用新的数据模型,例如面向对象的数据模型、基于逻辑的数据模型等。

1、面向对象数据库概述

属性值都是直接量的对象是简单对象,用其他对象作属性值的对象是复合对象,复合对象是一个层次结构,这是对象概念不同于关系模型中元组的重要特征。对象间通过发送消息实现相互通信,属性值查询和修改只有通过向对象发消息调用才能实现;具有相同特征的对象被组织成了类,类间存在继承、聚集的关联。与传统的数据模型相比,面向对象数据模型具有许多优势,它具有表示复杂对象的能力,通过封装和信息隐藏概念提供了模块化机制,通过封装和继承概念提供了软件重用机制,而通过滞后联编等概念得到了系统扩充能力。面向对象数据库(OODB)是指对象的集合、行为、状态和联系是以面向对象数据模型来定义的。面向对象数据库系统(OODBS)是指支持定义和操作OODB的数据库系统[2]。

2、面向对象数据库的基本要素及其结构

(1)抽象。随着网络技术和分布式数据库技术的发展,产生了客户机/服务器(Client/Server)结构和微内核结构的操作系统。客户机/服务器结构的思想如下:将操作系统分成运行在用户态并以C/S方式活动的进程以及运行在核心态的内核两大部分。内核部分除外,操作系统的其余部分将会被分成若干相对独立的进程,并且每一个进程实现一类服务,称作服务器进程,例如,提供文件管理服务、进程管理服务、存储管理服务、网络通信服务,等等。(用户进程也在该层并以C/S方式活动,是一种客户进程)。服务器进程的任务是检查是否有客户提出服务请求,如果有请求则在满足客户的要求后返回结果,于是,用户进程与服务器进程形成了客户机/服务器关系。运行在核心态的内核把该消息传给服务器;服务器执行相应操作,再通过内核用另一种消息把结果返回给用户[3]。

(2)封装性(信息隐蔽)。以往的电子商务应用系统常常采用C/S结构进行数据的管理。所谓C/S结构即Client/Server(客户机/服务器),是一种两层结构,采用Intranet技术。

(3)共享性。SQL Server Management Studio替代了原有SQL Server 2000下的企业管理器的功能,可以充分管理SQL Server。它是一套管理工具,采用简易用户接口提供辅助开发方程式工具和管理服务器的许多功能,用于管理从属于SQL Server的组件。此集成环境使用户可以在一个界面内执行各种任务,例如,实现备份数据、编辑查询和自动执行常见函数等任务,也大大改善了创建表、视图、触发器、用户自定义函数和存储过程的工具。

3、面向对象数据库的编译技术

假如我们进一步把图1的对象数据库框架从软件开发角度进行分离的话,除去安全部分内容,则数据库的框架结构可以简化为如图1所示。

图1基于对象数据库设计框架示意图

通过将数据加密、表、数据库、Web Form代码及表示层(Web Form)的分离,分别以类、Web服务、ASPX等的形式存在,因此不仅实现了各业务逻辑之间的无缝连接,同时也增加了代码的系统的可维护性和可重用性。打开关闭连接数据库、执行数据的增、删、改、查等功能。CourseAction.java实现了课程管理的请求转发,为了实现对ADD、REMOVE、LIST、VIEW、TRASH、EDIT、SAVE等不同的要求,CourseAction类设计实现了performAdd()、performRemove()、performList()、performView()、performTrash()、performEdit()和performSave()方法。由于这七个方法在编写风格上基本一致,所以我们针对performList()方法来说明CourseAction类的构建过程。下面是CourseAction类的部分实现代码。数据库技术在系统中是十分重要的,状态应该随时能查询到[4]。

AddStrings(pString)返回一个字符串的基于0的编号,该值用来连接字符串到按钮上,其中的字符串参数pString需要两个结束符来表示结尾,必须将字符串写成如下形式:pString= "Only one string to add\0";CString类不能提供这样的功能,因为不可能在CString中保存超过一个结束符的字符串。所以,将CString中的字符串取出,以char定义的字符串保存,再对该字符串添加一个结束符,做法如下:

调用工具栏类。先在类CA1Dlg中实例化CStandardBar的对象。

CStandardBar m_StandardBar;

别忘了在这个文件里包含CStandardBar类声明所在的头文件。

#include "StandardBar.h"

m_StandardBar.AutoSize(); //重新计算控件的大小

return 0;

}

参考文献

[1]茅健. 2.0+SQL Server 2005全程指南[M]. 电子工业出版社,2004.

[2]启明工作室. 精通SQL Server 2005数据库应用系统开发[M]. 北京:人民邮电出版社,2007.

对象数据库范文第2篇

关键词:面向对象;数据库开发;编程;计算机应用;信息系统

引言

当前关于数据库的应用系统,最主要的就是两层的结构,把关系数据库既作为存储机制,又作为管理工具。这样的系统最主要的设计就是数据库的设计,可以说实体及关联的设计与修改就是整个应用系统的开发过程。但是如果客户变动需求或者设计人员根本就没有搞清楚最主要的需求是什么,那么设计的程序将是难于使用的,一个微小的变动却使得设计者不得不大量的改变原码或推翻重做。关系数据库无法适应频繁变动的需求。这里应用新的方法去模拟难以捉摸的现实需求。

1 关系数据库的优势

当前用于存储数据的持久机制主要有文件系统、数据库系统(按数据模型分为层次型、关系型、网状型)。可以采用文件或电子表格存储数据,但运行业务时具有很大的局限性。对于非专业人士,尝试维护和管理分散的企业中的信息孤岛会遇到数据访问和准确性问题。性能(尤其是在客户需求的高峰时段)可能会降低至暂停状态。

关系数据库在这些方面强大得多,尤其在分析方面。关系数据库使能够以复杂、有意义的方式操作数据,从而可以检索到与特定条件相匹配的所有记录,交叉引用不同的表以及批量更新记录。在以下情况下,关系数据库是最好的选择:要输入(并经常更改)分散在业务中不同计算机上的多个电子表格或其他文件中的信息;数据(以及访问数据的用户数量)不断增加或更加难以使用、管理、保护,还会遇到性能问题;基于数据生成特定或常规报表以进行决策制定,但无法始终确保数据的准确、完整性。

2 数据库开发的对象思想

面向对象的理念是自发的,源自天然的。所以面向对象技术被设计得最遵循思维的自然方式。也就是说,用到的符号,术语,定义和每个人都相关。基于面向对象的分析和设计技术的这些特点,客户可以从始至终参与到系统的分析中去,参与到系统的设计。由于在讨论对象之间的交互作用时,大家使用同样的术语概念。客户还可以参与文档的创建和编写,因为他明确已有对象的含义。这样分析出来的设计绝对是符合需求易于客户使用及管理的。

另外加上面向对象技术方面的继承等技术,使得应用系统的的升级变的轻松。当今计算机硬件的飞速发展使得由于使用面向对象技术带来的速度效率问题变得越来越没那么重要了,而各个行业对于计算机的使用使得软件越来越复杂,清晰的分析和设计条理变成了更主要的问题,而面向对象是非常适合解决这个问题的。

3 应用面向对象的数据库开发

(1)系统分层  在数据库和客户端加入一个中间层,在这一层添加业务层和数据访问层,数据访问层与数据库交互为业务层提供数据服务。业务层为客户层提供经过分析及过滤筛选之后的对象及对象集合。

(2)面向对象分析和设计  分析需求中可能存在的潜在对象:对象是一个真实或抽象的元素项,它包含信息(即对象的属性)和处理对象的方法。任何对象都可包含其他对象,这些对象又可包含其他对象,直到系统中最基本的对象被揭示出来。仔细阅读需求说明书并在所有名词下画线,寻找于系统中的其他对象交互的实物,人员,地点、文件。寻找对象的属性及对象之间的关系:通过需求找出潜在的对象之后就是分析对象的关系及某个对象(类)应该具有的属性,面向对象的分析与设计的本质是我们用自然的观点去看待一个应用系统的实现。

(3)行数据库设计  要用面向对象思想进行数据库设计,因此应该选择实体主导型设计方法:设计应用系统结构;选择便于将应用程序与 DBMS 结合的DBMS体系结构,如RDBMS;根据应用程序使用的环境平台,选择适宜的DBMS(如Oracle)和开发工具(如PB)设计数据库,编写定义数据库模式的SQL程序;编写确保数据正确录入数据库的用户接口应用程序;录入数据库数据;运行各种与数据库相关的应用程序,以确认和修正数据库的内容。

用数据库作为应用系统中对象的持久机制,而对象之间的关系也就是相对于数据库设计部分的实体之间的关系,应该由应用系统的对象协调处理。就是把需求逻辑留在业务层去处理。

4 应用实例

4.1系统构想

设想这个是校园学生信息MIS系统。该MIS系统有几种验证方法,一、通过使用的和选择的学校。如果其在其学习的IP段的话,就认为是在宿舍上网,可认为是学生,将自动通过注册请求,系统发激活邮件;二、不符合第一种情况的话,看选择的注册方式如果是使用IP电话的话去根据选择的学校看填写的IP电话是否符合所在学校的IP段,如果符合的话,系统发激活邮件;三、选择学校邮箱注册,根据选择的学校和他填写的邮箱,如果域名符合就认为注册人为合法学生,系统发激活邮件;四、选择其他方式,通过人工方法去确认注册者的合法性。

以上是用户注册的过程,注册成功后,用户通过激活账户的链接,激活自己的账户,然后登陆,登陆成功后就可以使用注册用户可以使用的所有功能。管理员除可以拥有所有注册用户可以使用的功能外,还可添加学校宿舍及课程信息;编辑学校所在的IP段,查看所有用户的状态,进行活动管理,即添加、编辑活动,设定活动规则。

应用系统需要响应用户的操作;另应用系统还需要给出各种各样的排行;需要按照规则确定活动的获奖者等;需要记录用户的操作,以确定用户的积分;给登陆用户提示是否有人邀请成为朋友,是否有新的信件,是否有组织邀请加入;系统需要维护组织和组织成员之间的关系,即每个组织都有一些成员(合法用户分创建人、管理员和普通成员),创建人可以提升普通人员为管理员。

4.2数据库设计

这里对于设计数据库、处理与数据库的交互,需要从静态类图中设计到的对象分析出要持久化的对象,关系数据库在这里只是一个存储机制,不过用面向对象的思想设计的数据库是应用系统能够面向对象的基础。从系统组成得知需要存储注册用户的信息、博客的文章、博客和用户间的拥有关系、相册信息及照片信息、讨论主题、帖子信息、 组织信息、学校信息等。这里就不给出数据库设计的示例了,需要注意的是尽量应用对象之间的关系由类去处理即关联关系留在业务逻辑层处理,数据库专著于存储当然某些关联关系还是应该存储下来的,否则业务类也无从处理。在设计业务逻辑层时,将同一类的对象抽象封装为一个类。

用ownertype去存该comment是对什么对象进行的评论,而ownerID确定下来被评论对象的id。然后建立两个(或者更多视需求而定)视图,在加载评论时就可以直接从视图blog article comments中直接选择。当然在添加评论的操作是放在拥有他的类的方法中的。因此,就可以比较容易得到其拥有着的类型。

4.3数据库部署

整个系统分为三层,客户层、业务逻辑层及数据访问层,选择SqlServer2000作为数据库。项目使用asp.net作为开发平台,用c#作为开发语言,相应的使用IIS6.0作为WEB服务器。

本系统的两种角色注册用户和管理员用户的问题,在上面的类结构设计时,我让管理员继承的注册用户类,这样管理员就自然的拥有注册用户可以使用的所有权限,而它本身还可以拥有自己的权限,对学校的管理,对宿舍、专业及注册用户的管理。在页面类设计时采用这样的设计来确保使用页面的权限问题。设计三个类BasePage、BasePageForLogin、BasePageForAdmin,这三个类都继承自System.Web.UI.Page重载了Render方法,这样就可以为同一级别的页面(是指只能被某一级别用户浏览的一系列页面)绘制相同的导航条,使页面的风格统一化;BasePage类来作为未注册用户可以浏览的页面的基类, BasePageForLogin类作为只有注册用户才可以浏览页面的基类,BasePageForAdmin类作为只有管理员才可以浏览页面的基类。然后就可以在这些类的render方法中进行统一的权限设置及出错管理。

对象数据库范文第3篇

关键词:ASP,WEB服务器,ODBC,ADO对象

 

一. 访问WEB数据库的多种方案

目前在WINDOWS环境下有多种访问WEB数据库的技术,主要有:

²公共网关接口CGI(CommonGateway Interface)

²INTERNET数据库连接器IDC(Internet Database Connector)

²先进数据库连接器ADC(AdvanceDatabase Connector)

²JAVA/JDBC语言编程

²动态服务器页面ASP(ActiveServer Page)

二. ASP简介

1. ASP访问数据库的原理

ASP是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。

当用户使用浏览器请求ASP主页时,WEB服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JScript 或VBScript),通过ODBC连接数据库,由数据库访问组件ADO(ActiveX DataObjects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。

由于ASP在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASP源程序不会泄密,增加了系统的安全保密性。论文参考网。此外,ASP是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。

2. ASP的运行环境

目前ASP可运行在三种环境下。论文参考网。

²WINDOWS NT server 4.0运行IIS 3.0(Internet InformationServer)以上。

²WINDOWS NT workstation 4.0运行Peer Web Server 3.0以上。

²WINDOWS 95/98运行PWS(Personal Web Server)。

其中以NTserver上的IIS功能最强,提供了对ASP的全面支持,是创建高速、稳定的ASP主页的最佳选择。

3. ASP的内建对象

ASP提供了六个内建对象,供用户直接调用:

Application对象:负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息;Session对象:存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页面跳转时,Session中的变量在用户整个会话过程中一直保存。Session对象需cookie支持;Request对象:从用户端取得信息传递给服务器,是ASP读取用户输入的主要方法;Response对象:服务器将输出内容发送到用户端;Server对象:提供对服务器有关方法和属性的访问;Object Context对象:IIS 4.0新增的对象,用来进行事务处理。此项功能需得到MTS(Microsoft Transaction Server)管理的支持。

4. ASP的主要内置组件:

AdRotator组件:用来按指定计划在同一页上自动轮换显示广告,用于WWW上日益重要的广告服务;Browser Capabilities组件:确定访问WEB站点的用户浏览器的功能数据,包括类型、性能、版本等;Database Access组件:提供ADO (ActiveX Data Objects)来访问支持ODBC的数据库;File Access组件:提供对服务器端文件的读写功能;Content Linking组件:生成WEB页内容列表,并将各页顺序连接,用于制作导航条;此外,还可安装Myinfo、Counters、Content Rotator、Page Count等组件,用户也可自行编制Active组件,以提高系统的实用性。

5. Database Access组件ADO

WWW上很重要的应用是访问WEB数据库,用ASP访问WEB数据库时,必须使用ADO组件,ADO是ASP内置的ActiveX服务器组件(ActiveX Server Component),通过在WEB服务器上设置ODBC和OLEDB可连接多种数据库:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACCESS、VFP等,是对目前微软所支持的数据库进行操作的最有效和最简单直接的方法。

三. ASP访问数据库步骤

在ASP中,使用ADO组件访问后台数据库,可通过以下步骤进行:

1. 定义数据源

在WEB服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,选定你希望的数据库种类、名称、位置等。本文定义“SQLSERVER”,数据源为“HT”,数据库名称为“HTDATA”,脚本语言采用Jscript。

2. 使用ADO组件查询WEB数据库

²调用Server.CreateObject方法取得“ADODB.Connection”的实例,再使用Open方法打开数据库。

²指定要执行的SQL命令连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的。论文参考网。

²使用RecordSet属性和方法,并显示结果为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标,游标就是储存在内存中的数据。

²关闭数据库

参考文献:

[1]龙马工作室 编著. 《ASP+SQL Server组建动态网站实例精讲》,人民邮电出版社,2004.7

[2]李晓黎 张巍 编著 《ASP+SQL Server网络应用系统开发与实例》,人民邮电出版社,2004.3

对象数据库范文第4篇

论文摘要:充分利用面向对象方法的优点实现数据库的数据一致性、完整性及数据安全性.整个项目使用面向对象的软件工程(00SE)开发方法和数据库用户定义数据库模式的思路(面向对象数据库设计).用户可以使用面向对象的方法定义任何一种DBMS数据库,本项目使用的是SQLServer2000关系数据库.

1引言

目前一般数据库应用系统开发都遵循以下主要开发步骤:

1)根据自己的软件开发平台,结合自己的可行性分析,选择适当的DBMS(如SQL SERVER 2000,ACCESS,ORACLE)和开发工具(如VB,DEPHI,PB).

2)根据面向对象设计出来的数据库模式,编写好定义数据库模式的SQL程序.

3)根据用户的需求分析,编写出能够确保正确的录人数据的用户接口应用程序.

4)根据要求,录人相关的数据库数据.

5)根据用户要求,运行与数据库相关的应用程序,以确认和修正数据库的内容.

本项目由于涉及的表类较多,且表与表之间的关联并不太明显,按照一般的数据库设计方法,在现实世界的实体的属性数在10以内时,宜使用实体主导型设计方法.面向对象的设计方法正是从对象模型出发的,属于实体主导型设计.因此面向对象的设计方法在数据库设计过程中的运用十分值得研究.

2具体步骤分析

2.1 DBMS与开发工具

在数据库管理系统与动态网站的设计中,选择好DBMS与开发工具之前,首先了解系统的需求,系统功能分析在系统开发的总体任务基础上完成.以下是本项目需要完成的功能:

1)有关各种文件申报表信息的输人.

2)在用户权限控制下,能对各种文件申报表信息进行查询.

3)能对各种文件申报表信息修改更新.

4)能实现对文件申报表信息网络上传与下载.

5)能实现对文件申报表在客户端的备份与服务器端的上传功能.

6)能实现对文件申报表进行规范性打印输出.

7)能处理异常情况的发生,如中途掉线的数据处理方法.

对本项目,由于考虑到传统的C/S模式不利于软件的修正与更新,为此我们采用B/S模式,开发工具采用ASP,中间件采用ADO ,FTP , MSMQ.系统示意图见图1.

该项目中,主要选择SQI} SERVER 2000企业版来进行数据库的管理.

2.2对象模型与RDBMS模型的映射

首先建立对象模型.将现实描述的事物抽象为一种直观的动作流程.在建立对象模型时注意以下几点(这里主要针对该项目来介绍):

①尽量减少冗余.如果两个类表达了同样的信息,则保留在此问题域中最富于描述力的名称.

②不过早地考虑怎样实现应用系统相关联的侯选的类与对象.

③尽量保持类的相对独立性.

由于在该项目中所需的表格样式十分明确,关联也较少.可以得出以下项目系统原始对象图(部分)如图2.

2.3对象模型向数据库表的映射规则

由于RDBMS是以二维表为基本的管理单元,最终需要将对象模型转化为表间关系来描述一般的映射规则为:

1)一个对象类可以映射为一个以上的库表,当类间有一对多的关系时,一个表也可以对应多个类.

2)关系(一对一、一对多、多对多以及三项关系)的映射可能有多种情况,但一般映射为一个表,也可以在对象类表间定义相应的外键.对于条件关系的映射,一个表至少应有3个属性.

例如,在图2中对对象类“学科点基本情况”一览表的映射表,如表1所示。

3)单一继承的泛化关系可以对超类、子类分别映射表,也可以不定义父类表而让子类表拥有父类属性.反之,也可以不定义子类表而让父类拥有全部子类属性.

例如,学科带头人情况作为父类,其它四个对象作为子类则可以让其拥有父类所有属性,如表2—表5所示.

4)对多重继承的超类和子类分别映射表,对多次多重继承的泛化关系也映射一个表.

5)对映射后的库表进行冗余控制调整,使其达到合理的关系范式.

3数据库模式如何服务于应用系统

我们选择面向对象的数据库,是服务于应用系统的需要.本项目最大的工作量就是处理成堆的报表,有效地存取这些报表是该项目数据库设计的关键.由于各院校上传的报表是同构的,我们创建一张库表去存储同一种报表,例如本学科点人员梯队表(我们不能按一个学校一个库表来建).但是当用户想查询某个院校的相关报表时,如何将其从库表中取出数据呢?按照数据库的设计思路就应该有一个主键来标识这张报表.在该项目中的报表里,区别院校学科点的报表靠院校名和学科名.且利用其两字段来查询记录是相当的频繁,因此,如果为每条记录都加上这两个字段,无疑会加大库表冗余,增加查询时间,降低效率,为解决这个问题,我们设计了另一类对象院校学科编号表和流水账号表,结构如表6、表7.

将它们加人由应用对象模型映射出的数据库概念模型后,得到改进的表结构.例如,在图2中对对象类学科点基本情况一览表就可修改成表8.

其它的表也是一样的,只要将字段院校与学科删除,再添加一个流水账号字段就可以了.

每一个应用模块对象对应建立一张流水账号表,同一类的报表属不同流水账号表,由流水账号表统一管理.流水账号表由各院校、系办提交和建立的每一张报表分配一个流水账号,该流水账号在整个数据库中是唯一的,因此在库中存放任何一张报表都是明确的.流水账号的数据类型为CHAR(10),前4位为院校代码,中间的3位为学科代码,后3位为表号,这就是说,流水号就是对象标识符,报表是一个对象,一个对象标识符唯一决定一个对象.流水账号一旦被分配出去后,在这张报表的生存期内就具有了永久不变性.无论报表的内容及结构怎么变化,它都不变,直到报表被删除,流水账号才会消失.流水账号表是父类,报表是子类,流水账号表之间的联系只能通过院校学科编号表,尽管流水账号表会有一些冗余,但利用空间换取时间上的高效在该项目中是值得的.

对象数据库范文第5篇

关键词:数据库:软件开发

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

引言

计算机技术中数据库是最重要的研究方向之一,随着日趋应用复杂化,传统的数据库不足已逐渐被显露出来,而面向对象技术的数据库将成为新一代数据库的发展方向。

1、关系数据库中的优势

面向对象是一种认识方法学,也是一种新的程序设计方法学。把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致。

面向对象技术利用对象、类等技术手段可以满足对一些领域数据库的特殊需求,与关系型数据库相比,面向对象技术的优势主要体现在以下几个方面。

1.1 支持复杂的数据模型。传统的关系型数据库不能支持复杂的数据模型,例如:文本、图像、声音、动画、图像等数据,其缺乏对这些数据信息的描述、操纵和检索能力。而面向对象技术具有这些方面的优势,面向对象技术应用到数据库领域后,对象的使用就可以满足对这些类型数据的相关操作。

1.2 支持复杂的数据结构。传统的关系型数据库不能满足数据库设计的层次性和设计对象多样性的需求,关系型数据库中的二维表不能描述复杂的数据关系和数据类型,而面向对象技术中的对象可以描述复杂的数据关系和数据类型。

1.3 支持分布式计算和大型对象存储。面向对象技术中对象、封装、继承等方法的应用可以支持分布式计算,并且支持独立于平台的大型对象存储。

1.4 更好地实现数据的完整性。面向对象数据库支持复杂的数据结构和操作的约束、触发机制,从而可以更好地实现数据的完整性。

2、面向对象技术应用在关系数据库中的实现方法

由于计算机网络、多媒体技术、CAD/CASE等新型数据库应用的需要,数据库领域开始借助面向对象技术来满足这些需要。面向对象技术借助对象、封装和继承机制可以实现对复杂对象和复杂数据模型的支持,将面向对象技术应用于数据库是解决当今许多新型数据库应用中遇到的问题的好办法,虽然面向对象技术和数据库的结合沿着三个方向发展,当前多数数据库生产商都在研发如何将面向对象技术应用到关系数据库中。将面向对象技术应用到关系数据库中可以有两种方式。

2.1 把面向对象技术中的对象作为关系数据库系统中的一种新的数据模型。关系表中的属性值包含对象指针,对象数据的操作在关系数据库之外进行。把面向对象数据模型(ODM)和关系数据模型(RDM)结合起来,对荚系数据库管理系统进行扩充,但对象查询功能受到一定的限制。

2.2 把面向对象接口添加在关系数据库中。在关系数据库系统中增加一个对象到关系转换器,将上层的面向对象模式转化为关系存储模式,存放到关系数据库中。这样,在面向对象的数据库中关系存储模型位于底层。数据库用户可以利用标准的面向对象数据库语言进行查询处理,用户输入的面向对象数据库语言被转换成关系数据库语青,从而对底层的关系存储模式进行查询等处理,同时将操作结果按照对象方式返回给用户。这种实现方式使得数据库管理系统存实现关系模型和面向对象模型之间的模型转换时需要一定的开销,执行效率比直接面向对象数据库要低一些,但这种扩充方式实现比较简单。

面向对象技术通过映射接口和关系数据库相结合,面向对象数据库强调的是对象的属性、方法和对象间的关系。设计这种类型的数据库需要理解对象到关系数据库表的映射方法。这种映射方法通过将对象类生成为 SQL 语言中的数据定义语言(DDL)来将对象转换成一个好的概念层的数据模型(DDL)。

3、面向对象关系数据库系统的应用实例

3.1 系统构想。设想这个是物流信息 MIS 系统。该 MIS 系统有几种验证方法:(1)通过使用的和选择的物流公司。如果其在其业务的IP段的话,就认为是在物流公司上网,可认为是管理人员,将自动通过注册请求,系统发激活邮件;(2)不符合第一种情况的话,看选择的注册方式如果是使用 IP 电话的话去根据选择的物流公司看填写的 IP 电话是否符合所在区域的 IP 段,如果符合的话,系统发激活邮件;(3)选择物流公司邮箱注册,根据选择的物流公司和他填写的邮箱,如果域名符合就认为注册人为合法客户,系统发激活邮件;(4)选择其他方式,通过人工方法去确认注册者的合法性。以上是用户注册的过程,注册成功后,用户通过激活账户的链接,激活自己的账户,然后登陆,登陆成功后就可以使用注册用户可以使用的所有功能。管理员除可以拥有所有注册用户可以使用的功能外,还可添加物流公司及运单信息;编辑公司所在的 IP 段,查看所有用户的状态,进行活动管理,即添加、编辑活动,设定活动规则。应用系统需要响应用户的操作;另应用系统还需要给出各种各样的排行;需要按照规则确定活动的获奖者等:需要记录用户的操作,以确定用户的积分。

3.2 数据库部署。整个系统分为三层,客户层、业务逻辑层及数据访问层,选择 sqlserver2000 作为数据库。项目使用 asp.net 作为开发平台,用 c#作为开发语言,相应的使用 IIS6.0 作为Web 服务器。本系统的两种角色注册用户和管理员用户的问题,在上面的类结构设计时,让管理员继承的注册用户类,这样管理员就自然的拥有注册用户可以使用的所有权限,而它本身还可以拥有自己的权限,对物流公司的管理,对运单、货物及注册用户的管理。在页面类设计时采用这样的设计来确保使用页面的权限问题。设计三个类 BasePage、BasePageFor1.0gin、BasePage-ForAdmin,这三个类都继承自 System.Web.UI.Page 重载了 Ren-der 方法,这样就可以为同一级别的页面绘制相同的导航条,使页面的风格统一化;BasePage 类来作为未注册用户可以浏览的页面的基类,BasePageForLogin 类作为只有注册用户才可以浏览页面的基类,BasePageF0rAdmin 类作为只有管理员才可以浏览页面的基类。然后就可以在这些类的 render 方法中进行统一的权限设置及出错管理。

4、总结

对象数据库范文第6篇

【关键词】身份验证;用户管理;架构;角色;权限

Microsoft为SQL Server2005建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQL Server2005服务器系统和数据库的安全进行全面地管理。SQL Server2005数据库逻辑结构及相对应的安全管理机制如图1所示:

图1 SQLServer2005数据库逻辑结构图

1 概念

服务器登录名Server Login,服务器角色Server Role,数据库用户DB User,数据库架构DB Schema,数据库角色DB Role 。以上几个名词应该从服务器与数据库来区分,服务器包含一到多个数据库,其中:

服务器登录名:指有权限登录到某服务器的用户;服务器角色:指一类服务器用户,默认有9类;数据库用户:指有权限能操作数据库的用户;数据库角色:指一类固定的有某些权限的数据库用户;架构:指数据库对象的容器,类似操作系统中的文件夹;数据对象:如数据库中的表,视图,存储过程等。

2 登录身份验证

SQLServer的两种登录验证模式:Windows身份验证和SQLServer身份验证。Windows的验证是请求域控制器检查用户身份的合法性。SQLServer2005的验证是把一组帐户、密码与Master数据库Sysxlogins表中的一个清单进行匹配。当用户想连接到SQL SERVER2005 服务器的时候,必须先选择一种身份验证模式。

SQL的验证模式分为两种WINDOWS验证模式和混合验证模式。WINDOWS身份验证模式安全性相对要高,应该尽量使用WINDOWS身份验证模式。混合身份验证模式下,验证分为WINDOWS身份验证和SQL身份验证,允许用户WINDOWS登录账户或使用SQL登录账户连接SQL SERVER。

3 数据库用户管理与角色管理

登录名提供身份验证,而通过用户可以取得特定的对数据库操作的权限。否则,即使拥有登陆名,还是无法进行数据库的访问。在每个数据库中都有一个用户集,并且登陆名和用户名是对应的关系,即一个登录名在每一个数据库中只能创建一个用户名。

4 理解角色的概念及为角色分配权限

关于角色,其概念相当于用户组,使用角色有助于减轻安全管理的负担,可以创建一个角色,为这个角色分配一定的权限,然后再把用户加入到这个角色中,则这些属于相同角色的用户将拥有相同的权限。角色有两种:

一是,固定数据库服务器角色,不能添加、删除和修改,其所对应的权限是数据库服务器权限,用于对服务器的管理;二是,数据库角色,又可分为两种,固定数据库角色和用户自定义角色,对应的权限是数据库的权限,用于对数据库对象的管理。

5 安全对象、架构

在SQL SERVER2005中引入了安全对象和架构这样的新概念,这是SQL SERVER2005对权限设置的一个重大改进。安全对象是可以通过权限进行保护的实体的分层集合,这些实体称为安全对象,具体讲安全对象有服务器、数据库和数据库包含的对象。而引入架构可以提高权限的设置力度,这使得访问安全对象的格式为:服务器名、数据库名、架构名、对象名。架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。可以把架构理解为文件夹,且这种文件夹不允许嵌套,也就是说架构是一种容器,可以在其中放入数据库对象。数据库用户与所有者隐式绑定的方式会带来一些问题,如一个用户创建了某个数据库对象(如表),则在SQL SERVER2005 2005中该用户自动绑定到该数据库对象(如表)的所有者(DBO),如果要删除该用户则提示该用户有一个数据库对象(如表对象),也就是说要删除用户,就必须先删除它所拥有的表,这显然是缺乏灵活性。因此在SQL SERVER2005 2005中就引入架构的概念,使用户和数据库对象分离。SQL SERVER2005中的所有安全对象都必须指定存放的具体架构。任何用户都必须指定存放它的拥有对象的架构,如果不指定,默认存放的架构是DBO。但是并没有授予数据库用户在DBO架构创建对象的权限,即用户只能使用(如查询)默认的DBO架构,用户并不是DBO架构的所有者。默认架构是服务器解析DML或DDL语句中指定的未限定的对象名称时搜索的架构。因此,当引用的对象包含在默认架构中时,不需要指定架构名。

6 权限管理

创建好角色之后就可以分配权限。在SQL SERVER2005中权限管理分为:对象权限、语句权限和暗示权限。权限管理有三个方面:一是,权限的拥有者,有登录账户、角色中的成员和数据库用户;二是,权限涉及的资源。

对象权限是基于数据库层次上的访问和操作权限。语句权限表示用户能否对数据库及其对象执行创建类和备份类的语句。语句权限仅限于语句本身,而不是数据库对象。暗示性权限是指固定服务器角色、固定数据库角色和数据库对象所有者具有的默认权限。固定服务器角色和固定数据库角色的成员自动继承角色的默认权限,而数据库对象的所有者在其创建的数据对象上拥有全部权限,这就是数据库对象所有者的默认权限。

SQL SERVER2005数据库安全管理机制只是保证数据安全的一种措施,在评估安全框架的过程中,其它的安全措施还包括密码策略、审核策略、数据库服务器隔离以及加密保护敏感数据等。

【参考文献】

对象数据库范文第7篇

本文基于微软公司推出的Visual Basic语言环境下,对数据库访问技术的发展进程进行了深入分析,并且给出了Visual Basic数据库访问的基本框架,重点研究了ADO控件访问数据库的应用策略。

【关键词】Visual Basic环境 数据库访问 ADO控件

1 引言

在面临商业标准化要求不断提高的发展环境中,应用程序的功能也日益强大,大部分编程软件都离不开数据库应用的支持。由微软公司推出的Visual Basic(简称VB)是目前比较流行的数据库应用程序,VB应用程序能够实现与主流数据库的无缝连接,同时提供良好的可视化操作工具、支持SQL数据库语句查询等。本文基于VB语言环境下,阐述了数据库访问技术的发展历程,重点对ADO空间访问数据库技术进行了深入研究。

2 数据库基础

数据库是一种以某种组织方式存在相互关联关系,且存储于计算机外部存储器中的数据集合。数据库按照不同结构可以划分为关系型数据库、层次型数据库和网状型数据库。其中,关系型数据库是广泛应用的数据库类型。目前,常见的关系型数据库包括SQL Server数据库、Access数据库、Oracle数据库等。VB应用程序默认的数据库为Access数据库,该数据库可以基于VB应用程序直接建立。

关系型数据库是建立于关系模型之上的数据库。关系模型主要是将每个实体集合和实体之间的关系以二维图表的方式呈现,将数据组织作为一张二维图表,每张二维图表都代表着一种数据关系,在关系型数据库中,二维图表的本质则是数据库表。一般情况下,一个关系型数据库由多个数据库表组成,数据库表的一行称作“记录”,每一条“记录”都代表了一个实体集合,每个记录又由多个“字段”共同组成。由此可见,关系型数据库是根据记录、字段之间的关系实现数据访问的,以行、列的方式组织的数据库表来存储数据,并利用关系将数据库表联系在一起,再利用SQL语言对关系型数据库进行查询。

3 VB环境下数据库访问技术发展过程

过去,VB客户端在提出各种商务解决方案中,设计规划了相关应用程序和组件,在这些应用程序和组件访问数据的过程中,80%以上的访问对象是ASCII文件,很少会对SQL数据库和大型机数据库进行访问。因此,VB最初设计的数据库访问工具主要针对的是ASCII文件访问。当发展到VB 3.0时代,越来越多的用户提出了对ISAM的数据访问需求,由此,微软公司研发了DAO控件和Jet扩展工具,使VB数据库的开发工作人员能够轻松实现与Jett的接口操作。

目前,VB用户新需求是对远程数据的访问和优化ODBC数据源访问过程。因此,在VB应用程序开发设计过程中,要避免出现代码重复问题,同时要注意开发人员实现数据库访问的真实能力。此时,就需要不断简化VB应用程序中的数据访问接口,并且提高VB英语程序的安全性和可用性,这也是微软公司VB研发部门的职责。

当前,VB应用程序中包含的查询连接生成器,即User Connection,采用的是Active X的体系结构设计方案,Active X设计器不但能够为数据访问设计给予大力支持,还可以在设计数据访问的过程中创建连接,以及对工程级对象进行查询,对属性实施预设和定义,为工程级对象编写程序代码。由此,User Connection查询连接生成器既可以对程序事件做出相应,还可以为用户提出的自定义查询提供方便快捷的方法。事实证明,User Connection查询连接生成器的实践应用,在不对系统性能造成影响的情况下,可以有效减少代码编写量。

4 VB环境下数据库访问技术分析

从VB应用程序应运而生至今,已经更新为VB 6.0版本。其间,VB数据库访问技术历经了DAO(Data Access Objects)、RDO(Remote Data Objects)和ADO(ActiveX Data Objects)等多个阶段。为了促使VB数据库开发具有良好的兼容性和可维护性。VB 6.0应用程序以ADO数据对象为主,同时支持DAO和RDO数据对象的访问。因此,DAO、RDO和ADO共同构成了VB数据库访问的基本框架。

4.1 DAO(Data Access Objects)

VB应用程序最先采用的数据库访问接口就是DAO,VB通过DAO访问接口可以对微软Jet数据库引擎发起访问,最终实现对数据库的访问。

微软Jet数据库引擎被包含在了动态链接库文件中,在启动运行VB应用程序时,这些动态连接库文件都可以与VB应用程序连接。微软Jet数据库引擎利用DAO数据对象使VB应用程序想数据库发起访问请求,并且将请求翻译成为数据库可以识别的物理操作,由此可以对数据库进行读取、修改和写入操作。由此可见,微软Jet数据库引擎属于VB应用程序和数据库连接的中间层,也是为VB顺利实现数据库访问提供基本保障。同时,VB应用程序也可以利用微软Jet数据库引擎按照相同方式对不同数据库进行访问,包括Access数据库、Visual Fox Pro数据库等。

4.2 RDO(Remote Data Objects)

RDO数据对象是处于ODBC API上的对象模型层,RDO数据对象不再依赖于微软Jet数据库引擎的支持,而是需要ODBC驱动程序、ODBC API和VB应用程序后端数据库的支持,以此才能实现RDO数据对象的主要功能。VB 4.0及其以后研发的版本中都包含了RDO数据对象。

RDO数据对象是由DAO数据对象衍生而成,但RDO和DAO的数据库模式存在较大差别。DAO数据对象主要针对的是数据记录和字段,而RDO数据对象是针对数据行和列实现关系处理。由此可见,RDO的本质是关系模式。而且,DAO是对微软Jet数据库引擎接口的访问,RDO则是对ODBC接口的访问。

4.3 ADO(ActiveX Data Objects)

ADO数据对象是继DAO和RDO数据对象之后应运而生的,也是由VB 6.0版本开始支持的数据对象。由于微软开发了新的数据访问接口OLEDB,进而促进了ADO数据对象的诞生,ADO是应用程序层的数据对象,可以通过OLEDB实现高性能的数据访问,包括关系数据库、非关系数据库、文件系统和电子邮件等。

ADO数据对象与DAO和RDO相比来说,有着数据对象模型结构简单、使用方便快捷的特征。由此可见,ADO数据对象的属性、方法较多,其对象数量较少。如果结合采用良好的网络优化技术,可以在使用ADO数据库访问技术时节约更多的网络流量。

5 VB环境下数据库访问技术应用

本文主要对使用ADO控件建立应用程序的过程进行分析。ADO控件属于ActiveX控件,并不属于VB标准工具控件。因此,在使用ADO控件时必须将其添加到VB工具箱中,具体方法是:首先,选择VB应用程序菜单中“部件”命令,立刻弹出“部件”对话框;其次,选择“Microsoft ADO Data Control 6.0”选项;最后,点击“确定”按钮,ADO控件图标将会添加到工具箱中。

ADO控件的使用方法与Data控件基本相同。需要在设计模式状态下对ADO控件的4个属性进行设定,包括Connection String属性、Command Type属性、Record Source属性和EOF Action属性,不需要再进行任何编程就可以实现在同一个表中浏览记录、修改记录和添加记录。ADO控件本身不具有数据显示功能,需要绑定之后才能显示数据。

ADO控件的属性:

(1)Connection String属性:Connection String属性负责建立ADO控件到数据源的连接,设置字符串值等。

(2)Command Type属性:其属性值如表1所示,负责完成设置常数和返回常数,同时指出请求命令的类型。

(3)Record Source属性:Record Source属性是字符串的表达式,指定一个数据记录源,该数据记录源可以是表名,也可以是SQL查词。

(4)EOF Action属性:EOF Action属性负责返回和设置一个值,当EOF属性为“正确”时,对AOD控件如何操作给出指示。

使用ADO控件来建立应用程序主要是对ADO控件进行设定和绑定控件的过程。通过ADO控件绑定一个数据记录集,将其作为数据源的,以的方式向已经绑定的ADO控件供应数据。将数据记录集中的每一个数据字段进行绑定之后,可以显示当前数据记录集中的字段内容。

6 结论

综上所述,VB数据库访问技术历经多个发展阶段,ADO数据对象是VB 6.0的产物,但仍然支持DAO数据对象和RDO数据对象的访问接口。ADO作为目前主流的VB数据库访问模式,已经广泛应用于数据库开发中。本文对VB环境下的ADO、DAO和RDO数据库访问技术进行了深入探讨,具有一定的理论参考意义。

参考文献

[1]赵宇航.VB对SQLServer数据库的访问总结[J].科技与企业,2012,18:75.

[2]黄雁.基于VB数据库的互联网技术研究[J].煤炭技术,2012,12:190-192.

作者简介

董平(1987 -),女,吉林省东辽县人。大学本科学历。 现为吉林师范大学辽源分院助教。研究方向:VB编程,课件制作。

对象数据库范文第8篇

关键词:控件;数据库接口;数据访问对象;远程数据库

中图分类号:TP311文献标识码:B文章编号:1009-3044(2010)05-1111-03

Probe into Database Access Technology in Program Development

LIANG Bi-yong

(Department of Electronic Information, Luoding Polytechnic, Luoding 527200, China)

Abstract: Visual Basic possesses the world's largest number of users; it is the event-driven programming language developed by Microsoft Company, including assist in the development environment; It has a good graphical user interface (GUI) and powerful control features, and can easily connect the database through DAO.RDO.ADO and so on. This paper mainly discusses VB’s methods to explore access to the database, enables users to choose a better method to access the database for developers’ convenience, and helps users to better understand the function of VB database programming. What’s more, the software developed by them has more practical significance. Meanwhile it can adapt to the industry's future development.

Key words: Database Interface; Data Access Objects; Remote Database

VB是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序,利用VB所提供的强大的数据库的编程工具,就可以设计出来符合我们要求的数据库,以及对数据库进行新增、修改、删除、查询等操作。在VB环境下,利用事件驱动的编程机制、可视化设计工具,使用Windows内部的广泛应用程序接口(SPI)函数,以用动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统,

Visual Basic访问数据库的技术随着Web应用软件的迅速发展和现有数据存储形式的多种多样,而进行快速的扩展,它访问数据库的解决方案正如快速提取分布于企业内部和外部有用商业信息等的多种挑战。但是当用户在实际开发中要进行最佳技术的选择时,都要充分考虑两点:代码的重用和开发者实现选择的数据库访问方案的能力。如果设计者为了实现或追求一种更特别的性能而忽略其中一点,这样设计出来的应用程序只会更复杂或维护时更困难。

下面我们对常用的VB访问数据库的方法进行介绍,通过分析各种方案的探讨使大家对于VB的数据库编程会有一个大概的了解,并进一步对VB编程有更深一步的认识。

1 Data控件与数据访问对象(DAO)传统的数据库访问方法

VB数据库应用程序由用户界面、数据库引擎和数据库三部分组成,而数据库引擎是VB数据库应用程序与数据库之间的桥梁,应用程序通过数据库引擎完成对数据库的各种操作;操作结果也通过数据库引擎返回到用户界面。VB传统的数据访问技术分为两类,其一Data控件类,该类中包括:Data Control(DAO/Jet数据界面接口)、Data Control/ODBC Direct(DAO/ODBC Direct数据界面接口)、RemoteData Control/RDC(RDO数据界面接口)等;其二接口对象类,该类中包括:DAO/Jet(本地的Jet/Access.MDB、顺序索引数据库ISAM和任何ODBC数据源)、DAO/ODBC Direct(任何一种ODBC 数据源,经过RDO)、RDO2(任何一种ODBC数据源LevelⅠ或Ⅱ)等。

1.1 数据控件法(Data控件)

VB中Data控件给出不需编程而能访问现存数据库的功能,使用这种方法用户只需要设置几个属性就可以访问数据库,比较适合于初学者。下面以具本实例作详细分析,例如:我们已创建了一个学籍管理的数据库,该数据库只有一张数据表:学生信息表,该数据表有以下几个字段:学生学号、学生姓名、性别、出生日期等,并且保存的路径是(E:\学籍管理数据库.mdb),具体步骤如下。

第1步:我们需要为所建窗体添加Data控件,具体做法为:双击VB工具箱中的控件图标,就可在所建窗体上添加Data图标,我们使用Data控件的默认Name属性名为Data1。

第2步:设置Data控件属性,这一步的主要作用是将数据控件Data1与具体的数据库中的数据表连接起来。一般要设置以下三个比较重要的属性:

① Connect属性,这是用来指定Data控件所要连接数据库类型;

② DatabaseName属性,这是用来选择要访问的数据库文件;

③ RecordSource属性,这是用来选择要访问的数据表。

第3步:我们来设计窗体,比如我们添加“学生学号、学生姓名、性别、出生日期”这几个标签,并为每一个标签加一个文本框,用来显示数据,这个窗体也是用户所看到的实际界面,用户可以通过这个界面浏览数据、添加数据或修改数据。

第4步:这是最关键的一步,因为Data控件不能直接显示记录集中的数据,所以必须通过控件绑定来实现记录集中的数据的显示。而绑定的作用是将第3步所设计窗体上的控件与Data控件记录集中的字段建立链接关系,只有建立了关系,所设计窗体才能将数据库中的数据接要求显示出来。具体来讲,也就是把上例的“学生学号、姓名、性别、出生日期”所对就应的文本框进行绑定,而将进行控件绑定的方法主要是设置窗体上各控件的两个重要属性,它们分别是:

① DataSource属性,这是用来确定该控件被绑定到哪个Data控件;

② DataField属性,这是用来设置该控件所显示的数据表字段。

对于第3步的例子,需要对每一个文本框进行绑定,也就是那两个属性的设置。这样一旦完成后,这些文本框就可以显示数据库中数据表的数据了。

经过这四步之后,一个数据库管理程序就基本成形了,最后要做的就是利用Data控件的Recordset记录集进行浏览、删除、添加、查找数据库中的内容。而Recordset记录集的使用和使用其它对象的方法一样,也具有属性和方法,有关记录集的使用,使用Data数据控件进行数据库管理只需要添加一些控件,再设置几个属性,如果需要再编写一些简单的程序或者一点程序都不用编写就可以了,省去了繁锁的程序编写。

1.2 数据访问对象(DAO)

DAO就是Database Access Object,数据库访问对象的英文缩写,是VB提供的两种与Jet数据库引擎接口的方法之一,DAO模型则是全面控制数据库的完整编程接口。DAO提供了完成管理一个关系型数据库系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等。DAO使用之前必须先引用,方法是打开VB, 从VB的“工程”菜单中选择“引用”项,当“引用”对话框出现后,从库的列表中选择“Microsoft DAO 3.51 Object Library”,单击“确定”后便可以使用DAO对象库提供的所有对象进行编程了。

VB本身并不是个完全的面向对象的编程环境,但在DAO中是完全的面向对象的。其实面向对象的最初思想就是将数据和操作封装在一起,形成对象,它将数据的值作为属性,数据的查询作为方法,数据值的变化作为事件,完全封装在DAO对象中。用户要通过Jet数据库引擎访问某个数据库,必须先要创建一个WorkSpace对象也称为工作区,然后在该工作区创建数据库或将某个数据库在该工作区中打开,再实现各种相应的操作。如果没有特殊要求,可以使用缺省的工作区WorkSpaces(0),这个工作区由系统自动生成,用户可以直接使用。通过如图2-1 DAO的结构图,便可以清楚知道DAO对各种操作属性和方法的实现,如:创建数据库,创建数据表或数据表字段,打开数据库,使用数据库等。

使用DAO数据对象进行数据库管理需要用户了DAO所包含的对象和属性,还要了解这些对象所提供的方法等,当然还要进行大量的程序编写。

2 RDO数据库访问方法

RDO(Remote Data Objects)远程数据对象,是一个到ODBC的、面向对象的数据访问接口,有任何一种ODBC数据源(LevelⅠ或Ⅱ)的接口对象法RDO 2.0和RemoteData Control/RDC:RDO数据界面接口数据控件法。RDO是ODBC API的一个浅层界面接口。是专为访问远程ODBC关系数据源而设计的,而且它只能通过现存的ODBC驱动程序来访问关系数据库。RDO2.0是Visual Basic访问关系型ODBC数据源的最佳界面接口,因此需要访问ODBC数据源,可以使用RDO。

RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性以及方法。远程数据对象和集合为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。并且是综合了AO/Jet、VBSQL/DBLib和ODBC的优点的对象模型,包含ODBC API应用层,设计为在后台(服务器端)有数据库存在的前提下运行,是针对SQL Server和Oracle而特别设计的。RDO的优势在于它完全被集成在VB之中,可直接访问SQL Server存储过程、完全支持T-SQL、T-SQL调试集成在开发环境中、Visual Database Tools的集成化等。但由于开发公司宣布今后不再对VBSQL/DBLib进行升级,而ODBC API函数一般的编程方式也不为人们所喜爱,RDO的应用将逐渐减少。

3 ADO动态数据库访问方法

在VB 中数据库访问技术一直在不断进步,每一种接口分别代表该技术的不同发展阶段。当今比较新的是ADO,它是比RDO和DAO更加简单,更加灵活的对象模型。在用VB开发数据库软件时越来越多的开发人员使用ADO作为数据访问接口。ADO是ActiveX数据对象(ActiveX Data Object), 是DAO/RDO的后继产物,ADO“扩展”了DAO和RDO所使用的对象模型,它包含较少的对象、更多的属性、方法(和参数),以及事件。它是一种面向对象的接口。ADO访问数据库是通过访问OLE DB使用程序和OLE DB供给程序来进行的,是一种高层的访问技术。ADO技术也可以ActiveX控件的形式出现,广泛应用于Visual Basic的编程。ADO进行数据库访问时,也有任何一种ODBC数据源和任何经过OLE DB界面接口的数据源的ADO与ADO数据界面接口。

ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件,是一个便于使用的应用程序层接口。ADO在关键的Internet方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。

ADO2.0存在于Visual Basic 6.0的两个独立的库中 第一个称为 ADODB,在References对话框中的名字是Microsoft ActiveX Data Objects 2.0 Library在这个库中包含了所有的ADO对象。对于那些并不需要太多加强的ADO资源工程,应该使用ADOR库。在References对话框中这个库称为Microsoft ActiveX Data Objects Recordset 2.1 Library 这个库只包含对Recordsets 的支持。Visual BASIC 6.0通过ADO控件和 Recordset对象两种方法来使用ADO.使用Recordset 对象的使用方法,用户在visual basic 中加入如下代码:

dim myConnectstr as string

dim myRecordset as New ADODB.recordset

myConnectstr=”PROVIDER”=Microsoft.Jet.OLEDB 4.0;

DataSource=”&App. Path & ware.mdb; Persist Security Info=False”

myRecordset.CoursorLocation=AduseClient

myRecordset.Open“select*from wDetail”

myConnectstr,adOpenKeyset,adLockPessimistic

ADO的数据源对表中的数据进行直接操作,在软件开发过程中,开发人员通常的使用ADO的一般步骤为:先使用数据库管理系统或VB中的可视化数据管理器建立好数据库和数据表结构,然后在程序中通过使用ADODC数据库控件或引用ADO对象与数据库中的表建立连接,再通过数据库感知控件(例如:文本框、DataGrid等)来进行数据库的各种操作。

4 结束语

通过以上探讨与分析了在VB中数据库的管理方法,传统的Data控件使用简单,而且不用编写太多的程序就可使用,对于入门者来说比较适合。但是它不够灵活,对于在程序运行过程中要动态的操作数据库就比较困难,而这也正是DAO数据访问对象的优点,它可以灵活的创建和访问数据库,实现数据的动态访问。但其需要编写大量的程序,实现起来不是那么容易,需要用户有一定的编程基础,深入了解有关的对象以及相关对象的属性和方法。RDO与DAO在发展中已成为相当成熟的技术,大部分用户需要访问ODBC数据源,都可以使用RDO,如访问Jet类型数据源,常使用DAO/Jet。ADO技术的出现,逐渐代替其它数据库访问接口,它比DAO与RDO更加简单、更加灵活,对于新的工程项目,一般使用ADO作为数据访问接口,同样使用ODBC接口的ADO效率高于RDO。ADO还包括RDO风格的功能性,以便和OLE DB数据源交互,另外还包括远程和DHTML技术。在数据访问接口中DAO最适用于单系统应用程序或小范围本地分布使用,而RDO已被是许多SQL Server、Oracle以及其它大型关系数据库开发者经常选用的最佳接口。ADO是DAO/RDO的后继产物。ADO在功能上与RDO更为相似,而且一般来说,而且它们之间有一种相似的映射关系。ADO“扩展”了DAO和RDO所使用的对象模型,它包含较少的对象、更多的属性、方法和参数,以及事件,得到用户的广泛使用。

参考文献:

[1] 李佐勇.VB数据库访问初案[J].闽江学院学报,2003(5).

[2] 聂文燕.开放数据库互连(ODBC)技术的探讨[J].新疆职业大学学报,2004(1).