การทำให้ระเบียนในฐานข้อมูลเรียบง่ายขึ้น
ครูคนหนึ่งในโรงเรียนมัธยมได้ยินเรื่องการปรับปรุงการจัดเก็บระเบียนของนักเรียน จึงต้องการจัดระเบียบคะแนนสอบในรายวิชาของตนเอง ครูเสนอโครงสร้างตารางสำหรับ test_grades ดังนี้:
CREATE TABLE test_grades (
student_id INTEGER NOT NULL,
course_name VARCHAR(50) NOT NULL,
grades TEXT NOT NULL
);
แต่ละระเบียนแทนข้อมูลของนักเรียนในรายวิชาต่าง ๆ ของครู โดยระบุด้วยรหัสนักเรียน ชื่อวิชา และคะแนนสอบ ครูพบว่าการจัดการฐานข้อมูลด้วยโครงสร้างนี้ทำได้ยาก การเพิ่มคะแนนใหม่ต้องใช้คิวรีที่ซับซ้อน และการคำนวณบนคะแนนก็ไม่สะดวก ในแบบฝึกหัดนี้ คุณจะช่วยปรับตารางนี้ให้อยู่ใน 1st Normal Form (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
);