簡化資料庫紀錄
高中裡有一位教師聽說正在推動更有效率的學生紀錄管理。他想把自己課程中的學生成績整理好。該教師為 test_grades 資料表提出了以下結構:
CREATE TABLE test_grades (
student_id INTEGER NOT NULL,
course_name VARCHAR(50) NOT NULL,
grades TEXT NOT NULL
);
每筆紀錄代表該教師某堂課的一位學生,透過學生的 id、課程名稱,以及該學生的測驗成績來識別。教師發現用這種結構管理資料庫很困難。新增成績需要撰寫複雜的查詢,而且要對成績做計算也不太方便。在本練習中,你將協助把這個資料表調整為第 1 正規化(1NF)。
本練習屬於課程
建立 PostgreSQL 資料庫
練習說明
- 定義一個名為
test_grade的新版本資料表。 - 納入
student_id與course_name欄位,和test_grades資料表中的定義相同。 - 不再使用
grades欄位,改為加入一個名為grade的數值欄位。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
-- Create the test_grade table
___ ___ ___ (
-- Include a column for the student id
___ ___ NOT NULL,
-- Include a column for the course name
___ ___ NOT NULL,
-- Add a column to capture a single test grade
___ ___ NOT NULL
);