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