伯克利資料庫
A. 資料庫的發展簡史
資料庫技術是本世紀60年代開始興起的一門信息管理自動化的新興學科,是計算機科學中的一個重要分支。隨著計算機應用的不斷發展,在計算機應用領域中,數據處理越來越佔主導
地位,資料庫技術的應用也越來越廣泛。
資料庫是數據管理的產物。數據管理是資料庫的核心任務,內容包括對數據的分類、組織、編碼、儲存、檢索和維護。隨著計算機硬體和軟體的發展,資料庫技術也不斷地發展。從數據管理的角度看,資料庫技術到目前共經歷了人工管理階段、文件系統階段和資料庫系統階段。
A.人工管理階段
人工管理階段是指計算機誕生的初期(即20世紀50年代後期之前),這個時期的計算機主要用於科學計算。從硬體看,沒有磁碟等直接存取的存儲設備;從軟體看,沒有操作系統和管理數據的軟體,數據處理方式是批處理。
這個時期數據管理的特點是:
1. 數據不保存
該時期的計算機主要應用於科學計算,一般不需要將數據長期保存,只是在計算某一課題 時將數據輸入,用完後不保存原始數據,也不保存計算結果。
2. 沒有對數據進行管理的軟體系統
程序員不僅要規定數據的邏輯結構,而且還要在程序中設計物理結構,包括存儲結構、存取方法、輸入輸出方式等。因此程序中存取數據的子程序隨著存儲的改變而改變,數據與程序不具有一致性。
3. 沒有文件的概念
數據的組織方式必須由程序員自行設計。
4. 一組數據對應於一個程序,數據是面向應用的
即使兩個程序用到相同的數據,也必須各自定義、各自組織,數據無法共享、無法相互利用和互相參照,從而導致程序和程序之間有大量重復的數據。
B.文件系統階段
文件系統階段是指計算機不僅用於科學計算,而且還大量用於管理數據的階段(從50年代後期到60年代中期)。在硬體方面,外存儲器有了磁碟、磁鼓等直接存取的存儲設備。在軟體方面,操作系統中已經有了專門用於管理數據的軟體,稱為文件系統。
這個時期數據管理的特點是:
1. 數據需要長期保存在外存上供反復使用
由於計算機大量用於數據處理,經常對文件進行查詢、修改、插入和刪除等操作,所以數據需要長期保留,以便於反復操作。
2. 程序之間有了一定的獨立性
操作系統提供了文件管理功能和訪問文件的存取方法,程序和數據之間有了數據存取的介面,程序可以通過文件名和數據打交道,不必再尋找數據的物理存放位置,至此,數據有了物理結構和邏輯結構的區別,但此時程序和數據之間的獨立性尚還不充分。
3. 文件的形式已經多樣化
由於已經有了直接存取的存儲設備,文件也就不再局限於順序文件,還有了索引文件、鏈表文件等,因而,對文件的訪問可以是順序訪問,也可以是直接訪問。
4. 數據的存取基本上以記錄為單位
B. 常用的資料庫軟體有哪些
sql
Server
是
Microsoft(微軟)
的數據產品,它的易用性強!
Oracle
是
Oracle(甲骨文)公司的數據產品!號稱世界上最好的數據系統!
DB2
是IBM公司的產品,在全球500強的企業中有80%是用DB2作為資料庫平台的
C. 資料庫軟體的PSQL
PostgreSQL 是最初的伯克利代碼的一個開放源碼的繼承人。伯克利(BSD)對計算機科學的貢獻可謂巨大,在整個計算機科學的發展史上,幾乎到處都有這所學校的研究人員和學生的足跡。PostgreSQL支持大部分 SQL標准並且提供了許多其他現代特性:復雜查詢、外鍵、觸發器、視圖、事務完整性、多版本並發控制。同樣,PostgreSQL 可以用許多方法擴展,比如, 通過增加新的數據類型、函數、操作符、聚集函數、索引方法、過程語言。並且,因為許可證的靈活,任何人都可以以任何目的免費使用,修改,和分發 PostgreSQL, 不管是私用,商用,還是學術研究使用。到了 1996 年, 我們很明顯的看出Postgres95這個名字已經不能經得起時間 的考驗了。於是我們起了一個新名字 PostgreSQL 用於反映最初的 POSTGRES 和最新的使用 SQL 的版本之間的關系。 同時版本號也 重新從 6.0 開始, 將版本號放回到最初的由 伯克利 POSTGRES 項目開始的順序中。Postgres95 版本的開發重點放在標明和理解現有的後端代碼的問題上。 PostgreSQL 開發重點轉到了 一些有爭議的特性和功能上面,當然各個方面的工作同時都在進行。
PostgreSQL 的歷史簡介
現在被稱為 PostgreSQL的對象-關系型資料庫管理系統(有一段時間被稱為 Postgres95)是從伯克利寫的 POSTGRES 軟體包發展而來的。經過十幾年的發展, PostgreSQL 是世界上可以獲得的最先進的開放源碼的資料庫系統, 它提供了多版本並行控制,支持幾乎所有 SQL 構件(包括子查詢,事務和用戶定 義類型和函數), 並且可以獲得非常廣闊范圍的(開發)語言綁定 (包括 C,C++,Java,perl,tcl,和 python)。
伯克利的POSTGRES項目
Michael Stonebraker 領導的 POSTGRES 項目是由防務高級研究項目局(DARPA), 陸軍研究辦公室(ARO),國家科學基金(NSF), 以及 ESL, Inc 共同贊助的。 POSTGRES 的實現始於 1986 年, 該系統最初的概念詳見 POSTGRES的設計。 最早的數據模型定義見 The POSTGRES Data Model。 當時的規則系統設計在 POSTGRES 規則系統的設計 里描述. 存儲管理器的理論基礎和體系結構在 POSTGRES存儲系統的設計 里有詳細描述。從那以後,POSTGRES 經歷了幾次主要的版本更新。 第一個演示性系統在 1987 年便可使用了, 並且在 1988 年的 ACM-SIGMOD 大會上展出。在 1989 年六月發布了版本 1給一些外部的用戶使用。 為了回應用戶對第一個規則系統的批評,作者重新設計了規則系統,並在1990年6月發布了使用新規則系統的版本 2。 版本 3 在1991年出現, 增加了多存儲管理器的支持, 並且改進了查 詢執行器, 重新編寫了規則系統。 從那以後,隨後的版本直到 Postgres95 發布前工作都集中在移植性和可靠性上。
POSTGRES 已經在許多研究或實際的應用中得到了應用。 這些應用包括: 一個財務數據分析系統,一個噴氣引擎性能監控軟體包,一個小行星跟蹤資料庫, 一個醫療信息資料庫和一些地理信息系統。 POSTGRES 還被許多大學用於教學用途。 最後, Illustra Information Technologies Illustra Information Technologies (後來並入 Informix) 後者現在屬於 IBM) 拿到代碼並使之商業化。在 1992 年末 POSTGRES 成為 Sequoia 2000 科學計算計劃的首要數據管理器。
到了 1993 年,外部用戶的數量幾乎翻番。隨著用戶的增加。 用於源代碼維護的時間日益增加 佔用了太多本應該用於資料庫研究的時間, 為了減少支持的負擔,伯克利的POSTGRES 項目在版本 4.2 時正式終止。 在1994 年, Andrew Yu 和 Jolly Chen 向 POSTGRES 中增加了 SQL 語言的解釋器。並隨後將 Postgres95 源代碼發布到互聯網上供大家使用, 成為一個開放源碼的,原先伯克利 POSTGRES 代碼的繼承者。
Postgres95 所有源代碼都是完全的 ANSI C , 而且代碼量減少了 25%。並且有許多內部修改以利於提高性能和代碼的維護性。 Postgres95 版本 1.0.x 在進行 Wisconsin Benchmark 測試時大概比 POSTGRES v4.2 快 30-50%。除了修正了一些錯誤,下面的是一些主要改進:原來的查詢語言 PostQUEL 被 SQL 取代(在 server 端實現)。在 PostgreSQL 之前還不支持子查詢)(但這個功能可以在 Postgres95 裡面由用戶定義的 SQL 函數實現)。重新實現了聚集。同時還增加了對 GROUP BY 查詢子句的支持。 C 程序仍可以調用 libpq介面函數。
新增加了利用 GNU Readline 進行交互 SQL 查詢(psql)。 這個程序很大程度上取代了老的 monitor 程序。增加了新的前端庫, libpgtcl, 用以支持以 Tcl為基礎的客戶端。一個樣本 shell, pgtclsh,提供了新的 Tcl 命令用於 Tcl 程序和 Postgres95 後端之間的交互。徹底重寫了大對象的介面。 保留了將大對象倒轉(Inversion )作為存儲大對象的唯一機制。 (去掉了倒轉(Inversion )文件系統。)去掉了記錄級(instance-level )的規則系統。 但我們仍然可以通過重寫規則使用規則。
在發布的源碼中增加了一個簡短的常用 SQL 和 Postgres95 特有的 SQL 特性的教程。用GNU make (取代了 BSD make)用於製作。 Postgres95 可以使用不加補丁的 GCC (修正了偶數位元組數據( doubles )的對齊問題)。 文件資料庫,多嵌入程序使用。
SQLite,是一款輕型的資料庫,是遵守ACID的關聯式資料庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。SQLite雖然很小巧,但是支持的SQL語句不會遜色於其他開源資料庫,同時它還支持事務處理功能等等。
D. 資料庫都有哪些
資料庫是一組信息的集合,以便可以方便地訪問、管理和更新,常用資料庫有:1、關系型資料庫;2、分布式資料庫;3、雲資料庫;4、NoSQL資料庫;5、面向對象的資料庫;6、圖形資料庫。
計算機資料庫通常包含數據記錄或文件的聚合,例如銷售事務、產品目錄和庫存以及客戶配置文件。
通常,資料庫管理器為用戶提供了控制讀寫訪問、指定報表生成和分析使用情況的能力。有些資料庫提供ACID(原子性、一致性、隔離性和持久性)遵從性,以確保數據的一致性和事務的完整性。
資料庫普遍存在於大型主機系統中,但也存在於較小的分布式工作站和中端系統中,如IBM的as /400和個人計算機。
資料庫的演變
資料庫從1960年代開始發展,從層次資料庫和網路資料庫開始,到1980年代的面向對象資料庫,再到今天的SQL和NoSQL資料庫和雲資料庫。
一種觀點認為,資料庫可以按照內容類型分類:書目、全文、數字和圖像。在計算中,資料庫有時根據其組織方法進行分類。有許多不同類型的資料庫,從最流行的方法關系資料庫到分布式資料庫、雲資料庫或NoSQL資料庫。
常用資料庫:
1、關系型資料庫
關系型資料庫是由IBM的E.F. Codd於1970年發明的,它是一個表格資料庫,其中定義了數據,因此可以以多種不同的方式對其進行重組和訪問。
關系資料庫由一組表組成,其中的數據屬於預定義的類別。每個表在一個列中至少有一個數據類別,並且每一行對於列中定義的類別都有一個特定的數據實例。
結構化查詢語言(SQL)是關系資料庫的標准用戶和應用程序介面。關系資料庫易於擴展,並且可以在原始資料庫創建之後添加新的數據類別,而不需要修改所有現有應用程序。
2、分布式資料庫
分布式資料庫是一種資料庫,其中部分資料庫存儲在多個物理位置,處理在網路中的不同點之間分散或復制。
分布式資料庫可以是同構的,也可以是異構的。同構分布式資料庫系統中的所有物理位置都具有相同的底層硬體,並運行相同的操作系統和資料庫應用程序。異構分布式資料庫中的硬體、操作系統或資料庫應用程序在每個位置上可能是不同的。
3、雲資料庫
雲資料庫是針對虛擬化環境(混合雲、公共雲或私有雲)優化或構建的資料庫。雲資料庫提供了一些好處,比如可以按每次使用支付存儲容量和帶寬的費用,還可以根據需要提供可伸縮性和高可用性。
雲資料庫還為企業提供了在軟體即服務部署中支持業務應用程序的機會。
4、NoSQL資料庫
NoSQL資料庫對於大型分布式數據集非常有用。
NoSQL資料庫對於關系資料庫無法解決的大數據性能問題非常有效。當組織必須分析大量非結構化數據或存儲在雲中多個虛擬伺服器上的數據時,它們是最有效的。
5、面向對象的資料庫
使用面向對象編程語言創建的項通常存儲在關系資料庫中,但是面向對象資料庫非常適合於這些項。
面向對象的資料庫是圍繞對象(而不是操作)和數據(而不是邏輯)組織的。例如,關系資料庫中的多媒體記錄可以是可定義的數據對象,而不是字母數字值。
6、圖形資料庫
面向圖形的資料庫是一種NoSQL資料庫,它使用圖形理論存儲、映射和查詢關系。圖資料庫基本上是節點和邊的集合,其中每個節點表示一個實體,每個邊表示節點之間的連接。
圖形資料庫在分析互連方面越來越受歡迎。例如,公司可以使用圖形資料庫從社交媒體中挖掘關於客戶的數據。
訪問資料庫:DBMS和RDBMS
資料庫管理系統(DBMS)是一種允許您定義、操作、檢索和管理存儲在資料庫中的數據的軟體。
關系資料庫管理系統(RDBMS)是上世紀70年代開發的一種基於關系模型的資料庫管理軟體,目前仍然是最流行的資料庫管理方法。
Microsoft SQL Server、Oracle資料庫、IBM DB2和MySQL是企業用戶最常用的RDBMS產品。DBMS技術始於20世紀60年代,支持分層資料庫,包括IBM的信息管理系統和CA的集成資料庫管理系統。一個關系資料庫管理系統(RDBMS)是一種資料庫管理軟體是在20世紀70年代開發的,基於關系模式,仍然是管理資料庫的最普遍的方式。
希望能幫助你還請及時採納謝謝