關聯式資料庫
外觀
關聯式資料庫,是建立在關係模型基礎上的數據庫,藉助集合代數等數學概念和方法來處理數據庫中的數據。現實世界中的各種實體以及實體之間的各種聯繫均用關聯模型來表示。關係模型是由埃德加·科德於1970年首先提出的,並配合「科德十二定律」。現如今雖然對此模型有一些批評意見,但它還是數據存儲的傳統標準。標準數據查詢語言SQL就是一種基於關係數據庫的語言,這種語言執行對關係數據庫中數據的檢索和操作。
關係模型由關聯資料結構、關係操作集合、關係完整性約束三部分組成。
實體關係模型
實體關係模型(Entity-Relationship Model),簡稱E-R Model是陳品山(Peter P.S Chen)博士於1976年提出的一套資料庫的設計工具,他運用真實世界 中事物與關係的觀念,來解釋資料庫中的抽象的資料架構。實體關係模型利用圖形的方式(實體-關係圖(Entity-Relationship Diagram))來表示資料庫的概念設計,有助於設計過程中的構思及溝通討論。
關係操作
關係模塊中常用的操作包括:
- 數據查詢
- 選擇
- 投影
- 連接
- 並
- 交
- 差
- 除
- 數據操作
- 增加
- 刪除
- 修改
完整性約束
完整性約束包括:
- 實體完整性
- 參照完整性
- 用戶定義完整性
關係數據語言SQL
SQL(Structured Query Language)語言是1974年由Boyce和Chamberlin提出的一種介於關係代數與關係演算之間的結構化查詢語言,是一個通用的、功能極強的關係性數據庫語言。
模式結構
- 外模式
- 模式
- 內模式
表
視圖
索引
全關係系統十二準則
全關係系統應該完全支持關係模型的所有特徵。關係模型的奠基人埃德加·科德具體地給出了全關係系統應遵循的基本準則。
- 準則0
- 一個關係形的關聯式資料庫管理系統必須能完全通過它的關係能力來管理數據庫。
- 準則1 信息準則
- 關聯式資料庫管理系統的所有信息都應該在邏輯一級上用表中的值這一種方法顯式的表示。
- 準則2 保證訪問準則
- 依靠表名、主碼和列名的組合,保證能以邏輯方式訪問關係數據庫中的每個數據項。
- 準則3 空值的系統化處理
- 全關係的關聯式資料庫管理系統支持空值的概念,並用系統化的方法處理空值。
- 準則4 基於關係模型的動態的聯機數據字典
- 數據庫的描述在邏輯級上和普通數據採用同樣的表述方式。
- 準則5 統一的數據子語言
- 一個關聯式資料庫管理系統可以具有幾種語言和多種終端訪問方式,但必須有一種語言,它的語句可以表示為嚴格語法規定的字符串,並能全面的支持各種規則。
- 準則6 視圖更新準則
- 所有理論上可更新的視圖也應該允許由系統更新。
- 準則7 高級的插入、修改和刪除操作
- 系統應該對各種操作進行查詢優化。
- 準則8 數據的物理獨立性
- 無論數據庫的數據在存儲表示或存取方法上作任何變化,應用程序和終端活動都保持邏輯上的不變性。
- 準則9 數據邏輯獨立性
- 當對基本關係進行理論上信息不受損害的任何改變時,應用程序和終端活動都保持邏輯上的不變性。
- 準則10 數據完整的獨立性
- 關係數據庫的完整性約束條件必須是用數據庫語言定義並存儲在數據字典中的。
- 準則11 分布獨立性
- 關聯式資料庫管理系統在引入分布數據或數據重新分布時保持邏輯不變。
- 準則12 無破壞準則
- 如果一個關聯式資料庫管理系統具有一個低級語言,那麼這個低級語言不能違背或繞過完整性準則。