關系模型課后習題_第1頁
關系模型課后習題_第2頁
關系模型課后習題_第3頁
關系模型課后習題_第4頁
關系模型課后習題_第5頁
已閱讀5頁,還剩3頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

.關系模型課后習題2.1名詞解釋 (1)關系模型:用二維表格結構表示實體集,外鍵表示實體間聯系的數據模型稱為關系模型。 (2)關系模式:關系模式實際上就是記錄類型。它的定義包括:模式名,屬性名,值域名以及模式的主鍵。 關系模式不涉及到物理存儲方面的描述,僅僅是對數據特性的描述。 (3)關系實例:元組的集合稱為關系和實例,一個關系即一張二維表格。 (4)屬性:實體的一個特征。在關系模型中,字段稱為屬性。 (5)域:在關系中,每一個屬性都有一個取值范圍,稱為屬性的值域,簡稱域。 (6)元組:在關系中,記錄稱為元組。元組對應表中的一行;表示一個實體。 (7)超鍵:在關系中能唯一標識元組的屬性集稱為關系模式的超鍵。 (8)候選鍵:不含有多余屬性的超鍵稱為候選鍵。 (9)主鍵:用戶選作元組標識的一個候選鍵為主鍵。(單獨出現,要先解釋“候選鍵”) (10)外鍵:某個關系的主鍵相應的屬性在另一關系中出現,此時該主鍵在就是另一關系的外鍵, 如有兩個關系S和SC,其中S#是關系S的主鍵,相應的屬性S#在關系SC中也出現,此時S#就是關系SC的外鍵。 (11)實體完整性規則:這條規則要求關系中元組在組成主鍵的屬性上不能有空值。 如果出現空值,那么主鍵值就起不了唯一標識元組的作用。 (12)參照完整性規則:這條規則要求“不引用不存在的實體”。 其形式定義如下:如果屬性集K是關系模式R1的主鍵,K也是關系模式R2的外鍵,那么R2的關系中, K的取值只允許有兩種可能,或者為空值,或者等于R1關系中某個主鍵值。 這條規則在使用時有三點應注意: 1)外鍵和相應的主鍵可以不同名,只要定義在相同值域上即可。 2)R1和R2也可以是同一個關系模式,表示了屬性之間的聯系。 3)外鍵值是否允許空應視具體問題而定。 (13)過程性語言:在編程時必須給出獲得結果的操作步驟,即“干什么”和“怎么干”。如Pascal和C語言等。 (14)非過程性語言:編程時只須指出需要什么信息,不必給出具體的操作步驟。 各種關系查詢語言均屬于非過程性語言。 (15)無限關系:當一個關系中存在無窮多個元組時,此關系為無限關系。 如元組表達式t|R(t)表示所有不在關系R中的元組的集合,這是一個無限關系。 (16)無窮驗證:在驗證公式時需對無窮多個元組進行驗證就是無窮驗證。 如驗證公式(u)(P(u)的真假時需對所有的元組u進行驗證,這是一個無窮驗證的問題。 2.2 為什么關系中的元組沒有先后順序? 因為關系是一個元組的集合,而元組在集合中的順序無關緊要。因此不考慮元組間的順序,即沒有行序。 2.3為什么關系中不允許有重復元組? 因為關系是一個元組的集合,而集合中的元素不允許重復出現,因此在關系模型中對關系作了限制, 關系中的元組不能重復,可以用鍵來標識唯一的元組。 2.4關系與普通的表格、文件有什么區別? 關系是一種規范化了的二維表格,在關系模型中,對關系作了下列規范性限制: 1)關系中每一個屬性值都是不可分解的。 2)關系中不允許出現相同的元組(沒有重復元組)。 3)由于關系是一個集合,因此不考慮元組間的順序,即沒有行序。 4)元組中,屬性在理論上也是無序的,但在使用時按習慣考慮列的順序。 2.5笛卡爾積、等值聯接、自然聯接三者之間有什么區別? 笛卡爾積對兩個關系R和S進行乘操作,產生的關系中元組個數為兩個關系中元組個數之積。 等值聯接則是在笛卡爾積的結果上再進行選擇操作,從關系R和S的笛卡兒積中選擇對應屬性值相等的元組; 自然連接則是在等值聯接(以所有公共屬性值相等為條件)的基礎上再行投影操作,并去掉重復的公共屬性列。 當兩個關系沒有公共屬性時,自然連接就轉化我笛卡爾積。 2.6設有關系R和S(如下:) 計算:2.7設有關系R和S(如下:) 計算: 2.8 如果R是二元關系,那么下列元組表達式的結果是什么? t|(u)(R(t)R(u)(t1u1t2u2) 這個表達式的意思是:從關系R中選擇元組,該元組滿足:第1分量值或第2分量值至少有一個不等于其他某元組。 由于R是二元關系,只有兩個分量,由于沒有重復元組,上述條件顯然滿足。 所以,這個表達式結果就是關系R。 2.9假設R和S分別是三元和二元關系,試把表達式1,5(2=43=4(RS)轉換成等價的:(1)漢語查詢句子;(2)元組表達式;(3)域表達式。 (1)漢語表達式: 從RS關系中選擇滿足下列條件的元組: 第2分量(R中第2分量)與第4分量(S中第1分量)值相等,或第3分量(R中第3分量)與第4分量(S中第1分量)值相等;并取第1列與第5列組成的新關系。 (2)元組表達式:t|(u)(v)(R(u)S(v)(u2=v1u3=v1)t1=u1t2=v2) (3)域表達式:xv|(y)(z)(u)(R(xyz)S(uv)(y=uz=u) 2.10假設R和S都是二元關系,試把元組表達式t|R(t)(u)(S(u)u1t2)轉換成等價的: (1)漢語查詢句子;(2)域表達式:(3)關系代數表達式。 (1)漢語表達式:選擇R關系中元組第2分量值不等于S關系中某元組第1分量值的元組。 (2)域表達式:xy|(u) (v)(R(xy)S(uv)(uy) (3)關系代數表達式:1,2(23(RS) 2.11 試把域表達式ab|R(ab)R(ba)轉換成等價的: (1)漢語查詢句子;(2)關系代數表達式;(3)元組表達式。 (1)漢語查詢句子:選擇R中元組第1分量值與第2分量值互換后仍存在于R中的元組。 (2)關系代數表達式:1,2(1=42=3(RR); (3)元組表達式:t|(u)(R(t)R(u)t1=u2t2=u1) 2.12 設有兩個關系R(A,B,C)和S(D,E,F),試把下列關系代數表達式轉換成等價的元組表達式: (1)A(R);(2)B=17(R);(3)RS;(4)A,F(C=D(RS) (1)t|(u)(R(u)t1=u1) (2)t|R(t)t2=17) (3)t|(u)(v)(R(u)S(v)t1=u1t2=u2t3=u3t4=v1t5=v2t6=v3) (4)t|(u)(v)(R(u)S(v)u3=v1t1=u1t2=v3) 2.13 設有三個關系: S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER) 試用關系代數表達式表示下列查詢語句。(見下一題) 2.14 試用元組表達式表示上題中各個查詢語句。 (1)檢索LIU老師所授課程的課程號、課程名。 C#,CNAME(TEACHER=LIU(C) t|(u)(C(u)C3=LIUt1=u1t2=u2) (2)檢索年齡大于23歲的男學生的學號與姓名。 S#,SNAME(AGE23SEX=男(S) t|(u)(S(u)u323u4=男t1=u1t2=u2) (3)檢索學號為S3學生所學課程的課程名與任課教師名。 CNAME,TEACHER(S#=S3(SCC) t|(u)(v)(SC(u)C(v)u1=S3v1=u2t1=v2t2=v3) (4)檢索至少選修LIU老師所授課程中一門課程的女學生的姓名。 SNAME(SEX=女TEACHER=LIU(SSCC) t|(u)(v)(w)(S(u)SC(v)C(w)u4=女v1=u1v2=w1w3=LIUt1=u2) (5)檢索WANG同學不學的課程號。 C#(C)-C#(SNAME=WANG(SSC) 或者, C#(SC)-C#(SNAME=WANG(SSC) (全部課程號減去WANG同學所學的課程號) t|(u)(v)(C(u)SC(v)(u1=v2=(w)(s(w)w1=v1W2wang)t1=u1) (從C中選擇滿足條件的元組:SC中的所有元組,如果學號與C中所選元組相同的話,其在S中對應的姓名肯定不是wang。) Notice:p1=p2的含義是:如果p1為真,則p2為真。 (6)檢索至少選修兩門課程的學生學號。 S#(1=425(SCSC) SC自乘之后,再選擇(同一個學號中兩個課程號不同的元組),投影。 t|(u)(v)(SC(u)SC(v)u1=v1u2v2)t1=u1 (7)檢索全部學生都選修的課程的課程號與課程名。 C#,CNAME(C(S#,C#(SC)S#(S) (涉及到全部值時,應用除法,“除數”是全部) t|(u)(v)(w)(S(u)SC(v)C(w)u1=v1v2=w1t1=v1t2=V2) (8)檢索選修課程包含LIU老師所授課程的學生學號。 S#(TEACHER=LIU(SCC) t|(u)(v)(SC(u)C(v)u2=v1v3=LIUt1=u1) 如果LIU老師有多門課程,則選修課程包含LIU老師所授全部課程的學生學號為: S#,C#(SC)C#(TEACHER=LIU(C) 2.15 在教學數據庫S、SC、C中,用戶有一查詢語句:檢索女同學選修課程的課程名和任課教師名。(1)試寫出該查詢的關系代數表達式;(2)試寫出查詢優化的關系代數表達式。 (1)CNAME,TEACHER(SEX=女(SSCC) (2)優化為:CNAME,TEACHER(CC#(S#,C#(SC)S#(SEX=女(S) (基本思路:盡量提前做選擇操作;在每個操作后,應做個投影操作,去掉不用的屬性值。 2.16 在2.15題中, (1)畫出該查詢初始的關系代數表達式的語法樹。 (2)使用2.4.4節的優化算法,對語法樹進行優化,并畫出優化后的語法樹。 該查詢初始的關系代數表達式的語法樹優化后的語法樹 2.17 為什么要對關系代數表達式進行優化? 在關系代數運算中,各個運算所費時間和空間是不一樣的。如何安排若干關系的運算操作步驟, 直接影響到整個操作所需要的時間和空間。對關系代數表達式進行優化, 可以提高系統的操作效率,達到執行過程即省時間又省空間的目的。 二單項選擇題(第一部分)1. 下面的選項不是關系數據庫基本特征的是( )。A.不同的列應有不同的數據類型 B.不同的列應有不同的列名C.與行的次序無關D.與列的次序無關2. 一個關系只有一個( ) 。A.候選碼 B. 外碼 C. 超碼 D. 主碼3. 關系模型中,一個碼是( )。A.可以由多個任意屬性組成B.至多由一個屬性組成 C.可有多個或者一個其值能夠唯一表示該關系模式中任何元組的屬性組成D.以上都不是4. 現有如下關系:患者(患者編號,患者姓名,性別,出生日起,所在單位)醫療(患者編號,患者姓名,醫生編號,醫生姓名,診斷日期,診斷結果)其中,醫療關系中的外碼是()。A. 患者編號 B. 患者姓名 C. 患者編號和患者姓名 D. 醫生編號和患者編號5. 現有一個關系:借閱(書號,書名,庫存數,讀者號,借期,還期),假如同一本書允許一個讀者多次借閱,但不能同時對一種書借多本,則該關系模式的外碼是( )。A. 書號 B. 讀者號 C. 書號+讀者號 D. 書號+讀者號+借期6. 關系模型中實現實體間 N:M 聯系是通過增加一個( )。A.關系實現 B. 屬性實現 C. 關系或一個屬性實現 D. 關系和一個屬性實現7. 關系代數運算是以( )為基礎的運算 。A. 關系運算 B. 謂詞演算 C. 集合運算 D. 代數運算8. 關系數據庫管理系統應能實現的專門關系運算包括( )。A. 排序、索引、統計 B. 選擇、投影、連接 C. 關聯、更新、排序 D. 顯示、打印、制表9. 五種基本關系代數運算是( )。A. B. C. D. 10. 關系代數表達式的優化策略中,首先要做的是( ) 。A.對文件進行預處理B.盡早執行選擇運算C.執行笛卡爾積運算D.投影運算11. 關系數據庫中的投影操作是指從關系中( ) 。A.抽出特定記錄 B. 抽出特定字段 C.建立相應的影像 D. 建立相應的圖形12. 從一個數據庫文件中取出滿足某個條件的所有記錄形成一個新的數據庫文件的操作是( )操作 。A.投影 B. 聯接 C. 選擇 D. 復制13. 關系代數中的聯接操作是由( )操作組合而成 。A.選擇和投影 B. 選擇和笛卡爾積C.投影、選擇、笛卡爾積 D. 投影和笛卡爾積14. 自然聯接是構成新關系的有效方法。一般情況下,當對關系R和S是用自然聯接時,要求R和S含有一個或者多個共有的( ) 。A.記錄 B. 行 C. 屬性 D. 元組15. 假設有關系R和S,在下列的關系運算中,( )運算不要求:“R和S具有相同的元數,且它們的對應屬性的數據類型也相同” 。A.RS B. RS C. RS D. RS16. 假設有關系R和S,關系代數表達式R(RS)表示的是( )。A.RS B. RS C. RS D. RS17. 下面列出的關系代數表達是中,那些式子能夠成立( ) 。. f1 ( f2 (E) = f1f2 (E) . E1E2 = E2E1 . (E1E2)E3 = E1 (E2E3). f1 ( f2 (E) =f2 ( f1(E)A.全部 B. 和 C. 沒有 D. 和18. 下面四個關系表達式是等價的,是判別它們的執行效率( ) 。E1 =A ( B=C D=E (RS) )E2 =A ( B=C (R D=E (S) )E3 =A (RB=CD=E(S) )E3 =A (D=E (RB=C S) )A. E3最快 B. E2最快 C. E4最快 D. E1最快19. 有關系SC(S_ID,C_ID,AGE,SCORE),查找年齡大于22歲的學生的學號和分數,正確的關系代數表達式是( ) 。. S_ID,SCORE ( age22 (SC) ) . age22 (S_ID,SCORE (SC) ) . S_ID,SCORE ( age22 (S_ID,SCORE,AGE (SC) ) )A.和 B. 只有正確 C. 只有 正確 D. 和正確選擇題答案: (1) A (2) D (3) C (4) A (5) D (6) A (7) C (8) B (9) A (10) B(11) B (12) C (13) B (14) C (15) D(16) A (17) C (18) A (19) D 三 簡答題1. 試述關系模型的三個組成部分。2. 試述關系數據語言的特點和分類。3.設有一個SPJ數據庫,包括S,P,J,SPJ四個關系模式: S( SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY);供應商表S由供應商代碼(SNO)、供應商姓名(SNAME)、供應商狀態(STATUS)、供應商所在城市(CITY)組成;零件表P由零件代碼(PNO)、零件名(PNAME)、顏色(COLOR)、重量(WEIGHT)組成;工程項目表J由工程項目代碼(JNO)、工程項目名(JNAME)、工程項目所在城市(CITY)組成;供應情況表SPJ由供應商代碼(SNO)、零件代碼(PNO)、工程項目代碼(JNO)、供應數量(QTY)組成,表示某供應商供應某種零件給某工程項目的數量為QTY。試用關系代數完成如下查詢:(1) 求供應工程J1零件的供應商號碼SNO;(2) 求供應工程J1零件P1的供應商號碼SNO;(3) 求供應工程J1零件為紅色的供應商號碼SNO;(4) 求沒有使用天津供應商生產的紅色零件的工程號JNO;(5) 求至少用了供應商S1所供應的全部零件的工程號JNO。4. 定義并理解下列術語,說明它們之間的聯系與區別: (1)域,笛卡爾積,關系,元組,屬性 (2)主碼,候選碼,外碼 (3)關系模式,關系,關系數據庫5. 試述關系模型的完整性規則。在參照完整性中,為什么外碼屬性的值有時也可以為空?什么情況下才可以為空?6. 試述等值連接與自然連接的區別和聯系。7. 關系代數的基本運算有哪些?8. 試用關系代數的基本運算來表示其他運算。四 填空題及問答題1 .關系模型的三個組成部分是_,_,_。2 .關系數據模型中,二維表的列稱為_,二維表的行稱為_。3 . 試述關系數據語言的特點和分類。 (填空題)4 .用戶選作元組標識的一個候選碼為_,其屬性不能取_。5 .定義并理解下列術語,說明它們之間的聯系與區別: (1) 域,笛卡爾積,關系,元組,屬性(2)主碼,候選碼,外部碼 (3)關系模式,關系,關系數據庫 6 .關系代數運算中,傳統的集合運算有_,_,_,_。 7 .試述關系模型的完整性規則。在參照完整性中,為什么外部碼屬性的值也可以為空?什么情況下才可以為空? 8 .關系代數運算中,基本的運算是_,_,_,_,_。 9 . 等值連接與自然連接的區別是什么? 10 .關系代數運算中,專門的關系運算有_,_,_。 11 . 代數的基本運算有哪些?如何用這些基本運算來表示其他的關系基本運算? 12 .關系數據庫中基于數學上的兩類運算是_和_。 13 .關系代數中,從兩個關系中找出相同元組的運算稱為_運算。 14 .RS表示R與S的_。 15 .設有學生關系:S(XH,XM,XB,NL,DP)。在這個關系中,XH表示學號,XM表示姓名,XB表示性別,NL表示年齡,DP表示系部。查詢學生姓名和所在系的投影操作的關系運算式是_。 (問答題) 16 .在“學生-選課-課程”數據庫中的3個關系如下:S(S#,SNAME,SEX,AGE);SC(S#,C#,GRADE); C(C#,CNAME,TEACHER),查找選修“數據庫技術”這門課程學生的學生名和成績,若用關系代數表達式來表示為_。 (問答題) 17 .已知系(系編號,系名稱,系主任,電話,地點)和學生(學號,姓名,性別,入學日期,專業,系編號)兩個關系,系關系的主碼是_,系關系的外碼是_,學生關系的主碼是_,學生關系的外碼是_。 (問答題)五、綜合題1對下列關系模式分別用關系代數、元組關系演算和SQL實現下列查詢: 查詢學生95001的所有信息select *from Studentwhere Sno=95001查詢學生95001的姓名和所在系select Sname,Sdeptfrom Studentwhere Sno=95001查詢選修了1號課的學生的學號select Snofrom SCwhere Cno=1查詢選修了1號課的學生的姓名select Snamefrom Student,SCwhere Student.Sno=SC.Sno and Cno=1查詢至少選修了1號課和3號課的學生的學號select

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論