![[語言類考試復習資料大全]中級數據庫系統工程師下午試題模擬26_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/1a44daa6-ebe8-43c5-8846-cc20c4102374/1a44daa6-ebe8-43c5-8846-cc20c41023741.gif)
![[語言類考試復習資料大全]中級數據庫系統工程師下午試題模擬26_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/1a44daa6-ebe8-43c5-8846-cc20c4102374/1a44daa6-ebe8-43c5-8846-cc20c41023742.gif)
![[語言類考試復習資料大全]中級數據庫系統工程師下午試題模擬26_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/1a44daa6-ebe8-43c5-8846-cc20c4102374/1a44daa6-ebe8-43c5-8846-cc20c41023743.gif)
![[語言類考試復習資料大全]中級數據庫系統工程師下午試題模擬26_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/1a44daa6-ebe8-43c5-8846-cc20c4102374/1a44daa6-ebe8-43c5-8846-cc20c41023744.gif)
![[語言類考試復習資料大全]中級數據庫系統工程師下午試題模擬26_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/21/1a44daa6-ebe8-43c5-8846-cc20c4102374/1a44daa6-ebe8-43c5-8846-cc20c41023745.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、書山有路勤為徑,學海無涯苦作舟。祝愿天下莘莘學子:學業有成,金榜題名!語言類考試復習資料大全中級數據庫系統工程師下午試題模擬26中級數據庫系統工程師下午試題模擬26試題一下面是用E-SQL實現的機票銷售程序的一部分,請補全空缺處的代碼。 EXEC SQL SET TRANSACTION ISOLATION LEVEL SERIALIZABLE EXEC SQL SELECT balance INTO :x FROM tickets WHERE flight=A; printf(航班A當前剩余機票數為:%dn請輸入購票數:,x); scanf(%d,a); x=x-a; if(x0) EXEC
2、SQL ROLLBACK WORK; printf(票數不夠,購票失敗!); else EXEC SQL UPDATE tickets SET (a) ; if(SQLCA.sqlcodeSUCCESS) EXEC SQL ROLLBACK WORK; else (b) ; 1.答案:(a)balance= :x WHERE flight=A2.答案:(b)EXEC SQL COMMIT WORK解析 本問題考查對2PL協議理論與SQL中的隔離級別,以及嵌入式SQL的編程實踐。 本地給出的空缺(a)要補充的是嵌入式SQL的更新語句;空缺(b)要補充的是嵌入式SQL中的事務提交語句。 試題二在圖
3、書館數據庫有三個基本表:書目表Cata(書號Cno、書名Cname、作者Cauthor、出版年Cdate、價格Cprice)、學生表Student(學號Sno、姓名Sname、性別Sgender、專業Sdept)和借書歷史表Borrow(所借書號Cno、借書者學號Sno、借書日期Bbdate、還書日期Brdate)。1. 問題1 請用SQL語句來建立這三個基本表(請注意數據類型的選擇)。 答案:CREATE TABLE Cata( Cno INT, Cname CHAR(40), Cauthor CHAR(10), Cdate INT, Cpriee float, ); CREATE TABL
4、E Student( Sno INT, Shame CHAR(20), Sgendcr CHAR(2), Sdept CHAR(20), ); CREATE TABLE BORROW( Cno INT, Sno INT, Bbdate INT: Brdate INT。 ); 2. 問題2 請用SQL實現如下操作: (1)圖書館里已有的魯迅著作的名稱 (2)按借書日期列出學生李明的所借書名 (3)往學生表Student中插入一個學生記錄。(學號:132,姓名:張華,性別:男,系別:計算機) (4)把野火集的價格修改為15元 答案:SELECTCname FROM Cata WHEREauthor
5、=魯迅; (2)SELECT Cname from Cata,Student,Borrow Where Student. Sno=Bom)w. Sno and Cata. Cno=BorrowCno and Snamc=李明 Group by Bbdate (3)INSERT INTO Student(Sno,Sname,Sgcn- der,Sdept) VALUES(132,張華,男,計算機); (4)UPDATE Cata SET Cprice=25 WHERE Cnarse=野火集; 3. 問題3 請用SQL語句來實現如下改變:為借書歷史Borrow增加一個屬性罰金Bfine,同時刪去書
6、目表Cata中的屬性價格Cprice。 答案:ALTER TABLE Borrow ADD Brine float; ALTER TABLE Cata drop Cprice Float; 解析 關系數據庫標準語言SQL相關操作。 試題三說明 設某商業集團為倉庫存儲商品設計了三個基本表: 倉庫STORE(S#,SNAME,SADDR),其屬性是倉庫編號、倉庫名稱和地址。 存儲SG(S#,C#,QUANTITY),其屬性是倉庫編號、商品編號和數量。 商品GOODS(C#,GNAME,PRICE),其屬性是商品編號、商品名稱和單價。 現檢索倉庫名稱為“莘莊”的倉庫里存儲的商品的編號和名稱。 1.
7、問題1 試寫出相應的關系代數表達式、元組表達式、關系邏輯規則和SELECT語句。 答案:關系代數表達式為: G#,GNAME(SNAME=莘莊(STORE SG GOODS) 元組表達式為: t |(u)(v)(w)(COODS(u)SC(v) STOBE(w) u1=v21:w1w2 =莘莊t1=u1t2=u2) 關系邏輯規則如下: W(x,y)(GOODS(x,y,a)SG(b,x,c) STORE(b,莘莊,d) SELECT語句為: SELECT AG#,GNAME FROM GOODS AS ASG AS B,STORE AS C WHERE AC#:BC# AND BS#=CS#
8、AND SNAME=莘莊:2. 問題2 在基本表中,檢索存儲全部種類商品的倉庫的編號及名稱。試寫出相應的關系代數表達式、元組表達式、關系邏輯規則和SELECT語句。 答案:關系代數表達式為: S#.SNAME(STORE(S#,G#(SG)G#(GOODS) 元組表達式為: t(u)(v)(w)(STORE(u)GOODS(v)SG(w)w1 =u1)w2=v1t1=u1t 2=u2) 關系邏輯規則如下: W(x,y) STORE(x,y,a) GOODS(b,c, d) SG(x,b,e) SELECT 語句為: SELECT S#, SNAME FROM STORE WHERE NOT E
9、XISTS ( SELECT * FROM GOODS WHERE NOT EXISTS ( SELECT * FROM SG WHERE SG. S# = STORE. S# AND SG. G# = GOODS. G#) ); 3. 問題3 在基本表中,檢索每個倉庫存儲商品的總價值。試寫出相應的SELECT語句。要求顯示(S#,SUM_VALUE),其屬性為倉庫編號及該庫存儲商品的總價值。 答案:SELECT 語句為: SELECT S#, SUM ( QUANTITY * PRICE) AS SUM_VALUE FROM SG,GOODS WHERE SG. G# = GOODS. G#
10、 GROUP BY S#; 4. 問題4 在基本表中,寫一個斷言,規定每個倉庫存儲商品的單價為1萬元以上的商品種類最多為20種。 答案:CREATE ASSERTION ASSE6 CHECK (20 = ALL ( SELECT COUNT( SG. G#) FROM SG, GOODS WHERE SG. G# = GOODS. G# AND PRICE 10000 GROUP BY S#); 試題四閱讀下列說明,回答下列問題。 說明 某健身俱樂部要開發一個信息管理系統,該信息系統的部分關系模式如下: 員工(員工身份證號,姓名,工種,電話,住址) 會員(會員手機號,姓名,折扣) 項目(項目
11、名稱,項目經理,價格) 預約單(會員手機號,預約日期,使用時長) 消費(流水號,消費金額,消費日期) 有關關系模式的屬性及相關說明如下: (1)俱樂部有多種健身項目,不同的項目每小時的價格不同。俱樂部實行會員制,且需要電話或在線提前預約。 (2)每個項目都有一個項目經理,一個經理只能負責一個項目。 (3)俱樂部對會員進行積分,達到一定積分可以進行升級,不同的等級具有不同的折扣。 根據以上描述,回答下列問題: 1. 請將下面創建消費關系的SQL語句的空缺部分補充完整,要求指定關系的主碼、外碼,以及消費金額大于零的約束。 CREATE TABLE 消費 ( 流水號 CHAR(12) (a) , 會
12、員手機號 CHAR(11), 項目名稱 CHAR (8), 消費金額 NUMBER (b) , 消費日期 DATE, (c) , (e) , ); 答案:(a)PRIMARY KEY(或NOTNULL UNIQUE) (b)CHECK (消費金額0) (c)FOREIGN KEY (會員手機號) REFERENCES 會員 (會員手機號) (d)FOREIGN KEY (項目名稱) REFERENCES 項目 (項目名稱)解析 本題考查SQL的應用,屬于比較傳統的題目,考查點也與往年類似。 本問題考查數據定義語言DDL和完整性約束。根據題意,需要對“消費”表的“流水號”加主鍵(或非空)約束,考
13、查實體完整性約束,對應的語法為: PRIMARY KEY (或NOT NULL UNIQUE) “消費金額”需要大于0,所以需要加Check約束,對應的語法為: CHECK (消費金額0) “會員手機號”是“會員”關系的主鍵,是“消費”關系的外鍵,考查參照完整性約束,需要增加外鍵約束,對應的語法為: FOREICNKEY (會員手機號) REFERENCES 會員 (會員手機號) “項目名稱”是“項目”關系的主鍵,是“消費”關系的外鍵,考查參照完整性約束,需要增加外鍵約束,對應的語法為: FOREIGN KEY (項目名稱) REFERENCES 項目 (項目名稱)、 2. (1)手機號為18
14、812345678的客戶預約了2014年3月18日兩個小時的羽毛球場地,消費流水號由系統自動生成。請將下面SQL語句的空缺部分補充完整。 INSERT INTO 消費(流水號,會員手機號,項目名稱,消費金額,消費日期) SELECT201403180001羽毛球, (e) , 2014/3/18 FROM 會員, 項目, 預約單 WHERE 預約單項目名稱=項目.項目名稱 AND (f) AND 項目.項目名稱=羽毛球 AND 會員.會員手機號 (2)需要用觸發器來實現會員等級折扣的自動維護,函數float vip_value(char(11
15、)會員手機號)依據輸入的手機號計算會員的折扣。請將下面SQL語句的空缺部分補充完整。 CREATE TRIGGER VIP_TRG AFTER (g) ON (h) REFERENCING new row AS nrow FOR EACH ROW BEGIN UPDATE 會員 SET (i) WHERE (j) ; END 答案:(1)(e)價格*使用時長*折扣 (f)預約單.會員手機號=會員.會員手機號 (2)(g)INSERT (h)消費 (i)折扣=vip_value(nrow.會員手機號) (j)會員.會員手機號=nrow.會員手機號解析 本問題考查數據操縱語言DML。 (1)本題考
16、查一個較完整的查詢語句,需要向“消費”關系插入新元組。 SELECT子句缺少“消費金額”。消費金額=價格*使用時長*折扣。 WHERE子句缺少“預約單”關系和“會員”關系按照“會員手機號”的連接,因此應該增加“預約單.會員手機號=會員.會員手機號”。 (2)本題考查觸發器,觸發器是一個能由系統自動執行對數據庫修改的語句。一個觸發器由事件、條件和動態三部分組成:事件是指觸發器將測試條件是否成立,若成立就執行相應的動作,否則就什么也不做;動態是指若觸發器測試滿足預定的條件,那么就由數據庫管理系統執行這些動作。本題首先定義觸發器的事件,用觸發器來實現會員等級折扣的自動維護。 (g)和(h)缺少向“消
17、費”關系插入的語句,因此應該分別補充“INSERT”和“消費”。 (i)語句調用vip_value函數實現會員折扣的更新,函數參數為會員手機號,因此應該補充“折扣=vip_valeLe(nrow. 會員手機號)”。 (j)語句實現“會員”關系和“nrow”關系按照“會員手機號”的連接,因此應該補充“會員. 會員手機號=nrow. 會員手機號”。 3. 請將下面SQL語句的空缺部分補充完整。 (1)俱樂部年底對各種項目進行績效考核,需要統計出所負責項目的消費總金額大于等于十萬元的項目和項目經理,并按消費金額總和降序輸出。 SELECT 項目.項目名稱, 項目經理, SUM(消費金額) FROM
18、項目, 消費 WHERE (k) GROUP BY (l) ORDER BY (m) ; (2)查詢所有手機號碼以“888”結尾,姓“王”的員工姓名和電話。 SELECT 姓名, 電話 FROM 員工 WHERE 姓名 (n) AND 電話 (o) . 答案:(1)(k)項目.項目名稱=消費.項目名稱 (1)項目.項目名稱,項目經理 HAVING SUM(消費金額)=100000 (m)SUM(消費金額) DESC (2)(n)LIKE王% (o)LIKE%888解析 本問題考查數據操縱語言DML。 (1)本題考查一個較完整的查詢語句,知識點包括多表查詢、集函數、查詢分組、分組條件和排序查詢結
19、果。查詢涉及“項目”和“消費”關系模式。用集函數SUM(消費金額)求消費總金額,若有GROUP BY子句,則集函數作用在每個分組上,且GROUP BY之后應包含除了集函數之外的所有結果列。若GROUP BY之后跟有HAVING子句,則只有滿足條件的分組才會輸出。“ORDER BY列名ASCD|DESC”對輸出結果進行升序或降序的排列,若不明確制定法升序或降序,則默認升序排列。 (2)本題考查用關鍵字LIKE進行字符匹配。 LIKE的語法為: NOT LIKE匹配串 其中,匹配串可以是一個完整的字符串,也可以含有通配符%和,其中%代表任意長度(包括0長度)的字符串, 代表單個字符。手機號碼以“8
20、88”結尾,姓“王”的員工對用的表示為:姓名LIKE王%AND電話LIKE%888。 試題五閱讀下列說明,根據要求回答問題。 說明 某銀行的轉賬業務分為如下兩類操作。 (1)讀取賬戶A余額到變量x,記為x=R(A)。 (2)將變量x值寫入賬戶A中的余額,記為W(A,x)。 從賬戶A向賬戶B轉賬金額x元的偽代碼操作序列為:a=R(A),a=a-x,W(A,a),b=R(B),b=b+x,W(B,b)。 針對上述業務及規則,完成下列問題。 1. 根據業務規則,轉賬業務要么被全部執行,要么全部不執行,應如何保障? 假設參與轉賬的賬戶余額有大于等于0的約束,上述偽代碼執行中可能出現什么情況?應如何處理
21、?請用100字以內的文字進行闡述。 答案:這是一道要求讀者掌握事務基本概念及其應用的綜合分析題,本題的解答思路如下。 根據銀行業務規則,轉賬業務要么被全部執行,要么全部不執行。事務是一個完整的業務邏輯處理,原子性要求是為了保證現實業務的正確執行。若將轉賬業務作為一個完整的事務,則能保障其所有操作要么全部執行,要么全部不執行。 從賬戶A向賬戶B轉賬金額x元的偽代碼操作序列為:a=R(A),a=a-x,W(A,a),b=R(B),b=b+x,W(B,b)。假設參與轉賬的賬戶余額有大于等于0的約束,當A賬戶金額小于轉賬金額x時,轉賬過程中會因為其余額小于0而違反該約束,不能被執行。此時需要回滾事務,
22、轉賬業務不能被執行。 2. 若允許對同一賬號同時進行轉賬,要保證轉賬程序的并發執行,引入共享鎖指令SLock(b)和獨占鎖指令xLock(A)對數據A進行加鎖,解鎖指令Unlock(A)對數據A進行解鎖。 請補充上述轉賬業務的偽代碼序列,使其滿足2PL協議。 答案:這是一道要求讀者掌握2PL協議實際應用的綜合理解題,本題的解答思路如下。 在并發狀態下,可能會相互干擾破壞事務的ACID屬性,加鎖機制是保障事務正確執行的一種機制。2PL協議能夠保證事務并發狀態下調度的正確性,即可串行化的調度。其內容: 在對任何數據進行讀、寫操作之前,首先要申請并獲得對該數據的封鎖。 在釋放一個封鎖之后,事務不再申請和獲得任何其他封鎖。 若允許對同一賬號同時進行轉賬,要保證轉賬程序的并發執行,引入共享鎖指令SLock(B)和獨占鎖指令XLock(A)對數據A進行加鎖,解鎖指令Unlock(A)對數據A進行解鎖。用偽代碼描述,即在R()、W()操作之前分別加指令SLock()和XLock,不再使用數據之后再解鎖,且第一個解鎖指令后不能再有加鎖指令。對于題干中轉賬業務的偽代碼序列,使其滿足2PL協議的偽代碼程序如下。 XLock(A),a=R(A),a=a-x,W(A,a
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 老舊供水管道更新項目可行性研究報告(范文)
- 《悲慘世界》讀書心得15篇
- 健康險領域拓寬空間的戰略與實施
- 建材物流園工程實施方案(參考模板)
- 貴重金屬循環利用項目規劃設計方案
- 光伏組件生產線項目可行性研究報告(參考范文)
- 河南省新高中創新聯盟TOP二十名校計劃2023-2024學年高三上學期11月調研數學含解析
- 成都工業職業技術學院《電路課程設計》2023-2024學年第二學期期末試卷
- 上海電子信息職業技術學院《組織行為與人際技巧》2023-2024學年第二學期期末試卷
- 遼寧工程職業學院《生產制造執行系統》2023-2024學年第二學期期末試卷
- 構美-空間形態設計學習通超星期末考試答案章節答案2024年
- 踝泵運動健康宣教課件
- 數易姓名學完整版本
- 校園小品《我的未來不是夢》劇本
- 智慧火電廠綜合安防解決方案
- 《歷史研究》格式-20210720155944
- 高中化學人教版必修第一冊課件2.2.1氯氣的性質
- 安徽省合肥市2024年中考英語模擬試卷(含答案)1
- XX醫院抗菌藥物臨床應用監督管理機制+預警機制
- 基于PLC的風力發電控制系統設計
- 少數民族佤族民俗文化科普介紹
評論
0/150
提交評論