定義並理解下列術語,說明它們之間的聯系與區別:
(1)域,笛卡爾積,關系,元組,屬性;
·域:域是一組具有相同數據類型的值的集合。對於關系的每個屬性,都有一組允許的值,稱為屬性的域。因此,講師的薪資屬性域關系是所有可能的薪資值的集合,而名稱的域屬性是所有可能的講師名稱的集合。
·笛卡爾積:笛卡爾積運算結合了兩個關系中的元組,其結果包含兩個關系中的所有元組對,不管它們的屬性值是否匹配。
·關系:關系實際上是一張二維表,表的每一行是一個元素,每一列是一項屬性,而一個元組就是該關系所涉及的屬性集的笛卡爾積的一個元素.
·元組:表中的每一行都是一個元組,代表一個實例的所有屬性的集合。
·屬性:數據庫屬性即是數據庫字段,指數據庫中表的列。
(2)主碼,候選碼,外碼;
·主碼: 從候選碼中選定一個作為主碼,又叫主鍵
·候選碼: 能唯一決定元組的屬性或屬性組
·外碼:關系A中有c1,c2兩個屬性不是候選碼,且對應於另外一個關系B中的主鍵c11,c22.則稱c1.c2是關系a,b的外鍵。
(3)關系模式,關系,關系數據庫。
·關系模式:對關系的描述稱為關系模式
·關系:若干元組的集合,說白了就是指數據庫表
·關系數據庫:關系數據庫是按照關系模型建立的數據庫。由此可見,沒有關系模型,便沒有關系數據庫和關系系統。
關系實際上就是關系模式在某一時刻的狀態或內容。也就是說,關系模式是型,關系是它的值。關系模式是靜態的、穩定的,而關系是動態的、隨時間不斷變化的,因為關系操作在不斷地更新着數據庫中的數據。但在實際當中,常常把關系模式和關系統稱為關系,讀者可以從上下文中加以區別。關系模型是1970年由E.F.Codd提出的,,是關系模式設計的理論。能夠在一定程度上支持關系模型的數據庫管理系統是關系系統,它支持關系數據庫。
關系模型的完整性規則
1、實體完整性
實體完整性要求每個表都有唯一標識符,每一個表中的主鍵字段不能為空或者重復的值。
2、參照完整性
參照完整性要求關系中不允許引用不存在的實體。設定相應的更新刪除插入規則來更新參考表。
3、用戶自定義完整性
用戶自定義完整性是針對某一具體關系數據庫的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。
也就是說:某個表你設置這一列為null,not null,default,check等。包括:非空約束、唯一約束、檢查約束、主鍵約束 、外鍵約束。
在參照完整性中,什么情況下外碼屬性的值可以為空值?
實體完整性規則是指若屬性A是基本關系R的主屬性 ,則屬性A不能取空值。若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對於R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值);或者等於S中某個元組的主碼值。即屬性F本身不是主屬性,則可以取空值,否則不能取空值。
關系代數的基本運算有哪些?如何用這些基本運算來表示其他運算?
關系代數的基本運算有五種,分別為並、差、笛卡爾積、投影和選擇。
其他3種運算,即交、連接和除,均可以用這5種基本運算來表達。
- 交運算R∩S=R-(R-S) 或 R∩S=S-(S-R)
- 連接運算R∞S = AθB(R×S) = A=B(R×S) R∞S=∏ ( R.B=S.B(R×S))
- 除運算 R÷S =∏X(R)-∏X(∏X(R)×∏Y(S)-R)