2.關系模式:關系模式實際上就是記錄類型。它包括:模式名,屬性名,值域名以及模式的主鍵。關系模式僅是對數據特性的描述。
3.關系實例:就是一個關系,即一張二維表格。
4.屬性:在關系模型中,字段稱為屬性。
5.域:在關系中,每一個屬性都有一個取值范圍,稱為屬性的值域。
6.元組:在關系中,記錄稱為元組。
7.候選碼:在關系中能唯一標識元組的屬性集稱為關系模式的候選碼。
8.主碼:用戶選作元組標識的一個候選碼為主碼。
9.外碼:某個關系的主碼相應的屬性在另一關系中出現,此時該主碼在就是另一關系的外碼,如有兩個關系S和SC,其中S#是關系S的主碼,相應的屬性S#在關系SC中也出現,此時S#就是關系SC的外碼。
10.實體完整性規則:這條規則要求關系中元組在組成主碼的屬性上不能有空值。如果出現空值,那么主碼值就起不了唯一標識元組的作用。
11.參照完整性規則:這條規則要求“不引用不存在的實體”。其形式定義如下:如果屬性集K是關系模式R1的主碼,K也是關系模式R2的外碼,那么R2的關系中,K的取值只允許有兩種可能,或者為空值,或者等于R1關系中某個主碼值。
這條規則在使用時有三點應注意:
1)外碼和相應的主碼可以不同名,只要定義在相同值域上即可。
2)R1和R2也可以是同一個關系模式,表示了屬性之間的聯系。
3)外碼值是否允許空應視具體問題而定。
12.過程性語言:在編程時必須給出獲得結果的操作步驟,即“干什么”和“怎么干”。如Pascal和C語言等。
13.非過程性語言:編程時只須指出需要什么信息,不必組出具體的操作步驟的語言,各種關系查詢語言均屬于非過程性語言。
二、問答題
1. 為什么關系中的元組沒有先后順序?
2. 為什么關系中不允許有重復元組?
3.關系與普通的表格、文件有什么區別?
4.笛卡爾積、等值聯接、自然聯接三者之間有什么區別?
1.答:因為關系是一個集合,因此不考慮元組間的順序,即沒有行序。
2.答:如果關系中有重復元組,那么就無法用鍵來標識唯一的元組。因此在關系模型中對關系作了限制。
3.答:總而言之,關系是一種規范化了的二維表格,在關系模型中,對關系作了下列規范性限制:
1)關系中每一個屬性值都是不可分解的。
2)關系中不允許出現相同的元組(沒有重復元組)。
3)由于關系是一個集合,因此不考慮元組間的順序,即沒有行序。
4)元組中,屬性在理論上也是無序的,但在使用時按習慣考慮列的順序。
4.答:笛卡爾積對兩個關系R和S進行操作,產生的關系中元組個數為兩個關系中元組個數之積。等值聯接則是在笛卡爾積的結果上再進行選擇操作,挑選關系第i個分量與第(r+j)個分量值相等的元組;自然連接則是在等值聯接(以公共屬性值相等為條件)的基礎上再行投影操作,去掉S中的公共屬性列,當兩個關系沒有公共屬性時,自然連接就轉化成笛卡爾積。
新聞熱點
疑難解答