模式分解例題【精選文檔】_第1頁
模式分解例題【精選文檔】_第2頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、模式分解例題【精選文檔】模式分解例題設有關系模式R(U, F), 其中 U=A,B,C,D,E ,F = AB ®C,B ®D,D ®E,C ®B ,試問R最高為第幾范式,并解釋原因?如果R不是 3NF 或 BCNF,要求將其分解為 3NF 和BCNF關系R中的函數依賴如下圖表示ABCDER : A,B ®C;B ®D;D ®E;C ®B 第一范式規定關系的每一個分量必須是一個不可分的數據項。可以看出,該關系滿足第一范式.如果關系模式R滿足第一范式,且它的任何一個非主屬性都完全函數依賴于任一個候選碼,則R滿足第二范

2、式(簡記為2NF)。所以不是第二范式分解成第二范式R1 :A,B ®C;C ®BR2:B ®D;D ®E;如果關系模式R滿足 2NF,并且它的任何一個非主屬性都不傳遞依賴于任何候選碼,則稱R是第三范式 (3NF), 記作RÎ3NF。分解成第三范式R1 :A,B ®C;C ®BR21:B ®DR22:D ®E 如果關系模式R是1NF,且每個屬性都不傳遞依賴于R的候選碼,那么稱R是BCNF的模式.R1 :A,B ®C;C ®BR21:B ®DR22:D ®ER1中屬性B

3、傳遞依賴于R的候選碼AB,故R1不是BCNF范式關系模式RÎ1NF,若X®Y,且YÍX 時,X必含有候選碼,則RÎBCNF。R1中C® B,且BÍC ,但B不含有任何候選碼,故R1不是BCNF范式分解成BCNF范式R11 :A,B R12 :C ®BR21:B ®DR22:D ®E候選碼是什么?能夠唯一標識一個元組的某一屬性或屬性組.候選碼:(A,B)和(A,C)假設有一個名為參加的關系,該關系有屬性:職工(職工名)、工程(工程名)、時數(花費在工程上的小時數)和工資(職工的工資);一個參加記錄描述一個職

4、工花費在一個工程上的總時數和他的工資;另外,一個職工可以參加多個工程,多個職工可以參加同一個工程(用A、B、C、D分別代表屬性職工、工程、時數和工資)。請回答如下各問題:1)    確定這個關系的關鍵字;AB2)    找出這個關系中的所有函數依賴;AB-C , A->D3)    指出這個關系上的哪些函數依賴會帶來操作異常現象;D對關鍵字AB的部分函數依賴可能會帶來如下問題:數據冗余:一個職工參加多個工程,則職工的工資值會重復;更新異常:當改變職工的工資時,可能會只修改了一部分,從而造成數據不一致

5、;插入異常:當一個職工尚未承擔工程,但要插入職工信息(如工資)則不允許(因為沒有完整的關鍵字);刪除異常:當某個工程結束,刪除工程信息時,可能會將職工信息(如工資)一同刪除(如果職工只參加了一項工程)。4)    這個關系是第幾范式關系?2NF5)    計算該關系上函數依賴集的最小覆蓋;Fm=ABC, A-D6)    將該關系分解成盡可能高的范式,并指明是第幾范式?分解為R1(A,B,C)和R2(A,D)結果為4NF對于學生選課關系,其關系模式為: 學生(學號,姓名,年齡,所在系); 課程(課程名,課

6、程號,先行課); 選課(學號,課程號 成績)。 用關系代數完成如下查詢。 1)求學過數據庫課程的學生的姓名和學號。 2)求學過數據庫和數據結構的學生姓名和學號。 3)求沒學過數據庫課程的學生學號. 4)求學過數據庫的先行課的學生學號。程序設計題    現有關系數據庫如下:    學生(學號,姓名,性別,專業、獎學金)    課程(課程號,名稱,學分)    學習(學號,課程號,分數)用關系代數表達式實現下列14小題;用SQL語言實現下列

7、58小題。1.檢索“國際貿易”專業中獲得獎學金的學生信息,包括學號、姓名、課程名和分數;2.檢索學生成績得過滿分(100分)的課程的課程號、名稱和學分;3.檢索沒有獲得獎學金、同時至少有一門課程成績在95分以上的學生信息,包括學號、姓名和專業;4。檢索沒有任何一門課程成績在80分以下的學生的信息,包括學號、姓名和專業;5.檢索沒有獲得獎學金、同時至少有一門課程成績在95分以上的學生信息,包括學號、姓名和專業;6.檢索沒有任何一門課程成績在80分以下的所有學生的信息,包括學號、姓名和專業;7.對成績得過滿分(100分)的學生,如果沒有獲得獎學金的,將其獎學金設為1000元;8.定義學生成績得過滿

8、分(100分)的課程視圖AAA,包括課程號、名稱和學分; 1.學號,姓名,課程名,分數(獎學金0專業=國際貿易(學生學習課程))2.課程號,名稱,學分(分數=100(學習課程))3。學號,姓名,專業(獎學金=0分數>95(學生學習)4。學號,姓名,專業(學生)學號,姓名,專業(分數80(學生學習)5.SELECT 學生.學號,姓名,專業      FROM 學生,學習      WHERE 學生.學號=學習.學號 AND 學習.課程號=課程.課程號 AND 獎學金<

9、;=0 AND 分數>956。SELECT 學號,姓名,專業      FROM 學生      WHERE 學號 NOT IN      (SELECT 學號      FROM 學習      WHERE 分數80)7.UPDATE 學生    &#

10、160; SET 獎學金=1000      WHERE 獎學金=0 AND 學號 IN      (SELECT 學號      FROM 學習      WHERE 分數=100)8。CREATE VIEW AAA(課程號,名稱,學分)      AS SELECT 課程號,名稱,學分

11、      FORM 課程      WHERE 課程號 IN      (SELECT 課程號      FROM 學習      WHERE 分數=100)設關系模式R<A,B,C,D,E,F>,函數依賴集FABE,ACF,ADB,BC,CD。 1)證明AB、AC、AD均是候選關鍵宇

12、。 2)證明主屬性C部分依賴于關鍵字AB,傳遞依賴于AD。同時證明主屬性D部分依賴于關鍵字AC,傳遞依賴于關鍵字AB。1)= ABECDF ABCDEF AB為碼= ABECDF ABCDEF AC為碼= ABECDF ABCDEF AD為碼2) BC ABC ADB,BC ADC CD ACC BC,CD ABC圖中顯示一張交通違章處罰通知書,根據這張通知書所提供的信息,設計一個ER模型,并將這個ER模型轉換成關系數據模型,要求標注主碼和外碼。司機(駕照號,姓名,地址,郵編,電話)PK=駕照號機動車(牌照號,型號,制造廠,生產日期)PK=牌照號警察(警察編號,姓名)PK=警察編號處罰通知(編

13、號,日期,時間,地點,駕照號,牌照號,警告,罰款,暫扣,警察編號)PK=編號FK=駕照號,牌照號,警察編號司機(駕照號,姓名,地址,郵編,電話)PK=駕照號機動車(牌照號,型號,制造廠,生產日期)PK=牌照號警察(警察編號,姓名)PK=警察編號通知書(編號,日期,時間,地點,駕照號,牌照號,警察編號)PK=編號FK=駕照號,牌照號,警察編號處罰(編號,處罰方式)PK=編號,處罰方式 設有一家百貨商店,已知信息有:l)每個職工的數據是職工號、姓名、地址和他所在的商品部.2)每一商品部的數據有:它的職工,經理和它經銷的商品.3)每種經銷的商品數有:商品名、生產廠家、價格、型號(廠家定的)和內部商品代號(商店規定的)。4)關于每個生產廠家的數據有:廠名、地址、向商店提供的商品價格。請設計該百貨商店的概念模型,再將概念模型轉換為關系模型。注意某些

溫馨提示

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

評論

0/150

提交評論