關(guān)系數(shù)據(jù)模型 relational data model
定義:用二維表來表示實體以及實體之間聯(lián)系的數(shù)據(jù)模型。
學(xué)科:計算機科學(xué)技術(shù)_數(shù)據(jù)庫_數(shù)據(jù)模型
相關(guān)名詞:數(shù)據(jù)庫 數(shù)據(jù)模型 數(shù)據(jù)結(jié)構(gòu)
圖片來源:視覺中國
【延伸閱讀】
關(guān)系數(shù)據(jù)模型是當(dāng)前數(shù)據(jù)庫中發(fā)展最為成熟,應(yīng)用最為普遍的一種數(shù)據(jù)的組織模型。它由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三大要素組成。
關(guān)系模型把數(shù)據(jù)庫表示為關(guān)系的集合。通俗地講,每個關(guān)系都類似一張值表,或者一張“平面”文件,關(guān)系數(shù)據(jù)庫就由這些“平面”文件集合而成,并包含一些“視圖”的定義等,“視圖”是這些“平面”文件的一些子集。當(dāng)一個關(guān)系被看作一張表時,表中的每一行稱為一個“元組”,它是真實世界的一個“實體”,例如在公司的人事管理系統(tǒng)當(dāng)中,每一個員工實體就是一個“元組”。表中的每一列都可以表示一類信息,稱為“屬性”,例如每個員工都有“所屬部門”屬性等。
關(guān)系操作集合是基于關(guān)系數(shù)據(jù)庫而定義的一系列對數(shù)據(jù)庫的數(shù)值或邏輯計算。關(guān)系模型中常用的關(guān)系操作包括選擇、投影、連接、除、并、交、差等,以及查詢操作和插入、刪除、更新操作兩大部分。其中,查詢是關(guān)系數(shù)據(jù)模型乃至所有數(shù)據(jù)庫模型中最主要的操作。這些關(guān)系操作的對象和結(jié)果都是集合。關(guān)系操作的方式主要有兩種:關(guān)系代數(shù)和邏輯演算。我們所熟知的SQL數(shù)據(jù)庫語言就是兩種操作方式集合而成的應(yīng)用極為廣泛的一種數(shù)據(jù)庫開發(fā)和管理語言。例如,選取一個部門的男員工而非女員工。這里的“非”就是關(guān)系代數(shù)操作。邏輯演算基于數(shù)理邏輯,要更復(fù)雜一些,例如選取1990年之前出生的男員工,需要對出生日期做數(shù)理上的對比篩選,就是邏輯演算。邏輯演算不需要像關(guān)系操作一樣嚴格的表達式順序。
數(shù)據(jù)庫的完整性約束是指數(shù)據(jù)庫中數(shù)據(jù)的準(zhǔn)確性、相容性和一致性。這是一種語義概念,包括兩個方面:與現(xiàn)實世界中應(yīng)用需求數(shù)據(jù)的正確性、相容性和一致性;數(shù)據(jù)庫內(nèi)數(shù)據(jù)之間的準(zhǔn)確性、相容性和一致性。例如,公司員工的工號必須唯一,性別只能是男或女,員工的所在部門必須是存在的,等等。數(shù)據(jù)庫中數(shù)據(jù)是否具備完整性關(guān)系,決定了數(shù)據(jù)庫能否真實地反映世界。數(shù)據(jù)完整性由完整性規(guī)則來定義,它提供了一種手段,確保用戶對數(shù)據(jù)庫進行操作時,包括插入、刪除、更新元組,不會破壞數(shù)據(jù)庫中數(shù)據(jù)的正確性、相容性和一致性,也就保證了用戶查詢得到的數(shù)據(jù)是有意義的。
隨著大數(shù)據(jù)時代的到來,數(shù)據(jù)越來越多元復(fù)雜,基于關(guān)系數(shù)據(jù)庫的優(yōu)化也層出不窮,例如圖數(shù)據(jù)庫、數(shù)據(jù)立方體等等。這些新型數(shù)據(jù)庫繼承關(guān)系數(shù)據(jù)庫的優(yōu)點,并發(fā)展自己的特色,為大數(shù)據(jù)的發(fā)展提供了堅實的底層數(shù)據(jù)基礎(chǔ)。
(延伸閱讀作者:大連理工大學(xué)計算機學(xué)院教授 楊鑫)
責(zé)任編輯:張鵬輝