分享
 
 
 

数据访问接口体系及数据对象模型探讨--[1]

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

数据访问接口体系及数据对

数据访问接口体系及数据对象模型探讨(Beat 1.0)

81_RedStar81@163.com

TomHornson.student@www.sina.com.cn

个人文集:

http://www.csdn.net/develop/author/netauthor/RedStar81/

文章索引:

预:概念

序言:回首历史

一、 数据访问接口体系探讨

1. Open Client/Open Server

2. ODBC(Open DataBase Connectivity : 开放数据库连接)

3. OLE DB(Object Link and Embedding DataBase)

4. JDBC(Java DataBase Connectivity : Java数据库连接)

二、数据对象模型探讨(待续)

附录:美国著名数据库产品记事(参考)

研究数据库理论是为了设计更好的数据库系统。弄清数据访问接口体系及数据对象模型的发展、特征、相互之间的区别有助于开发更好的数据应用系统。

预:概念

数据库: 满足一个或多个组织、多个用户的信息要求的集成数据存储库.(定义了一组数据库要素:集成、共享、存储、信息)

数据库管理系统(DBMS): 目标为处理所有用户对数据库存取要求的软件系统(它有两个主要的部分:数据库控制子系统和数据库存储子系统)

数据库系统: 以数据库应用为基础的软硬件系统的总和.(主要包含数据库、DBMS、<非DBMS软件>::、<集成数据库管理软件>::)

<非DBMS软件>:: = 与DBMS协同工作但是不属于DBMS的功能部件.主要包含:操作系统、程序设计语言及相应的编译系统、数据通信系统、各种应用程序(与数据库管理系 统交互以服务于用户).

<集成数据管理软件>:: = 辅助和配合DBMS工作的功能部件,一般不独立使用,总是与DBMS集成, 在DBMS的基础上开发的.譬如自动报表生成程序、数据库应用开发 程序、 数据库测试程序、数据库辅助设 计程序、数据转换设施等等.

分布式数据库系统: 数据库被划分成逻辑关联而物理地分散于不同场地的数据子集,并提供了充分操作这些子集 的数据存取能力的数据库系统.

序言:回首历史

80年代初, Vulcan(dBaseII的前身)成为第一个在微机上实现的数据库系统而且广为流行.随后的著名的Xbase家族(dBase系列、FoxBase系列、低版本FoxPro等) 、Paradox、Clipper从某种意义上说属于低级的数据库系统(从语义上讲,此处用数据库系统来表达是合适的.然而从性能、系统的设计来讲用数据库管理系统来描述更合适.那时的数据库管理系统更像是为管理大量信息而研发的"应用级"程序).而Oracle、DB2等此时尚没有微机版本.这时的系统远不及现代数据库系统的复杂.当然这是由系统的目标或者说是用户需求决定的.用户对数据库的操作基于XBase及其它一些非标准的各数据库系统自己的数据操纵语言(最初虽然它们亦拥有函数库等程序设计语言的特征但它们更像操作命令.直到这些系统提供了编译或伪编译能力<注1::>才真正可看作一种语言).

注1::= 从下面的记事表来看,关于编译的问题在各数据库系统中有不同的表现,关键在于它们基于的数据库交互语言:是否为SQL.另一方面在于数据库系统的定位.个人认为:XBase、Paradox、Clipper等系列产品一定程度上实现了分布式但一直都未实现C/S结构而更多的局限于本地数据库的使用与Oracle、Sybase SQL Server、Sybase System、DB2、Informix等数据库系统的定位是不同的.它们秉承了先前的设计理念,还有更重要的一点是:C/S结构的出现自然导致了较现代(当然目前的商业应用开发模式应说是多层分布式)的数据系统开发模式(以当时客户端开发工具PowerBuilder、Visual Basic、Dephil及辅助设计软件产品的出现为见证)同时DBMS的功能明细而以前的数据库系统的外围软件产品可以在客户端工作甚至集成于客户端开发工具之中.以前的终端-服务器(HOST系统)数据库系统结束.可以"篡夺"数据服务器系统诸多能力的客户端出现.这当中数据系统应用程序的出现应是关键,它使数据的使用、表现、甚至是数据库的管理等起了巨大的变化.而XBase、Paradox等系统自从实现不同程度的编译能力更看出它们集本地数据库管理、设计和数据系统应用程序开发等于一身,它们作为DBMS体现的功能并不同实现C/S体系结构的DBMS.还是那句话秉承了先前的设计理念.

虽然我们探讨的数据访问接口体系应该是针对C/S结构和更先进的数据库系统体系结构,然而我先前已经提到这篇文章的最终目标是帮助程序设计者设计更好的数据应用系统.这样我们有必要关注一下早先的数据库管理系统与其它的语言(汇编,C,Cobol,Pascal,Fortran等)交互的情况.前前后后(92年以前,详见下面<<美国著名数据库产品记事>>),各著名数据库系统产品根据自己的结构体系和定位都实现了SQL(当中的实现情况自然各有不同.XBase家族、Parodox等增加了SQL交互界面且实现了XBase语言和SQL的混合使用.而Oracle、Sybase、Informix等系统把SQL根据各自系统的需要扩展形成了自己的数据操纵语言)和编译或伪编译或预编译能力或调用库.上面所述的两种能力的实现对数据库系统和应用程序的交互起了很大的影响.但那时的交互不同于现在程序设计者意识中应用程序与数据库系统的关系.总体来说那时数据库系统与应用程序交互可能有几种情况:一,数据库管理系统提供访问应用程序的途径以增强数据库管理系统的功能. 二,应用程序利用格式转化后的数据库文件.当然也可以通过其它的方法访问未经转化的数据库文件. 三,数据操纵语言嵌入其它的程序设计语言(称为宿主语言).其实早在1969年实现的IBM-IMS数据库系统(数据操纵语言为DL/I)中已经具有这种功能.自然系统需要提供预编译接口. 四,在应用程序中使用数据库系统提供的调用库(如Oracle的OCI Library,值得一提的是OCI Library在最新的接口体系中还使用着).再从现在数据系统程序设计者的角度看,在你的程序中可以利用的无非是数据库文件.在利用数据库文件的两条途径中,一条是不需要你掌握数据库文件格式结构的.自然,上面列出的四种情况是从不同的数据库系统归纳出来的.

对于数据库系统本身特别对于数据系统程序的设计还对于很多方面,C/S结构提出的意义是影响重大的.因为它使以后的"世界"不同了.

总体来说,C/S结构出现之前,数据应用相关的几乎全部任务由驻有数据库管理系统的主机完成,早期的数据表现基本也是在主机上完成.而且数据库系统与外界的交互很有限.虽然,分布式、HOST系统及其它的一些技术对上述情况有所改变.

早期,C/S结构的核心思想是任务分解,体现客户端请求和服务器应答的计算模式.它具有多种模式:SC/SS、MC/SS、SC/MS、L C/S,而基本的结构又可构成复杂的结构.

下面图示C/S的基本结构.自然C/S结构中,客户端与服务器交互,必须起桥梁作用的中间件(数据访问接口).而它正是我们的主题-数据访问接口(数据对象模型的概念此时尚未出现).这里有关中间件和数据服务器体系结构的知识我们不作扩展探讨.我们把重点放在为C/S结构数据库系统服务的(专用)数据库中间件上.

从图中你可以看到两种:Microsoft的ODBC、IBM的DRDA.其实著名的还有Sybase的Open Client/Open Server 数据库专用中间件.随着时间的推移到目前为止常用的还有Sun的

JDBC、Microsoft的OLE-DB.下面我们就几种数据访问接口体系及相应体系下的数据对象模型(当然有的体系在特定时期尚无对象模型)作探讨.

待续:

一、 数据访问接口体系探讨

1. Open Client/Open Server

2. ODBC(Open DataBase Connectivity : 开放数据库连接)

3. OLE DB(Object Link and Embedding DataBase)

4. JDBC(Java DataBase Connectivity : Java数据库连接)

二、数据对象模型探讨(待续)

附录:美国著名数据库产品记事(参考)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有