數(shù)據(jù)庫(kù)管理系統(tǒng)(年薪50萬(wàn)DBA基礎(chǔ))-快速入門(mén)教程4-關(guān)系數(shù)據(jù)模型

DBMS中的關(guān)系數(shù)據(jù)模型

什么是關(guān)系模型

關(guān)系模型將數(shù)據(jù)庫(kù)表示為關(guān)系的集合。 表中的每一行代表一組相關(guān)的數(shù)據(jù)值。 表中的這些行表示真實(shí)世界的實(shí)體或關(guān)系。

表名和列名有助于解釋每行中值的含義。 數(shù)據(jù)表示為一組關(guān)系。 在關(guān)系模型中,數(shù)據(jù)存儲(chǔ)為表。 但是,數(shù)據(jù)的物理存儲(chǔ)與數(shù)據(jù)邏輯組織的方式無(wú)關(guān)。

一些流行的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)是:

關(guān)系模型概念

  • 屬性:表中的列。 屬性是定義關(guān)系的屬性。 例如,Student_Rollno,NAME等。
  • 表 - 在Relational模型中,關(guān)系以表格格式保存。 它與其實(shí)體一起存儲(chǔ)。 表有兩個(gè)屬性行和列。 行表示記錄,列表示屬性。
  • 元組 - 一條記錄。
  • 關(guān)系模式:與其屬性的關(guān)系的名稱。
  • Degree:關(guān)系中屬性的總數(shù)稱為Degree。
  • 基數(shù):總行數(shù)。
  • 列:列表示特定屬性的值集。
  • 關(guān)系實(shí)例 - RDBMS系統(tǒng)中一組有限的元組。 關(guān)系實(shí)例永遠(yuǎn)不會(huì)有重復(fù)的元組。
  • key - 每行都有一個(gè),兩個(gè)或多個(gè)屬性,稱為關(guān)系鍵。
  • 屬性域 - 每個(gè)屬性都有一些預(yù)定義的值和范圍,稱為屬性域
圖片.png

關(guān)系完整性約束

關(guān)系完整性約束是指有效關(guān)系必須存在的條件。 這些完整性約束源自數(shù)據(jù)庫(kù)所代表的迷你世界中的規(guī)則。

有許多類型的完整性約束。 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)的約束大多分為三大類:

  • 域約束
  • 鍵約束
  • 參照完整性約束
域約束

如果屬性值未出現(xiàn)在相應(yīng)的域中,或者它不屬于適當(dāng)?shù)臄?shù)據(jù)類型,則可能違反域約束。

域約束指定每個(gè)元組內(nèi)的值,并且每個(gè)屬性的值必須是唯一的。 這被指定為數(shù)據(jù)類型,包括標(biāo)準(zhǔn)數(shù)據(jù)類型整數(shù),實(shí)數(shù),字符,布爾值,可變長(zhǎng)度字符串等。

例:

Create DOMAIN CustomerName
CHECK (value not NULL)
鍵約束

可以唯一標(biāo)識(shí)關(guān)系中元組的屬性稱為表的鍵。 關(guān)系中不同元組的屬性值必須是唯一的。

例:

CustomerID是Customer Table的關(guān)鍵屬性, CustomerID = 1僅適用于CustomerName =“Google”。

參照完整性約束

參照完整性約束基于外鍵的概念。 外鍵是關(guān)系的重要屬性,在其他關(guān)系中引用。 當(dāng)關(guān)系引用不同或相同關(guān)系的鍵屬性時(shí),會(huì)發(fā)生引用完整性約束狀態(tài)。

例:

圖片.png

在上面的例子中,我們有兩個(gè)關(guān)系,Customer和Billing。

CustomerID = 1的元組在關(guān)系Billing中被引用兩次。 所以我們知道CustomerName = Google的結(jié)算金額為300美元

關(guān)系模型中的操作

對(duì)關(guān)系數(shù)據(jù)庫(kù)模型執(zhí)行的四個(gè)基本操作是

插入,更新,刪除和選擇。

  • Insert用于將數(shù)據(jù)插入關(guān)系中
  • 刪除用于從表中刪除元組。
  • 修改允許您更改現(xiàn)有元組中某些屬性的值。
  • 選擇允許您選擇特定范圍的數(shù)據(jù)。

操作時(shí)不得違反在關(guān)系數(shù)據(jù)庫(kù)模式上指定的完整性約束。

圖片.png
插入

insert操作給出了應(yīng)該插入關(guān)系的新元組的屬性值。

更新操作

您可以在以下給定的關(guān)系表中看到CustomerName ='Apple'從Inactive更新為Active。

圖片.png
刪除操作

要指定刪除,關(guān)系屬性的條件選擇要?jiǎng)h除的元組。

圖片.png

在上面給出的示例中,從表中刪除了CustomerName =“Apple”。

如果刪除的元組由同一數(shù)據(jù)庫(kù)中其他元組的外鍵引用,則Delete操作可能違反參照完整性。

選擇操作

在上面給出的示例中,選擇了CustomerName =“Amazon”

圖片.png

參考資料

創(chuàng)建關(guān)系模型的最佳實(shí)踐

  • 數(shù)據(jù)需要表示為關(guān)系集合
  • 應(yīng)在表格中清楚地描述每種關(guān)系
  • 行應(yīng)包含有關(guān)實(shí)體實(shí)例的數(shù)據(jù)
  • 列必須包含有關(guān)實(shí)體屬性的數(shù)據(jù)
  • 表格的單元格應(yīng)該包含單個(gè)值
  • 應(yīng)為每列提供唯一的名稱
  • 沒(méi)有兩行可以相同
  • 屬性的值應(yīng)來(lái)自同一個(gè)域

使用Relational模型的優(yōu)點(diǎn)

  • 簡(jiǎn)單性 :關(guān)系數(shù)據(jù)模型比分層和網(wǎng)絡(luò)模型更簡(jiǎn)單。
  • 結(jié)構(gòu)獨(dú)立性 :關(guān)系數(shù)據(jù)庫(kù)僅涉及數(shù)據(jù)而不涉及結(jié)構(gòu)。 這可以改善模型的性能。
  • 易于使用 :關(guān)系模型很容易,因?yàn)榘泻土械谋砀穹浅W匀磺乙子诶斫?/li>
  • 查詢功能 :使SQL等高級(jí)查詢語(yǔ)言可以避免復(fù)雜的數(shù)據(jù)庫(kù)導(dǎo)航。
  • 數(shù)據(jù)獨(dú)立性 :無(wú)需更改任何應(yīng)用程序即可更改數(shù)據(jù)庫(kù)的結(jié)構(gòu)。
  • 可擴(kuò)展 :對(duì)于許多記錄,行或字段數(shù),應(yīng)擴(kuò)大數(shù)據(jù)庫(kù)以增強(qiáng)其可用性。

使用Relational模型的缺點(diǎn)

  • 一些關(guān)系數(shù)據(jù)庫(kù)對(duì)字段長(zhǎng)度有限制,不能超過(guò)。
  • 隨著數(shù)據(jù)量的增長(zhǎng),關(guān)系數(shù)據(jù)庫(kù)有時(shí)會(huì)變得復(fù)雜,并且數(shù)據(jù)之間的關(guān)系變得更加復(fù)雜。
  • 復(fù)雜的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)可能導(dǎo)致孤立的數(shù)據(jù)庫(kù),其中信息無(wú)法從一個(gè)系統(tǒng)共享到另一個(gè)系統(tǒng)。

小結(jié)

  • Relational數(shù)據(jù)庫(kù)模型將數(shù)據(jù)庫(kù)表示為關(guān)系集合(表)
  • 屬性,表,元組,關(guān)系模式,度,基數(shù),列,關(guān)系實(shí)例,是關(guān)系模型的一些重要組成部分
  • 關(guān)系完整性約束是指有效關(guān)系必須存在的條件
  • 如果屬性值未出現(xiàn)在相應(yīng)的域中,或者它不屬于適當(dāng)?shù)臄?shù)據(jù)類型,則可能違反域約束
  • 插入,選擇,修改和刪除是在關(guān)系模型中執(zhí)行的操作
  • 關(guān)系數(shù)據(jù)庫(kù)僅涉及數(shù)據(jù),而不涉及可以改善模型性能的結(jié)構(gòu)
  • 關(guān)系模型的優(yōu)點(diǎn)是簡(jiǎn)單性,結(jié)構(gòu)獨(dú)立性,易用性,查詢能力,數(shù)據(jù)獨(dú)立性,可伸縮性。
  • 有少數(shù)關(guān)系數(shù)據(jù)庫(kù)對(duì)字段長(zhǎng)度有限制,不能超過(guò)。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容