第1題
假設有關博物館的部分實體關係圖(Entity-Relationship Diagram)如下,
其中每一實體(矩形)或弱實體(雙矩形)鄰近某關係(菱形)間均有
一對(min,max)的限制,代表該實體參與該關係之min(至少)、max(至
多)次數限制,*代表沒有限制。屬性劃實底線者(如MID、LID、
C_Number)為Primary Key(主鍵)、劃虛底線者(如BID)為Partial Key。
請將此圖轉化為對應的關聯(Relation)式資料庫綱要,以「關聯(屬
性1,屬性2,……)」方式寫出應有的所有關聯表格;同時,必須標示出
每個關聯的主鍵。(15 分)
進一步,若對實體關係圖中「館藏物」應有的關聯表格,以SQL 語法
的CREATE 命令去創建它,其中應有的參考完整性限制(Referential
Integrity Constraints)語句應為何?(5 分)
第2題
假設有個資料庫的Employee 表格,其屬性包含:編號SID、姓名Name、
性別Sex、居住街道地址Street、居住城市City、薪水Salary、所屬部門
編號Dnumber。其目前的資料存於電腦中如下表,假設:身為程式設計
師,你還不知電腦中有多少筆,及其詳細內容,但知道其綱要、欄位型
態,並見到編號SID 為3001、4001 兩筆資料例子。
SID
Name
Sex
Street
City
Salary
Dnumber
Alisa
F
中山一路30 號
Palmer
Beatrice
F
信義南路7 號
Lecanto
Abraham
M
中山二路60 號
Warrendale
Dana
F
北中山一路96 號
Enumclaw
Ferdinand
M
忠孝北路66 號
Alameda
Grace
F
忠孝北路99 號
Lecanto
John
M
南中山一路30 號
Waterloo
Philemen
M
中山路67 號
Smithville
Vince
M
仁愛西路80 號
Wautoma
請寫出SQL 查詢,來列出:不管住那個城市,居住街道有「中山」二
字者之員工編號、姓名。(10 分)
若你寫下列SQL 查詢,請說明電腦會給你什麼結果(假設查詢時,資
料庫目前只有上述9 筆資料)。(10 分)
SELECT Dnumber, COUNT(*)AS High_Sal_Count
FROM Employee
WHERE Salary > 10000
Group By Dnumber
HAVING COUNT(*)> = 2;
若你寫下列SQL 查詢,請說明電腦又會給你什麼結果(假設查詢時,
資料庫目前只有上述9 筆資料)。(10 分)
SELECT Dnumber, COUNT(*)AS High_Sal_Count
FROM Employee
WHERE Salary > 10000 AND Dnumber IN
(SELECT Dnumber
FROM Employee
Group By Dnumber
HAVING COUNT(*)> = 2)
Group By Dnumber;
第3題
關聯式資料庫的設計中,需要關注資料間的功能相依(FunctionalDependency),
資料間為何有功能相依?如何找到企業中的資料間之功能相依?(5 分)
假設有下列表格R,已知有五筆資料t1,t2,t3,t4,t5,由目前已觀察到的
資料值,請檢視各個功能相依,來一一回答「已可確認不存在」或「還
有可能存在」?為什麼?(15 分)
⑴A1→A2
⑵A1→A3
⑶{A1,A5}→A3
⑷{A3,A5}→A4
⑸{A3,A4}→A2
A1
A2
A3
A4
A5
第4題
假設某關聯式資料庫,五個屬性值均是atomic、不可再分割。設計師發
現有下列2 條功能相依,設計出一個資料表R(A1,A2,A3,A4,A5)
FD1:{A1,A3}→A5
FD2:A1→A2
請問此表格R 之候選鍵(Candidate Key)有那些?為什麼?(3 分)
上述設計違反了正規化(Normalization)理論,為什麼?(3 分)
若資料表改為下列2 個表格R1(A1,A4,A5)、R2(A2,A3,A4,A5)(12 分)
請你先判定新表格R1、R2 的候選鍵。
這樣的切割,是否滿足Lossless Join?
這樣的切割,是否會喪失任何功能相依?
這樣設計最高是滿足第幾正規化,為什麼?
若你不同意上述 設計,你建議應如何修改原設計師所提出資料表R
(A1,A2,A3,A4,A5)?你必須同樣地依上述 、 、 、 四方面來說
明你建議的設計。(12 分)