一、假設在學校的教務系統中,需要記錄學生的基本資料,譬如:學號(ID)、姓名(Name)、就讀系別(Major)、連絡電話(Tel)、通訊地址(Address) 等。請利用 SQL 標準語法定義此表格的綱要(Schema),包含此表格的名稱「Student」,以及 5 個屬性對應到上述需要記錄的 5 類資料,及其合適的資料型態。注意,也必須替此表格定義適合的主鍵(Primary Key),並說明如此定義的理由。(20 分)
詳解 (共 2 筆)
Aaron Lim
詳解 #6270182
CREATE TABLE Student...
(共 1088 字,隱藏中)
前往觀看
林佩儀
詳解 #6377338
CREATE TABLE ‘Student’(
Id VARCHAR(10) NOT NULL,
MajorId INT NOT NULL,
Name VARCHAR(50) NOT NULL,
Tel VARCHAR(10) NOT NULL,
Address VARCHAR(500) NOT NULL,
PRIMART KEY(Id),
FOREIGN KEY(MajorId) REFERENCES Major
);
因為學生資料表的學號、姓名、系別、電話、地址皆為重要的基本資料,故這邊將所有屬性皆設為必填不能為空值,因為每個學生的資料長度皆不同,故將所有的字串型別設為VARCHAR
將學生的學號具唯一性所以將它設為PK
因為學號可能由一連串數字、字母+數字組成所以設為字串型態,又考量到學號通常會由學年度3碼(例如:114)+科系代碼3碼(例如:316)+班級號2碼(例如:24)+學生號碼2碼(例如:23)組成,故將長度設為10
因為系別通常還會有其他關聯的資料,所以額外將系別獨立一張資料表存放相關屬性,在學生資料表將系別編號設立為FK關聯到系別資料表,也因為是存放系別編號的關係,故將欄位型別設為INT
學生姓名型別開設為字串存放,考量到部分學生可能有較長的名字所以上限開到50
因為電話號碼是由一連串數字組成,加上考量到手機最長長度為10碼,市話最長長度為9碼的關係,故欄位型別設為可變的字串長度且上限設為10碼
地址設為可變長度且上限到500