關聯式資料庫
外觀
關聯式資料庫,是建立在關係模型基礎上的數據庫,藉助集合代數等數學概念和方法來處理數據庫中的數據。現實世界中的各種實體以及實體之間的各種聯繫均用關聯模型來表示。關聯模型是由埃德加·科德於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 無破壞準則
- 如果一個關聯式資料庫管理系統具有一個低級語言,那麼這個低級語言不能違背或繞過完整性準則。