簡介
資料庫,簡而言之可視為電子化的檔案櫃——存儲電子檔案的處所,用戶可以對檔案中的數據運行新增、截取、更新、刪除等操作。
所謂“資料庫”系以 一定方式儲存在一起、能予多個用戶共享、具有儘可能小的冗餘度、與應用程式彼此獨立的數據集合。
資料庫管理系統
主條目:資料庫管理系統
資料庫管理系統(英語:Database Management System,簡稱DBMS)是為管理資料庫而設計的電腦軟體系統,一般具有存儲、截取、安全保障、備份等基礎功能。資料庫管理系統可以依據它所支持的資料庫模型來作分類,例如關係式、XML;或依據所支持的計算機類型來作分類,例如伺服器群集、行動電話;或依據所用查詢語言來作分類,例如SQL、XQuery;或依據性能衝量重點來作分類,例如最大規模、最高運行速度;亦或其他的分類方式。不論使用哪種分類方式,一些DBMS能夠跨類別,例如,同時支持多種查詢語言。
類型
關係資料庫
•MySQL
•MariaDB(MySQL的代替品,英文維基百科從MySQL轉向MariaDB)
•Percona Server(MySQL的代替品·)
•PostgreSQL
•Microsoft Access
•Microsoft SQL Server
•Google Fusion Tables
•FileMaker
•Oracle資料庫
•Sybase
•dBASE
•Clipper
•FoxPro
•foshub
幾乎所有的資料庫管理系統都配備了一個開放式資料庫連線(ODBC)驅動程式,令各個資料庫之間得以互相集成。
非關係型資料庫(NoSQL)
主條目:NoSQL
•BigTable(Google)
•Cassandra
•MongoDB
•CouchDB
鍵值(key-value)資料庫
•Apache Cassandra(為Facebook所使用):高度可擴展
•Dynamo
•LevelDB(Google)
資料庫模型
•對象模型
•層次模型(輕量級數據訪問協定)
•網狀模型(大型數據儲存)
•關係模型
•面向對象模型
•半結構化模型
•平面模型(表格模型,一般在形式上是一個二維數組。如表格模型數據Excel)
架構
資料庫的架構可以大致區分為三個概括層次:內層、概念層和外層。
•內層:最接近實際存儲體,亦即有關數據的實際存儲方式。
•外層:最接近用戶,即有關個別用戶觀看數據的方式。
•概念層:介於兩者之間的間接層。
資料庫索引
主條目:資料庫索引
數據索引的觀念由來已久,像是一本書前面幾頁都有目錄,目錄也算是索引的一種,只是它的分類較廣,例如車牌、身份證字號、條碼等,都是一個索引的號碼,當我們看到號碼時,可以從號碼中看出其中的端倪,若是要找的人、車或物品,也只要提供相關的號碼,即可迅速查到正確的人事物。
另外,索引跟欄位有著相應的關係,索引即是由欄位而來,其中欄位有所謂的關鍵欄位(Key Field),該欄位具有唯一性,即其值不可重複,且不可為"空值(null)"。例如:在合併數據時,索引便是扮演欲附加欄位數據之指向性用途的角色。故此索引為不可重複性且不可為空。
資料庫操作:事務
主條目:資料庫事務
事務(transaction)是用戶定義的一個資料庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的工作單位。 事務的ACID特性:
•基元性(atomicity)
•一致性(consistency)
•隔離性(isolation)
•持續性(durability)
事務的並發性是指多個事務的並行操作輪流交叉運行,事務的並發可能會訪問和存儲不正確的數據,破壞交易的隔離性和資料庫的一致性。
網狀數據模型的數據結構 網狀模型 滿足下面兩個條件的基本層次聯繫的集合為網狀模型。 1. 允許一個以上的結點無雙親; 2. 一個結點可以有多於一個的雙親。
參見
•資料庫理論
•信息技術審核
•LDAP(輕量級數據訪問協定)
•SQL(結構化查詢語言)
•資料庫管理系統