![課后作業(yè)答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/cd0bd4ec-7f02-470f-b899-7940f2d83b0c/cd0bd4ec-7f02-470f-b899-7940f2d83b0c1.gif)
![課后作業(yè)答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/cd0bd4ec-7f02-470f-b899-7940f2d83b0c/cd0bd4ec-7f02-470f-b899-7940f2d83b0c2.gif)
![課后作業(yè)答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/cd0bd4ec-7f02-470f-b899-7940f2d83b0c/cd0bd4ec-7f02-470f-b899-7940f2d83b0c3.gif)
![課后作業(yè)答案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/cd0bd4ec-7f02-470f-b899-7940f2d83b0c/cd0bd4ec-7f02-470f-b899-7940f2d83b0c4.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.產品數據庫Product(maker, model, type)PC(model, speed, ram, hd, price)Laptop(model, speed, ram, hd, screen, price)Printer(model, color, type, price)關系 Product 給出了各種產品的制造廠商、型號和產品類型(PC、筆記本電腦或者打印機) 。為了簡單起見,假設所有產品的型號都唯一,而不管它是由哪個制造商生產的。關系PC 對于不同型號給出了如下屬性:速度(處理器的速度,單位是GHz )、 RAM 的大?。▎挝皇荕B )、硬盤的容量(單位是GB)以及價格。關系
2、 Laptop 與關系 PC 類似,它在PC 的基礎上增加了屬性 screen,即顯示器的尺寸(以英寸為單位)。關系 Printer 對于每種型號有如下屬性:是否彩色(如果是的話,這個值是true)、處理類型(激光的還是噴墨的)以及價格。關系 Product 的數據MakermodeltypeA1001pcA1002pcA1003pcA2004laptopA2005laptopA2006laptopB1004pcB1005pcB1006pcB2007laptopC1007pcD1008pcD1009pcD1010pcD3004printerD3005printerE1011pcE1012pcE
3、1013pcE2001laptopE2002laptopE2003laptopE3001printerE3002printerE3003printerF2008laptopF2009laptopG2010laptopH3006printerH3007printer.關系 PC 的數據modelspeedramhdprice10012.661024250211410022.1051225099510031.425128047810042.810053.2051225063010063.2910072.210082.210092.010102.810111.86204816095910122.81
4、0133.0651280529關系 Laptop 的數據modelspeedramhdscreenprice20012.1367320021.7310248017.094920031.805126015.454920042.005126013.3115020052.16102412017.0250020062.0020488015.4170020071.83102412013.3142920081.60102410015.490020091.605128014.168020102.42300關系 Printer 的數據modelcolortypeprice3001trueink-jet9930
5、02falselaser2393003truelaser8993004trueink-jet1203005falselaser1203006trueink-jet1003007truelaser200二戰(zhàn)中的大型艦船數據庫Classes(class, type, country, numGuns, bore, displacement)Ships(name, class, launched)Battles(name, date).Outcomes(ship, battle, result)相同設計的艦船組成一個 “類”,類別的名稱通常就是這個類的第一艘船的名字。關系 Classes記錄了“類”
6、的名字、型號(bb 代表主力艦, bc 代表巡洋艦)、生產國家、火炮的門數、火炮的尺寸(口徑,單位是英寸)和排水量(重量,單位是噸)。關系 Ships 記錄了艦船的名字、艦船類屬名字、開始服役的日期。關系Battles 給出了這些艦船參加的戰(zhàn)役的時間。關系 Outcomes 給出了各個艦船在各場戰(zhàn)役中的結果(是沉沒,還是受傷,或者完好)關系 Classes 的數據classtypecountrynumGunsboredisplacementBismarckbbGermany81542000IowabbUSA91646000KongobcJapan81432000North Carolinabb
7、USA91637000RenownbcGt. Britain61532000RevengebbGt. Britain81529000TennesseebbUSA121432000YamatobbJapan91865000關系 Ships 的數據nameclasslaunchedCaliforniaTennessee1921HarunaKongo1915HieiKongo1914IowaIowa1943KirishimaKongo1915KongoKongo1913MissouriIowa1944MusashiYamato1942New JerseyIowa1943North CarolinaN
8、orth Carolina1941RamilliesRevenge1917RenownRenown1916RepulseRenown1916ResolutionRevenge1916RevengeRevenge1916Royal OakRevenge1916Royal SovereignRevenge1916TennesseeTennessee1920WashingtonNorth Carolina1941WisconsinIowa1944YamatoYamato1941.關系 Battles 的數據namedateDenmark Strait5/24-27/41Guadalcanal11/1
9、5/42North Cape12/26/43Surigao Strait10/25/44關系 Outcomes 的數據shipbattleresultArizonaPearl HarborsunkBismarckDenmark StraitsunkCaliforniaSurigao StraitokDuke of YorkNorth CapeokFusoSurigao StraitsunkHoodDenmark StraitsunkKing George VDenmark StraitokKirishimaGuadalcanalsunkPrince of WalesDenmark Strait
10、damagedRodneyDenmark StraitokScharnhorstNorth CapesunkSouth DakotaGuadalcanaldamagedTennesseeSurigao StraitokWashingtonGuadalcanalokWest VirginiaSurigao StraitokYamashiroSurigao Straitsunk需要注意的是:這個數據庫中存在著“懸浮元組”,比如,在關系Outcomes 中出現的船只可能在關系 Ships 中查不到。作業(yè)一:習題 1.11 對于產品數據庫中的4 個關系,寫出它們的關系模式定義語句。CREATE TAB
11、LE Product (maker char(3),model char(4) primary key,type char(10);CREATE TABLE PC (model char(4) primary key,speed decimal(3,2),ram int,hd int,price int);.CREATE TABLE Laptop (model char(4) primary key,speed decimal(3,2),ram int,hd int,screen decimal(3,1),price int);CREATE TABLE Printer (model char(
12、4) primary key,color char(5),type char(10),price int);2 修改關系 Printer ,刪掉屬性color 。ALTER TABLE Printer DROP COLUMN color;3 修改關系 Laptop,增加屬性 od(光驅類型,比如 CD 、DVD )。如果某個筆記本電腦沒有光驅,則該屬性的默認值為 none。ALTER TABLE Laptop ADD od char(10) DEFAULTnone;習題 1.2 選做 1 對于二戰(zhàn)中的大型艦船數據庫中的4 個關系,寫出它們的關系模式定義語句。CREATE TABLE Class
13、es (class char(20) primary key,type char(2),country char (20),numGuns smallint,bore smallint,displacement int);CREATE TABLE Ships (name char(20) primary key,class char(20),launched int);CREATE TABLE Battles (name char(20) primary key,date datetime);CREATE TABLE Outcomes (ship char(20),battle char(20
14、),result char(7),.primary key (ship, battle);2 修改關系 Classes,刪掉屬性bore。ALTER TABLE Classes DROP COLUMN bore;3 修改關系Ships,增加屬性yard,它給出了該船的船塢。ALTER TABLE Ships ADD yard char(30);作業(yè)二:(寫關系代數表達式)習題 2.1 對于產品數據庫,試寫出下列查詢的關系代數表達式。1 哪種 PC 型號具有最少3.00 的速度?model (speed>=3.00 (PC)2 哪個生產廠商的筆記本電腦的硬盤容量至少100GB ?maker
15、 (Product( hd>=100 (Laptop)3 查詢廠商 B 生產的所有產品的型號和價格。model, price (maker= B(Product)PC)model, price ( maker= B(Product)Laptop)model, price(maker=(Product)Printer)B4 查詢所有彩色激光打印機的型號。model(Printer)color= true type= laser 5 查詢那些只生產筆記本電腦,不生產PC 的廠商。maker (type= laptop (Product) -maker ( type= pc (Product)
16、習題 2.2 (關系代數計算)已知關系R(A,B):(0,1), (2,3), (0,1), (2,4), (3,4)S(B,C):(0,1), (2,4), (2,5), (3,4), (0,2), (3,4)計算下面的表達式:1.B+1, C-1 (S)2.B,A (R)3. (R)4.B,AVG(C) (S)5.A,AVG(C) (R S) ( 注:此處代表自然連接 )6. R 與 S 的自然左外連接7. R 與 S 的自然右外連接答: 1. (1,0), (3,3), (3,4), (4,3), (1,1), (4,3)2. (0,1), (0,1), (2,3), (2,4), (3
17、,4)3. (0,1), (2,3), (2,4), (3,4)4. (0,1.5), (2,4.5), (3,4)5. (2, 4)6. (2,3,4), (2,3,4), (0,1,NULL), (0,1,NULL),(2,4,NULL),(3,4,NULL)7. (2,3,4), (2,3,4), (NULL,0,1), (NULL,2,4), (NUL,2,5), (NULL,0,2).習題 2.3 選做 對于二戰(zhàn)中的大型艦船數據庫,試寫出下列查詢的關系代數表達式。1. 查詢那些火炮口徑大于 16 英寸的艦船類屬和生產國。class,country( bore>16 (Class
18、es)2. 查詢在丹麥海峽( Denmark Strait )戰(zhàn)役中沉沒的艦船。ship (battle= Denmark Straitresult= sunk (Outcomes)3.1921 年簽署的華盛頓條約禁止制造超過35000 噸的大型軍艦, 請列出那些違背華盛頓條約的軍艦。name (displacement>35000(Classes)launched>1921(Ships)4. 列出參加了瓜達康納爾島 ( Guadalcanal)海戰(zhàn)的戰(zhàn)艦的名稱、 排水量及火炮的數目。name,displacement,numGuns( battle= Guadalcanal (O
19、utcomes)Outcomes.ship=(Ships)Classes)5. 列出那些既有主力艦又有巡洋艦的國家。country (type= bb (Classes)country (type= bc (Classes)作業(yè)三:(寫 SQL 語句)習題 3.1 對于產品數據庫,用SQL 寫出下面的查詢:以下 4 小題要求使用連接查詢1 查詢硬盤容量至少30G 的筆記本電腦制造商及該電腦的速度。SELECT maker,speedFROM Product, LaptopWHERE Product.model=Laptop.model and hd>=30;2 查詢制
20、造商B 生產的任意類型的所有產品的型號和價格。(SELECT Product.model, priceFROM Product, PCWHERE Product.model = PC.model AND maker = 'B')UNION(SELECT Product.model, priceFROM Product, LaptopWHERE Product.model = Laptop.model AND maker = 'B')UNION(SELECT Product.model, priceFROM Product, PrinterWHERE Produc
21、t.model = Printer.model AND maker = 'B');3 查詢出現在兩種或兩種以上PC 中的硬盤大小。SELECT DISTINCT X.hdFROM PC X, PC YWHERE X.hd=Y.hd and X.model<Y .model;.4 查詢每對具有相同速度和RAM 的 PC 的型號。 每一對只能列出一次;例如,若 (i, j) 已被列出,則 (j, i) 就不能再被列出。SELECT X.model,Y.modelFROM PC X, PC YWHERE X.speed=Y .speed and X.ram=Y.ram and
22、X.model<Y .model;以下 4 小題要求使用子查詢(使用IN 、EXISTS 、ANY 、ALL )5 找出速度在3.0 以上的 PC 制造商。SELECT DISTINCT makerFROM ProductWHERE model IN (SELECT modelFROM PCWHERE speed>=3.0);6 找出價格最高的打印機。SELECT modelFROM PrinterWHERE price>=ALL (SELECT priceFROM Printer);7 找出速度比任何一臺PC 都慢的筆記本電腦。SELECT modelFROM Laptop
23、WHERE speed<ALL (SELECT speedFROM PC);8 找出價格最低的彩色打印機的制造商SELECT makerFROM ProductWHERE model IN (SELECT model FROM PrinterWHERE color =trueAND price <= ALL (SELECT priceFROM PrinterWHERE color =true);以下 4 小題使用集函數、分組9 查詢廠商 A 生產的 PC 的平均價格。SELECT AVG(price)FROM Product,PCWHERE Product.model=PC.mod
24、el and maker= A;10. 查詢每種不同速度的 PC 的平均價格。SELECT speed,AVG(price)FROM PCGROUP by speed;11. 查詢每家廠商生產的筆記本電腦的顯示器尺寸的平均值。SELECT maker,A VG(screen)FROM Product,Laptop.WHERE Product.model=Laptop.modelGROUP BY maker12. 查詢至少生產三種不同型號PC 的制造商。SELECT makerFROM ProductWHERE type= pcGROUP BY makerHAVING COUNT(model)&
25、gt;=3;習題 3.2 對于產品數據庫,用SQL 寫出下面的更新:1 通過兩條INSERT 語句在數據庫中添加如下信息:廠商C 生產的型號為1100 的 PC,其速度為 3.2, RAM 容量大小為1024,硬盤容量大小為180,售價為 $2499。INSERT INTO Product V ALUES( C,1100,pc);INSERT INTO PC V ALUES( 1100,3.2, 1024, 180, 2499);2 刪除所有硬盤容量低于100GB 的 PC。DELETE FROM PCWHERE hd<100;3 廠商 A 收購了廠商B ,將所有B 生產的產品改為由A
26、生產。UPDATE Product SET maker= AWHERE maker = B;習題 3.3Movies (title, year, length, genre, studioName, producerC#)StarsIn (movieTitle, movieYear, starName)MovieStar (name, address, gender, birthdate)MovieExec (name, address, cert#, netWorth)Studio (name, address, presC#)從上面的基本表構造以下視圖:1 視圖 StudioPress給出
27、了既是電影公司經理(Studio president) 又是制片人 (Movie Executive)的那些人的名字、地址、證書號和資產。CREATE VIEW StudioPress(name,address,cert#,netWorth) ASSELECT MovieE, MovieExec.address, cert#, netWorthFROM Studio, MovieExecWHERE Studio.presC#=MovieExec.cert#;2 視圖 ExecutiveStar 給出了既是制片人又是演員的那些人的名字、地址、性別、生日。CREATE VIEW E
28、xecutiveStar(name, address,gender,birthdate) ASSELECT MovieE, MovieExec.address,gender,birthdateFROM MovieExec, MovieStarWHERE MovieE=MovieS and MovieExec.address=MovieStar.address;不用基本表,基于以上視圖,用SQL 寫出以下查詢:3找出既是演員又是制片人的女性姓名。SELECT nameFROM ExecutiveStar.WHERE gender= F;4找出是電影
29、公司經理,同時資產至少有$10 000 000 的制片人名字。SELECT nameFROM StudioPressWHERE netWorth>=10000000;5找出是演員同時資產至少有$50 000 000 的電影公司經理的名字。SELECT StudioPFROM StudioPress, ExecutiveStarWHERE StudioP= ExecutiveS and StudioPress.address= ExecutiveStar.addressand netWorth>=50000000;為下面的屬性或屬性
30、組聲明索引:6 StudioNameCREATE INDEX nameIndex ON Movies(studioName);7 genre 和 lengthCREATE INDEX genreIndex ON Movies(genre,length);作業(yè)四:對于電影數據庫,對所有關系都定義了主鍵,如下所示:Movies (title, year, length, genre, studioName, producerC#)StarsIn (movieTitle, movieYear, starName)MovieStar (name, address, gender, birthdate)
31、MovieExec (name, address, cert#, netWorth)Studio (name, address, presC#)習題 4.1 聲明如下引用完整性約束:1 電影的制片人必須是MovieExec 中的某個制片人。任何對 MovieExec 的更新, 若違反此約束則拒絕該操作。FOREIGN KEY (producerC#) REFERENCES MovieExec(cert#)2 重復( 1),但是當違反約束時,將Movies 中的 producerC#置為 NULL 。FOREIGN KEY (producerC#) REFERENCES MovieExec(ce
32、rt#)ON UPDATE SET NULL3 重復( 1),但是當違反約束時,Movies 中違反約束的元組被刪除或修改。FOREIGN KEY (producerC#) REFERENCES MovieExec(cert#)ON UPDATE CASCADEON DELETE CASCADE習題 4.2 聲明關于Movies 的屬性的約束:1 年份不能是1915 年以前。CHECK (year >=1915)2 長度不能少于60 也不能多于250。CHECK (length>=60 and length<=250)3 電影公司的名字只能是Disney、 Fox、 MGM
33、、 ParamountCHECK (studioName IN ( Disney ,Fox,MGM ,Paramount).作業(yè)五:(計算)習題 5.1 針對下列關系模式和FD 集合,找出關系的所有候選碼。1 R(A, B, C, D) , FD: A BC,CD ,DA候選碼: (A, B), (B, C), (B, D)2 S(A, B, C, D) , FD: AB, BC,BD候選碼: A習題 5.2 對于下列關系模式和FD 集合,找出所有的 3NF 違例,如有必要,將關系分解為一系列屬于 3NF 的關系。1. R(A, B, C, D) , FD: A BC,BC D,CD A,AD
34、 B候選碼: (A, B), (B, C), (C, D), (A, D)不存在 3NF 違例2. S(A, B, C, D) , FD: AB, BC,CD,D A候選碼: (A ), (B), (C), (D)不存在 3NF 違例習題 5.3 考慮關系 Courses(C, T, H, R, S, G) ,其屬性可以理解為課程、教師、時間、教室、學生和成績。 設 Courses 上的 FD 有 C T,HR C,HTR,HSR,CS G。直觀上表示:一門課程有唯一的一個教師;在一個給定的時間和教室,只能有一門課程; 在給定的時間里一個教師只能在一個教室; 在給定的時間里一個學生只能在一個教室;一個學生在一門課程中只能得到一個成績。1 給出 Courses 的所有候選碼。候選碼: (H, S)2 證明給定的FD 本身就是它們的一個最小基本集。略。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 10吃飯有講究(說課稿)-部編版道德與法治一年級上冊
- 7 湯姆·索亞歷險記(節(jié)選)說課稿-2023-2024學年六年級下冊語文統(tǒng)編版
- 2025集體土地房屋轉讓合同
- Unit 2 My week PB Let's talk (說課稿)-2024-2025學年人教PEP版英語五年級上冊001
- 2025產品銷售咨詢服務合同(中介撮合客戶)
- 2025合同模板車位租賃合同范本
- 10吃飯有講究 說課稿-2024-2025學年道德與法治一年級上冊統(tǒng)編版001
- 個人汽車信貸合同范例
- 鄉(xiāng)村道路改造雨季施工方案
- 重慶不銹鋼支撐施工方案
- 美容衛(wèi)生管理制度
- 銅陵2025年安徽銅陵郊區(qū)周潭鎮(zhèn)招聘鄉(xiāng)村振興專干和村級后備干部5人筆試歷年參考題庫附帶答案詳解
- 2025年紀檢辦公室工作計劃范文
- 七年級上學期歷史期末考試模擬卷02(原卷版)
- 橋梁建設施工組織設計方案
- (新版)中國動態(tài)血壓監(jiān)測基層應用指南(2024年)
- 礦物加工工程基礎知識單選題100道及答案解析
- 2024年同等學力申碩英語考試真題
- 浙江省杭州市2024年中考語文試卷(含答案)
- 世說新語原文及翻譯-副本
- 電力通信光纜檢修標準化作業(yè)指導書
評論
0/150
提交評論