關鍵字:數據庫;數據訪問;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