最著名最典型的層次數據庫系統是IBM公司的IMS(Information Management System),這是IBM公司研制的最早的大型數據庫系統程序產品。從60年代末產生起,如今已經發展到IMSV6,提供群集、N路數據共享、消息隊列共享等先進特性的支持。這個具有30年歷史的數據庫產品在如今的WWW應用連接、商務智能應用中扮演著新的角色。
關系數據庫模型
無論是CODASYL的網絡數據模型,還是IBM的IMS,都是顯著的進步因為它們標志著范型改變,那就是將數據從應用程序代碼中分離出來,同時它們也布置了一個數據庫應該具有的框架。但是,它們都具有令人討厭的缺陷:需要程序員搜索數據集以尋找他們想要的數據,因此,有時也稱它們為導航數據庫。
1970年,IBM的英國計算機科學家Edgar Codd發布了一篇重要的論文,題目叫做“大型共享數據倉庫中數據的關系模型”,文中作者介紹了關系模型。在這個模型中,Codd強調了將原始的、一般的數據與機器特有的數據類型分離的重要性,并披露了一種簡單的高層次查詢語言用于訪問該數據。這種思想上的轉變使得開發人員可以對整個數據集進行同時操作,而不再是一次一行地進行操作。
在此后的幾十年里,數據庫繼續演化著,F代數據庫比如Oracle、Microsoft SQL server、MySQL以及LDAP都受到早期那幾個數據庫很大的影響。隨著時間的推移,它們的性能都有很大改進,可以處理很大的事務量,可以處理大量的數據,可提供高度的可伸縮性和可靠性。
通用數據訪問模型
ODBC
ODBC(Open Database Connectivity,開放數據庫互連)是微軟公司開放服務結構(WOSA,Windows Open Services Architecture)中有關數據庫的一個組成部分,它建立了一組規范,并提供了一組對數據庫訪問的標準API(應用程序編程接口)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。
一個基于ODBC的應用程序對數據庫的操作不依賴任何DBMS,不直接與DBMS打交道,所有的數據庫操作由對應的DBMS的ODBC驅動程序完成。也就是說,不論是FoxPro、Access , MYSQL還是Oracle數據庫,均可用ODBC API進行訪問。由此可見,ODBC的最大優點是能以統一的方式處理所有的數據庫。
ODBC是一個巨大的飛躍,它幫助極大地簡化了數據庫驅動的應用程序的開發。但是它仍然有一些不足。首先,它只能夠支持關系型數據。如果你需要訪問層次數據源,比如LDAP,或者半結構化數據,ODBC就無能為力了。其次,它只能處理SQL語句,而且結果只能用行和列的形式來描述?傮w而言,考慮到之前的境況,ODBC是一個巨大的成功。
OLEDB
對象鏈接和嵌入數據庫OLE-DB是數據提供程序的又一大進步,而且今天還在廣泛使用這種技術。對于OLE-DB,Microsoft應用了開發ODBC過程中學到的知識來提供一個更好的數據訪問模型。OLE-DB標志了Microsoft向基于COM的API的轉移這種轉移,使得它很容易被大多數編程語言使用,同時也標志了向32位操作系統的遷移,Windows 95的發布標志著這一事實。
正如其他代碼一樣,經過幾次的修訂,ODBC變得臃腫不堪。OLE-DB的API則靈巧得多,它提供了比ODBC更高效的數據訪問。很奇怪的是,唯一以其最初發布形式出現的就是ODBC數據提供程序。它只是ODBC提供程序的包裝器,沒有提供任何性能改進。關鍵在于要使得開發人員適應新的API,同時不影響他們訪問現存的通過ODBC來訪問的數據庫系統。之后,可以編寫更高效的數據訪問程序來直接訪問數據庫,比如MS SQL,而不再需要通過ODBC。
文章來源于領測軟件測試網 http://www.kjueaiud.com/