数据库作业3:第二章课后题(关系数据库及相关概念)
一、定義并理解下列術語,說明它們之間的聯(lián)系和區(qū)別
1.域,笛卡爾積,關系,元組,屬性
2.候選碼,主碼,外部碼
3.關系模式,關系,關系數據庫
1.(1)域:一種具有相同數據類型的值的集合。
(2)笛卡爾積:給定一組域D1,D2,…,Dn,這些域可以是相同的D域。這組域的笛卡爾積為
1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
(3)關系:在域D1,D2,…,Dn上笛卡爾積D1×D2×…×Dn的子集稱為關系,表示為R(D1,D2,…,Dn)
(4)元組:關系中的每個元素是關系中的元組。笛卡爾集中的每個一個元素(dl,d2,…, dn)稱為一個n元組或簡稱為元組(Tuple),元素中的每一個值di叫做一個分量(Component)。
(5)屬性:關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域。由于域可以相同,為了加以區(qū)分,必須對每列起一個名字,稱為屬性(Attribute)。
2.(1)候選碼:若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼(Candidatekey)。
(2)主碼:若一個關系有多個候選碼,則選定其中一個為主碼(Primarykey)。
(3)外部碼:設F是基本關系R的一個或一組屬性,但不是關系R的碼,如果F與基本關系S的主碼K相對應,則稱F是基本關系R的外部碼(Foreignkey),簡稱外碼。基本關系尺稱為參照關系(Referencingrelation),基本關系S稱為被參照關系(Referencedrelation)或目標關系(Tatgetrelation)。關系R和S可以是相同的關系。
3.(1)關系模式:關系的描述稱為關系模式(RelationSchema)。它可以形式化地表示為R(U,D,DOM,F)其中R為關系名,U為組成該關系的屬性名集合,D為屬性組U中屬性所來自的域,DOM為屬性向域的映像集合,F為屬性間數據的依賴關系集合。
(2)關系:在域D1,D2,…,Dn上笛卡爾積D1×D2×…×Dn的子集稱為關系,表示為R(D1,D2,…,Dn)關系是關系模式在某一時刻的狀態(tài)或內容。關系模式是靜態(tài)的、穩(wěn)定的;而關系是動態(tài)的、隨時間不斷變化的,因為關系操作在不斷更新著數據庫中的數據。
(3)關系數據庫:關系數據庫也有型和值之分。關系數據庫的型也稱為關系數據庫模式,是對關系數據庫的描述,它包括若干域的定義以及在這些域上定義的若干關系模式。關系數據庫的值是這些關系模式在某一時刻對應的關系的集合,通常就稱為關系數據庫。
二、試述關系模型的完整性規(guī)則。在參照完整性中,什么情況下外碼屬性的值可以為空值?
答:
-
關系模型的完整性規(guī)則是對關系的某種約束條件。關系模型中可以有三類完整性約束:實體完整性、參照完整性和用戶定義的完整性。其中實體完整性和參照完整性是關系模型必須滿足的完整性約束條件,被稱作是關系的兩個不變性,應該由關系系統(tǒng)自動支持。
(1)實體完整性規(guī)則:若屬性A是基本關系R的主屬性,則屬性A不能取空值。.
(2)參照完整性規(guī)則:若屬性(或屬性組) F是基本關系R的外碼,它與基本關系S
的主碼Ks相對應(基本關系R和S不一定是不同的關系),則對于R中每個元組在F.上的值
必須為下面二者之一:
●或者取空值(F的每個屬性值均為空值);
●或者等于S中某個元組的主碼值。
(3)用戶定義的完整性:針對某一具體關系數據庫的約束條件。它反映某一具體應用所涉及的數據必須滿足的語義要求。 -
項目在參照完整性中,外部碼屬性的值可以為空,它表示該屬性的值尚未確定。但前提條件是該外部碼屬性不是其所在關系的主屬性。
例如,在下面的“學生”表中,“專業(yè)號”是一個外部碼,不是學生表的主屬性,可以為空。其語義是,該學生的專業(yè)尚未確定。
學生(學號,姓名,性別,專業(yè)號,年齡)
專業(yè)(專業(yè)號,專業(yè)名)
而在下面的“選修”表中的“課程號”雖然也是一個外部碼屬性,但它又是“選修”表的主屬性,所以不能為空。因為關系模型必須滿足實體完整性。
課程(課程號,課程名,學分)
選修(學號,課程號,成績)
三、設有一個SPJ數據庫,包括S、P、J及SPJ4個關系模式:
S(SNO,SBAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY).
供應商表S由供應商代碼(SNO),供應商姓名(SNAME),供應商狀態(tài)(STATUS),供應商所在城市組成(CITY)。
零件表P由零件代碼(PNO),零件名(PNAME),顏色(COLOR),重量(WEIGHT)組成。
工程項目表(JNO),工程項目名(JNAME),工程項目所在城市(CITY)組成。
供應情況表SPJ由供應商代碼(SNO),供應商姓名(SNAME),供應商狀態(tài)(STATUS),供應數量(QTY),表示某供應商供應某種零件給某工程項目的數量為QTY。
今有若干數
1)求供應工程J1零件的供應商號碼SNO:
πSno(σSno=‘J1’(SPJ))
2)求供應工程J1零件P1的供應商號碼SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供應工程J1零件為紅色的供應商號碼SNO:
πSno(σPno=‘P1‘(σCOLOR=’紅‘ (P)∞SPJ))
4)求沒有使用天津供應商生產的紅色零件的工程號JNO:
πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘紅‘ (S∞SPJ∞P)
5)求至少用了供應商S1所供應的全部零件的工程號JNO:
πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))
四、關系代數的基本運算有哪些?如何用這些基本運算來表示其他運算?
答:并、差、笛卡爾積、 投影和選擇5種運算為基本的運算,其他3種運算,即交、連接和除,均可以用這5種基本運算來 表達。
交: R∩S=R-(R-S) 或 R∩S=S-(S-R)
連接: = AθB(R×S) = A=B(R×S) R∞S=∏ ( R.B=S.B(R×S))
除: R÷S =∏X?-∏X(∏X?×∏Y(S)-R)
總結
以上是生活随笔為你收集整理的数据库作业3:第二章课后题(关系数据库及相关概念)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 流程型与离散型制造的区别【老外的分析】
- 下一篇: 安装docker guacamole