从ODBC到LINQ:看数据访问技术的发展

发表于:2008-02-22来源:作者:点击数: 标签:从ODBC到LINQ
摘要:1971年由美国国防部的CODASYL组织提出了网状 数据库 模型,距今已有30多年,而微软在其Visual Studio 2008(代号Orcas)中集成了其最新的数据访问技术LINQ。很难想像没有数据库的支持,我们的信息系统会是什么样子,数据访问技术的功能越来越强,通用性
摘要:1971年由美国国防部的CODASYL组织提出了网状数据库模型,距今已有30多年,而微软在其Visual Studio 2008(代号Orcas)中集成了其最新的数据访问技术LINQ。很难想像没有数据库的支持,我们的信息系统会是什么样子,数据访问技术的功能越来越强,通用性也越来越高。数据访问技术简化程序员对数据访问的技术难度,让程序员从那些复杂的数据访问底层技术中解脱出来,将精力集中在业务逻辑的实现上。本文将对数据访问技术的发展历史做一个总的介绍,并介绍最新的LINQ技术。

    关键字:数据库;数据访问;LINQ

    作为一个程序员,一直都梦想着有一天不需要再去学习新的数据访问方法。每一次数据访问方法的升级或者是新版本的数据库的推出,都需要一次新的学习、熟悉、熟练的过程。这样让程序员将本来应该编写程序逻辑的时间花在了数据库技术的研究上。其实数据库对于程序员来说,不过是一个堆放“数据”的仓库,最好能够像“多拉A梦”的口袋一样,什么都可以放得进,什么都可以取得出,而不需要用那些特别的方法来做这些事情。

    数据访问发展的趋势

    通用化就是数据库技术和数据访问技术一直在追求的目标。提供通用数据访问之所以如此重要有四点原因。

    1、开发人员可以很容易地开发针对不同数据存储的程序而不需要对每个都很精通。
    2、开发人员在不同编程语言之间切换时能有一个用于数据访问的公共框架。这使得向新语言的过渡更加容易,这一点在.NET Framework下尤其重要,因为在.NET Framework下期望开发人员可以很容易地在VB.NET和C#之间切换。
    3、使得开发人员编写可部署于不同数据存储之上的程序更加简单。
    4、提供了一个介于应用层和数据库通信层之间的抽象层来简化普通开发人员需要编写的代码。

    当数据访问通用化之后,程序员便可以不再记忆那么多不同的数据库连接字符串,不同的数据访问类型。程序员就像拿了一把“万能钥匙”,不什么样的门都能打开。

    数据库模型

    网状数据库模型

    1963年6月10日美国国防部的两个分部举行了一个题为“以计算机为中心的数据库的开发和管理”的会议,在这次会议上,创造并定义了数据库这个术语。

    当时对数据库的定义为:一组文件表的集合,其中文件是数据项行的有序集合,而每个数据项由数据以及一个或多个键组成。

    两年之后的1965年,CODASYL成立了一个组织,称为List Processing Task Force,这个组织后来演变为Data Base Task Group。它在1971年发布了一份重要的报告,报告概述了网络数据模型,也称之为CODASYL数据模型或DBTG数据模型。这个模型定义了数据库的几个关键概念包括如下:

    1、用于定义模式的语法
    2、用于定义子模式的语法
    3、数据操作语言

    这些概念后来被加入COBOL编程语言之中,它们同时也成为其后许多数据存储系统设计的出发点。

    层次数据库模型

    层次型数据库管理系统是紧随网状数据库而出现的。现实世界中很多事物是按层次组织起来的。层次数据模型的提出,首先是为了模拟这种按层次组织起来的事物。层次数据库也是按记录来存取数据的。

    层次数据模型中最基本的数据关系是基本层次关系,它代表两个记录型之间一对多的关系,也叫做双亲子女关系(PCR)。数据库中有且仅有一个记录型无双亲,称为根节点。其他记录型有且仅有一个双亲。在层次模型中从一个节点到其双亲的映射是惟一的,所以对每一个记录型(除根节点外)只需要指出它的双亲,就可以表示出层次模型的整体结构。层次模型是树状的。

原文转自:http://www.ltesting.net