關聯式資料庫攻略(第三期)
第十組
關係資料庫系統是支援關係模型的資料庫模型,關係模型由關係資料結構關係操作以及關係完整性約束三部分組成。一、資料庫的關係完整性
關聯式資料庫設計是對資料進行組織化和結構化的過程,核心問題是關係模型的設計。關係關係模型的完整性規則是的關係的某種約束條件,是指資料庫中資料的正確性和一致性。現實世界的實際存在決定了關係必須滿足一定的完整性約束條件,這些約束表現在對屬性取值範圍是限制上。完整性規則就是防止使用者使用資料庫時,想資料庫中加入不符合語義的資料。規則模型中有3類完整性約束:實體完整性、參照完整性和使用者定義的完整性。其中實體完整性和參照完整性尚關係模型必須滿足的完整性約束條件被稱作關係的兩個不變性。
1、 實體完整性規則
實體完整性是指基本關係的主屬性,即主鍵的值都不能取空值。在關係系統中乙個關係通常對應乙個表,實際儲存資料的表稱為基本表,而查詢結果表、檢視表都不是基本表。實體完整性是針對基本表而言的,指在實際儲存資料的基本表中,主屬性不能去空值。例如:在「a
班學生資訊」表中,「學號」為主鍵,則「學號」不能取空值。
乙個基本關係對應於現實世界中的乙個實體集,如學生關係對應於學生集合。現實世界中實體書可區分的,即每個實體具有唯一的標識。在關係模型中用主鍵作唯一性標識時,若主鍵去空值,則說明這個實體無法標識,即不可區分。這顯然與現實世界相矛盾,現實世界不可能存在這樣不可標識的實體,從而引入實體完整性規則。
實體完整性規則規定基本關係的所有主屬性都不能取空值,而不僅僅是主鍵整體不能取空值。如果是多個字段一起組成主鍵,則這多個欄位均不能取空值,否則就違反了實體完整性規則。
或:實體完整性是指關係的主關鍵字不能取空值或重複的值。如果是多個字段一起組成主鍵,則這多個欄位均不能取空值。如:學號是主鍵,則該列不能有空值或重複值,否則無法對應某個具體的學生,這樣的二維表不完整,對應關係不符合實體完整性規則的約束條件。
2、 參照完整性規則 現實世界的實體之間往往存在某種聯絡,在關係模型中實體及實體間的聯絡都是用關係來描述的,這樣就存在著關係之間的引用。 參照完整性是定義建立關係之間聯絡的主鍵與外來鍵引用的規則,即外來鍵要麼取空值,要麼等於相關關係中主鍵的某個值。
例如:課程表(課程id,課程名,型別
id,學分,。。。。。)
課程類別表(型別id,型別)
這兩個表之間存在著屬性的引用,即「課程」表引用了「課程類別」表的主鍵「型別id
」。按照參照完整性規則,「課程」表中每個元祖的「型別
id」 屬性只能取下面兩類值「 (
1) 空值。表示該課程還未確定類別。
(2) 非空值。此時取值必須和「課程」表這某個元祖的「型別
id」值相同,表示這門課 程歸屬該類別。 參照完整性規則規定不能引用不存在的實體。
3、 使用者定義完整性(域完整性)規則 實體完整性和參照完整性是關係模型這必須滿足的完整性約束性條件,只要是關係資料庫系統就應該支援實體完整性和參照完整性。除此之外,不同的關係資料庫系統根據其應用環境的不同,往往還需要一些特殊的約束條件,使用者定義完整性就是對某些具體關聯式資料庫的約
1.關係模型:
關係模型的資料結構只包含關係這單一的資料結構。
2.關係與笛卡爾積的聯絡:
笛卡爾積:
笛卡爾積是一種域上的集合運算:d1xd2xd3....xdn(域是一組具有相同資料結構型別的值的集合,
eg:小於
10大於
5的集合
乙個域裡不同取值的個數稱為基數,笛卡爾積的元組
=域的基數之積)
eg:d1=導師=
d2=專業=
d3=教室=
d1xd2xd3=
基數=1x2x2=4,元組=4
d1xd2xd3....xdn的子集叫做 d1,d2,
...,dn
上的關係,換句話說笛卡爾積的有限子集是關係。記作r(
d1,d2....dn
)根據域的數量,定義關係的名稱。列如:只有乙個域我們稱為一元關係。兩個域稱為二元關係 ,以此類推。 關係
候選碼:關係中某一屬性組的值能唯一標識的乙個元組。
主碼:從候選碼選定乙個。
主屬性:候選碼的諸屬性。
非主屬性:不包含任何乙個候選碼的屬性。
關係模式:關係的描述。r(
u,d,dom,f).
關係是關係模式在某一時刻的狀態或內容。關係模式是靜態的,穩定的,關係是動態的,隨時間變化的。
關係操作
關係的常用操作包括查詢,插入,刪除,修改操作。
查詢:查詢操作分為選擇,投影,連線,除,並,差,交,笛卡爾積。
選擇:關係r上的選擇是從
r選擇滿足給定條件的諸元組。(從關係表的行進行操作),操作符σ
投影:
關係r上的投影是從
r中選擇若干屬性組成新的關係。(從關係表的列進行操作)。操作符tt
student
學號snum
姓名sname
性別s***
年齡sage
所在系sdept李青男
計算機斐濟戈
男計算機
203215
龘在天男
軟體σsdept=『軟體』(
student
) (從
student
這個關係表裡提取
sdept
為軟體的一整行資訊) 學號
snum
姓名snam
性別s***
年齡sage
所在sdept
203215
龘在 天男軟體
ttsname,
sdept
(student
)(從student
表中投影
sname
與sdept
這兩列的資訊,重複的資訊刪掉只剩乙個,所以下表少了斐濟戈的資訊)
sname
sdept
李青計算機
龘在天軟體
投影取消了重複的計算機組
連線:他是兩個關係的笛卡爾積中選取屬性間滿足一定條件的元組。
等值連線:
兩個關係間屬性值相等的元組。列如r.b1一定連線
s.b1
自然連線:
一種特殊的等值連線,同名屬性比較,除去重複。 除:
象集之間的運算。
關係的完整性:
主屬性不能為空值。
資料庫第16周學習攻略(第十組)
armstrong 公理系統 關係模式 r f 來說有以下的推理規則 a1.自反律 reflexivity 若y x u,則x y 為f所蘊含。a2.增廣律 augmentation 若x y 為f所蘊含,且z u,則xz yz為f所蘊含。a3.傳遞律 transitivity 若x y 及y z ...
第十周學習進度
第十周所花時間 包括上課 分鐘。分鐘,準備第二衝刺階段材料 60分鐘。週三 閱讀課本60 分鐘。周四 上實驗課110 60分鐘。周五 閱讀課本60 分鐘。週六 閱讀課本60 分鐘。週日 編寫進度條部落格60 分鐘。量 行 50行左右 天氣貼士 團隊專案 部落格量 篇 1篇第十周學習進度 了解到的知識...
第十周學習總結
1通過file類開啟乙個檔案 2通過位元組流或字元流的子類指定輸出位置。3經行讀寫操作。4.關閉輸入輸出。一.位元組流 位元組流以操作byte型別資料為主,主要操作類為outputstream類和inputsream類。位元組輸出流outputstream是整個io包中位元組輸出流最大父類,其操作方...