關係模型 (電腦)

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

(重定向自关系模型)

關係模型(Relational Model)

目錄

關係模型

  用於資料庫管理的關係模型是基於謂詞邏輯和集合論的一種數據模型,廣泛被使用於資料庫之中。最早於1969年由埃德加•科德提出。

  關係模型的基本假定是所有數據都表示為數學上的關係,就是說n個集合的笛卡兒積的一個子集,有關這種數據的推理通過二值(就是說沒有NULL)的謂詞邏輯來進行,這意味著對每個命題都沒有兩種可能的賦值:要麼是真要麼是假。數據通過關係演算和關係代數的一種方式來操作。關係模型是採用二維表格結構表達實體類型及實體間聯繫的數據模型.

  關係模型允許設計者通過資料庫規範化的提煉,去建立一個信息的一致性的模型。訪問計劃和其他實現與操作細節由DBMS引擎來處理,而不應該反映在邏輯模型中。這與SQL DBMS普遍的實踐是對立的,在它們那裡性能調整經常需要改變邏輯模型。

  基本的關係建造塊是域或者叫數據類型。元組是屬性的有序多重集(multiset),屬性是域和值的有序對。關係變數(relvar)是域和名字的有序對(序偶)的集合,它充當關係的表頭(header)。關係是元組的集合。儘管這些關係概念是數學上的定義的,它們可以寬鬆的映射到傳統資料庫概念上。表是關係的公認的可視表示;元組類似於行的概念。

關係模型理論的起源與發展

  網狀資料庫和層次資料庫已經很好地解決了數據的集中和共用問題,但是在數據獨立性和抽象級別上仍有很大欠缺。用戶在對這兩種資料庫進行存取時,仍然需要明確數據的存儲結構,指出存取路徑。而後來出現的關係資料庫較好地解決了這些問題。關係資料庫理論出現於60年代末到70年代初。1970年,IBM的研究員E.F.Codd博士發表《大型共用數據銀行的關係模型》一文提出了關係模型的概念。後來Codd又陸續發表多篇文章,奠定了關係資料庫的基礎。關係模型有嚴格的數學基礎,抽象級別比較高,而且簡單清晰,便於理解和使用。但是當時也有人認為關係模型是理想化的數據模型,用來實現DBMS是不現實的,尤其擔心關係資料庫的性能難以接受,更有人視其為當時正在進行中的網狀資料庫規範化工作的嚴重威脅。為了促進對問題的理解,1974年ACM牽頭組織了一次研討會,會上開展了一場分別以Codd和Bachman為首的支持和反對關係資料庫兩派之間的辯論。這次著名的辯論推動了關係資料庫的發展,使其最終成為現代資料庫產品的主流。

  關係數據模型提供了關係操作的特點和功能要求,但不對DBMS的語言給出具體的語法要求。對關係資料庫的操作是高度非過程化的,用戶不需要指出特殊的存取路徑,路徑的選擇由DBMS的優化機制來完成。Codd在70年代初期的論文論述了範式理論和衡量關係系統的12條標準,用數學理論奠定了關係資料庫的基礎。Codd博士也以其對關係資料庫的卓越貢獻獲得了1981年ACM圖靈獎

  關係數據模型是以集合論中的關係概念為基礎發展起來的。關係模型中無論是實體還是實體間的聯繫均由單一的結構類型——關係來表示。在實際的關係資料庫中的關係也稱表。一個關係資料庫就是由若幹個表組成。

關係模型的原理與特點

  關係模型的基本原理是信息原理:所有信息都表示為關係中的數據值。所以,關係變數在設計時刻是相互無關聯的;反而,設計者在多個關係變數中使用相同的域,如果一個屬性依賴於另一個屬性,則通過參照完整性來強制這種依賴性。

  關係模型和層次、網狀模型相比,有以下特點:

  1、數據結構簡單(二維表格);

  2、以關係運算理論、關係模式設計理論作為理論基礎。

關係模型的組成

  單一的數據結構——關係

  現實世界的實體以及實體間的各種聯繫均用關係來表示,從用戶角度看,關係模型中數據的邏輯結構是一張二維表。

  關係操作集合

  常用的關係操作包括查詢操作和插入、刪除、修改操作兩大部分。其中查詢操作的表達能力最重要,包括:選擇、投影、連接、除、並、交、差等。

  關係模型中的關係操作能力早期通常是用代數方法或邏輯方法來表示,分別稱為關係代數和關係演算。關係代數是用對關係的代數運算來表達查詢要求的方式;關係演算是用謂詞來表達查詢要求的方式。另外還有一種介於關係代數和關係演算的語言稱為結構化查詢語言,簡稱SQL。

  關係的數據完整性

  包括:域完整性、實體完整性、參照完整性和用戶自定義的完整性。

  域完整性:指屬性的取值範圍,如性別取值應為男或女。

  實體完整性(Entity Integrity)規則:若屬性A是基本關係R的主屬性,則屬性A不能取空值。例如:在課程表(課程號,課程名,教師,周課時數,備註)中,“課程號”屬性為主鍵,則“課程號”不能取相同的值,也不能取空值。

  參照完整性規則:若屬性(或屬性組)F是基本關係R的外鍵,它與基本關係S的主鍵Ks相對應(關係R和S不一定是不同的關係),則對於關係R中每個元組在屬性F上的值必須為:

  1、或者取空值(F中的每個屬性值均為空);

  2、或者等於S中某個元組的主鍵值。

  例如:職工(職工號,姓名,性別,部門號,上司,工資佣金

  部門(部門號,名稱,地點)

  其中職工號是“職工”關係的主鍵,部門號是外鍵,而“部門”關係中部門號是主鍵,則職工關係中的每個元組的部門號屬性只能取下麵兩類值:

  第1類:空值,表示尚未給該職工分配部門;

  第2類:非空值,但該值必須是部門關係中某個元組的部門號值,表示該職工不可能分配到一個不存在的部門中,即被參照關係“部門”中一定存在一個元組,它的主鍵值等於該參照關係“職工”中的外鍵值。

  域完整性、實體完整性和參照完整性是關係模型中必須滿足的完整性約束條件,只要是關係資料庫系統就應該支持域完整性、實體完整性和參照完整性。除此之外,不同的關係資料庫系統根據其應用環境的不同,往往還需要一些特殊的約束條件,用戶定義的完整性就是對某些具體關係資料庫的約束條件。例如:選課表(課程號,學號,成績),在定義關係選課表時,我們可以對成績這個屬性定義必須大於等於0的約束。

關係模型的優點

  1、數據結構單一

  關係模型中,不管是實體還是實體之間的聯繫,都用關係來表示,而關係都對應一張二維數據表,數據結構簡單、清晰。

  2、關係規範化,並建立在嚴格的理論基礎上

  構成關係的基本規範要求關係中每個屬性不可再分割,同時關係建立在具有堅實的理論基礎的嚴格數學概念基礎上。

  3、概念簡單,操作方便

  關係模型最大的優點就是簡單,用戶容易理解和掌握,一個關係就是一張二維表格,用戶只需用簡單的查詢語言就能對資料庫進行操作。

本條目對我有幫助7
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目

本条目由以下用户参与贡献

Tracy,刘维燎.

評論(共0條)

提示:評論內容為網友針對條目"關係模型 (電腦)"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

MBA智库
打开APP

以上内容根据网友推荐自动排序生成