資料庫系統 關係模式

2021-10-23 04:49:30 字數 1852 閱讀 3650

資料庫系統學習第六篇:關係模式。

關係模型是常用的資料模型,它主要包括三方面的內容,即:

資料結構:表

資料操作:ddl dml dcl(dbas常用)

完整性約束:實體完整性、參照完整性、自定義完整性。

下面將進一步分析關係模式 。

談這兩個之前,需要知道模式指的是設計,例項指的是某一時刻的快照

資料庫模式即是對資料庫的設計,資料庫例項指的是某一特定時刻整個資料庫資料的快照,同理,關係模式是對關係,也就是表的設計,關係例項就是某一特定時刻整個表資料的快照

如下圖所示 ,即資料庫的模式

資料庫例項就是某乙個特定時刻,資料庫資料的集合。

以student表為例,它的關係模式即是下面標綠的地方。

關係例項指的是某一特定時刻,表的資料的集合。

如下

關係模式可以理解為對錶的屬性的設計。乙個關係模式 是由屬性序列和屬性的域組成,如下表示:

其中ai 代表第i個屬性 ,di表示第i個屬性所對應的域。

通常 我們表示乙個關係模式時,不用展現屬性的域是什麼,舉例如下:

屬性的域應當是原子性的,即屬性不應該再分,我認為不是原子性主要指兩個方面,

屬性指代不明

屬性仍可分割

通常我們要讓一些屬性的取值能唯一確定乙個元組,這些屬性的集合稱為超碼

我們按範圍來分的話,大概可以這麼分,

超碼》=候選碼 = 主碼+備選碼

超碼(sk)能唯一確定乙個元組 ,候選碼(ck) 也是超碼 ,不過候選碼的任意真子集不能確定唯一的元組。而主碼(pk)是我們主觀選定的候選碼,而備選碼(ak)則是除了主碼以外的候選碼。

另外還乙個碼,叫做外碼(fk),乙個表的外碼要麼為null ,要麼必然在另外一張表以主碼的形式出現。這也就是參照完整性約束。

以學生為例 ,它的屬性可以有 學號 入學年份 院系 姓名 宿舍樓層 宿舍號。(我們忽略同乙個寢室同名的極端情況

超碼可以是學號 入學年份 院系 姓名 宿舍樓層 宿舍號。

候選碼可以是學號或是入學年份 院系 姓名 宿舍樓層 宿舍號。

主碼我們可以挑 學號或是學年份 院系 姓名 宿舍樓層 宿舍號。

備選碼就是候選碼 減去主碼。

我們挑選主碼主要從效能方面考慮,如下所示:

單屬性碼優於組合碼(顯然學號作為主碼更好)

整數優於字串。

關係模式的設計優劣與增刪改查的效率高低密切相關。

比如我們可以在乙個表裡儲存所有資訊,這不是不行,但是問題就是,會造成資料的大量重複。比如兩個人共享乙個賬戶,那麼這個賬戶的資訊就重複了。除此外,大量的null值會造成許多問題,如對某乙個屬性的所有元組進行計算 卻因為null值的存在導致計算失敗等等。

寫完收工。

關係資料庫系統

關係資料庫系統的發展歷史 關係資料模型 資料模型 資料結構 資料操作 完整性約束 資料結構 層次,網狀,關係,物件 資料操作 ddl,dml 完整性約束 實體完整性 主鍵存在,參照完整性 外來鍵引用存在,使用者定義完整性 關係資料模型 關係資料結構 資料操作 完整性約束 關係模型的資料結構和基本術語...

資料庫系統概念 關聯式資料庫

database system concepts 6e 總結 本篇是 資料庫系統概念 原版書籍第一部分,這一部分介紹了關係模型的基礎知識,介紹了最普遍的一種查詢語言 sql語言,以及關係代數。1.關聯式資料庫 a relational database consists of a collectio...

資料庫系統概論 關係代數

關聯式資料庫不是僅僅用來看的,必須有相應的運算來支撐才能得到我們想要的結果。之前也提到,關聯式資料庫有完整的數學模型來支撐,因此這一節可能就要考一考筆者的數學能力了!雖然上學期離散考得還行,但數學乃我一生之大敵 對資料庫系統下達指令需要語言。分為三類 至於這些語言的特點將分別展開說明。關係代數的運算...