You are on page 1of 4

8 數據庫

多項選擇題
1. C
2. A
3. B
4. D
5. D
6. C
7. D

短題目
1. 從前,
「手動歸檔系統」(一個卡紙檔案或歸檔櫃)是被用來以貯存數據。但
使用手動歸檔系統的問題是每次只有一個人能翻閱檔案、人們處理檔案需要
親身走到數據貯存的地方,而搜尋或排序檔案也十分困難和緩慢。 (1) 現
在透過使用 DBMS,我們可快速地和準確地貯存、搜尋和排序數據。(1)
然而,電腦化數據庫的缺點是需要增加成本以訓練員工使用數據庫 (1),也
有一些有關網絡上數據庫的安全問題。(1)

2. 數據庫系統需:
• 能在眾多顧客中找出購買得最多的人士;
• 能找出欠他金錢的人;
• 能指定一個位置或區域,然後顯示該位置中所有顧客的資訊;
• 能打印一個冷藏食物的價目表;
• 非常容易使用;及
• 有密碼保護。
(任何五項或任何合理的答案 × 1)

3. 超級市場中的數據庫應用是銷售點終端機的掃描器閱讀產品上的條碼。(1)
條碼會在超級市場的數據庫中被轉換為產品的記錄數字。(1) 數據庫運用該
數字開始進行搜尋。(1) 數據會從數據庫被傳回,它或會包含名稱和產品的
價格。這些數據會被用來計算交易的總額。最後,產品的名稱和價格會被打
印在顧客的收據上。(1)

4.
數據庫物件 功 能
資料表 貯存數據

課本答案
查詢 搜尋、排序、收集和操作數據
表單 產生自訂的用戶界面予數據庫系統
報表 產生自訂的報表以打印在紙上
巨集 進行簡單的自動化操作
模組 進行更多複雜的自動化操作
( 每個物件的正確功能 × 1)

5. (a) 員工識別碼的範圍是由 0000 至 9999,最多可分配 10,000 個員工識別


碼。 (1)
(b) 出生日期 / 職位 / 部門(任何兩項 × 1)
(c) SELECT name, salary FROM staff WHERE salary <= 5000
ORDER BY salary;
(正確的 SELECT × 1,正確的 FROM 和 WHERE 子句 × 1,正確的
ORDER BY × 1)

長題目
1. (a) 六 (1)
數據類型 (1)
描述 (1)
(b) (i) 50 (1)
(ii) 這會進行欄位完整性檢查,因此用戶必須為該欄位輸入名稱。
(c)
選 項 數值變更為 作 用
驗證規則 >0 進行範圍檢查,以確保所輸入
數字大於 0。 (1)
必須有資料 是 進行欄位完整性檢查,以確保
輸入數字。(1)
(d)
選 項 數值變更為 作 用
預設值 $1,000 由於大部分的學生已繳付
$1,000,它有助於避免多次輸入
數值並把數值設定為預設值。
(1)
驗證規則 在 500 和 2,000 進行範圍檢查,以確保所付的
之間 金額在 500 和 2,000 之間。 (1)
驗證文字 「paid」欄位輸入 這是當數據未能成功合乎有效
錯誤的數據 性檢驗時會出現的文字。 (1)
(e) 主關鍵碼是能獨一地辨識每項記錄的欄位。 (1)

課本答案
(f) 因為或會多於一個學生有相同的姓名。 (1)

2. (a)
欄位名稱 數據類型 欄位長度
mem_id 數字 4
first_name 文字 20
last_name 文字 20
street 文字 50
district 文字 20
zone 文字 2
tel_no 數字 8
(每對正確的數據類型和欄位長度 × 1)

(b)
欄位名稱 數據類型 欄位長度
class_code 文字 3
subject 文字 50
teacher 文字 20
level 文字 3
class_size 數字 2
(每對正確的數據類型和欄位長度 × 1)

3. (a) 不應使用欄位「age」(1),因為其數值會每年更改。(1) 因此,每年每


項記錄都需要在這欄位進行大量更新工作。 (1) 取而代之,並不會經
常改變的學生出生日期可用作欄位以取代「age」。(1)
(b) 部分欄位或會為空值。(1) 這會浪費磁碟的存貯空間。(1) 而且這是一
個差劣的設計,其中的兩個原因如下:
• 若果學生正修讀六科,這不能在資料表中表示出來。 (1)
• 若果學生只修讀一科,那麼,四個欄位會漏空,這會相當浪費存貯
空間。 (1)
(c) 欄位「courses_taken」貯存多於一個數值。 (2) 設計欄位時,它應只
包含一個數值。 (2)

4. (a) SELECT registration, make, model FROM cars; (1)


(b) SELECT * FROM cars WHERE sunroof = "No"; (1)
(c) SELECT registration, make, price FROM cars WHERE make
= "Ford" AND price < 250000; (1)

課本答案
(d) SELECT registration, sunroof, mileage FROM cars WHERE
sunroof = "Yes" ORDER BY mileage; (1)
(e) SELECT make, model, colour, engine_size FROM cars WHERE
colour = "Red" or colour = "Blue" ORDER BY engine_size
DESC; (1)
(f) SELECT registration, model, price FROM cars ORDER BY
make, model; (1)
(g) SELECT * FROM cars WHERE price BETWEEN 200000 AND 400000;
(1)
(h) SELECT count(*) FROM cars WHERE sunroof = "No"; (1)
(i) SELECT make, MAX(engine_size) FROM cars GROUP BY make;
(1)
(j) SELECT make, AVG(price) FROM cars GROUP BY make; (1)
(k) SELECT MAX(price) FROM cars; (1)
(l) SELECT make, model, price*1.1 AS new_price FROM cars;
(1)

課本答案

You might also like