데이터베이스 레코드 단순화하기
한 고등학교의 한 교사가 학생 기록을 더 잘 정리하려는 움직임을 듣고, 자신이 맡은 과목의 성적을 정리하고 싶어 했어요. 그 교사는 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라는 이름으로 테이블의 새 버전을 정의하세요.test_grades테이블에 정의된 대로student_id와course_name열을 포함하세요.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
);