從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編程語言之中,它們同時也成為其后許多數據存儲系統設計的出發點。

    層次數據庫模型

    層次型數據庫管理系統是緊隨網狀數據庫而出現的?,F實世界中很多事物是按層次組織起來的。層次數據模型的提出,首先是為了模擬這種按層次組織起來的事物。層次數據庫也是按記錄來存取數據的。

    層次數據模型中最基本的數據關系是基本層次關系,它代表兩個記錄型之間一對多的關系,也叫做雙親子女關系(PCR)。數據庫中有且僅有一個記錄型無雙親,稱為根節點。其他記錄型有且僅有一個雙親。在層次模型中從一個節點到其雙親的映射是惟一的,所以對每一個記錄型(除根節點外)只需要指出它的雙親,就可以表示出層次模型的整體結構。層次模型是樹狀的。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97