資料庫 SQL [101鐵路] - 考試

Table of Contents

Q1.
假設有一表格EMP(eid,did,salary,spouse) // 員工編號、部門編號、月薪、配偶姓名
該如何導出單身的員工呢?

小弟是先用WHERE Spouse LIKE '%' 導出有配偶姓名的,
再用not exist 去找,
不知道這樣可以嗎? 或是有什麼其他方法呢?
Q2.
假設某校資料庫如下
Course(CID,NAME,DEPT) //課程(課程代號、課程名稱、系名) 課程代號為主見
Classroom(RID,LOCATION,TYPE) //教室(教室編號、教室地點、類別)教室編號為主見
Use(CID,RID,TIME) //使用(課程代號、教室編號、使用時間)
三個屬性共同為複合主見
請指出並改正下列SQL語法錯誤,以找出每間小型教室的使用次數。
SELECT R.RID, COUNT(*)AS usecount
FROM Classroom R , Use S
WHERE R.RID=S.RID
GROUP BY R.RID
HAVING R.TYPE='small'

小弟看了好久,找不出道哪是哪裡錯阿.....>"<
求大大幫忙指點~~~

Q3.
某交易排程S的日誌紀錄如下
Read-T1(X);Write-T1(X) ;Read-T2(X);Write-T2(X); Commit-T2;
Red-T1(y); Abort-T1
(1)請問S是否為可回復(recoverable)排程? 請說明原因。
小弟查'可回復' 的定義:
如果排程S中沒有任何交易T可
以被交付,直到會寫入T中已讀取項目的所有交易T' 都已交付為止,
則排程S被認為是可回復的
所以(1)應該是不可回復吧,因為Commit-T1 遺失了 ?

謝謝好心大大的指點 !!

--

All Comments

Carol avatarCarol2013-07-09
Q1只要找SPOUSE=NULL就可以 Q2去找又前的文章吧有人PO過
Joseph avatarJoseph2013-07-10
Q3不可回復沒錯
Edward Lewis avatarEdward Lewis2013-07-13
Q2那個之前也有人回過了 就r.type='small'放到where
Odelette avatarOdelette2013-07-15
q1 沒有標準答案 is null =null not in not exist都可
但挑困難語法其實不會分數比較多XD