49 關於學生學號的資料型態設計,下列敘述何者正確?
(A) 使用int型態即可
(B) 使用char(8)型態
(C) 使用varchar型態
(D) 使用float型態
答案:登入後查看
統計: A(2), B(13), C(0), D(0), E(0) #3399796
統計: A(2), B(13), C(0), D(0), E(0) #3399796
詳解 (共 2 筆)
#7321542
【第一步:找關鍵字】
學號、資料型態、設計、固定長度
- 學號:通常是「固定格式的編碼」(不是用來計算)
- 資料型態:決定資料如何儲存(數字 / 文字 / 長度)
- 關鍵線索:
→ 學號是「代碼」,不是「數值」
【第二步:白話翻譯】
這題在問你:
「學號這種資料,應該用哪種型態存比較正確?」
【第三步:解題思路】
- 這題在考什麼觀念?
→ 資料庫欄位型態設計(資料型態選擇)
- 解題步驟
- 判斷學號的本質
→ 是數字?還是代碼? - 判斷長度是否固定
- 選擇最適合的型態
- 原理與規則(超重要)
學號的特性:
- 不用做加減運算
- 可能包含前導 0(例如 00123456)
- 通常長度固定
→ 因此應該使用:
字串型態 + 固定長度
白話比喻:
學號就像「車牌」或「身分證」
→ 雖然看起來像數字,但其實是「代碼」
【第四步:選項分析】
- (A) 使用 int 型態即可
→ 錯
白話:
會把前導 0 消掉(例如 001 → 1)
而且不能存字母
- (B) 使用 char(8) 型態
→ 正確答案
白話:
固定長度、適合存代碼
- (C) 使用 varchar 型態
→ 錯(次佳但不是最佳)
白話:
長度可變,但學號通常是固定長度
- (D) 使用 float 型態
→ 錯
白話:
浮點數會有精度問題,完全不適合
【觀念補充與延伸】
- 核心觀念定位
→ 資料庫設計 → 資料型態選擇(常考觀念題)
- 法條或定義
常見型態比較:
| 型態 | 用途 |
|---|---|
| int | 數值計算 |
| char(n) | 固定長度字串 |
| varchar(n) | 可變長度字串 |
| float | 浮點數(有誤差) |
- 觸類旁通(舉一反三)
- 類似題目(超常考)
| 資料 | 建議型態 |
|---|---|
| 身分證字號 | char |
| 電話 | char |
| 學號 | char |
| 姓名 | varchar |
- 變化題型
- 問「哪個不適合存編號」
- 問「哪個會造成資料錯誤(前導0消失)」
【記憶口訣】
「編號用char,不用算」
或:
「看起來像數字,其實是字串」
【常見陷阱】
- 學生最容易搞混的地方
- 把學號當數字處理
- 心理盲點
- 覺得「都是數字 → 用int」
- 避坑指南
- 問自己一句:
這個欄位要不要做運算?- 要 → int
- 不要 → char
- 問自己一句:
0
0