복합 키 (Composite Key) 를 가진 테이블 생성
이 단계에서는 student_id 및 course_id 열로 구성된 복합 키가 있는 enrollments라는 테이블을 생성합니다.
SQLite 셸에서 다음 SQL 문을 실행합니다.
CREATE TABLE enrollments (
student_id INTEGER,
course_id INTEGER,
enrollment_date TEXT,
PRIMARY KEY (student_id, course_id)
);
이 명령은 student_id, course_id, 및 enrollment_date의 세 개의 열이 있는 enrollments라는 테이블을 생성합니다. PRIMARY KEY (student_id, course_id) 절은 테이블의 기본 키가 student_id 및 course_id 열 모두로 구성됨을 지정합니다. 즉, student_id와 course_id의 조합은 테이블의 각 행에 대해 고유해야 합니다.
이제 enrollments 테이블에 데이터를 삽입합니다.
INSERT INTO enrollments (student_id, course_id, enrollment_date) VALUES
(1, 101, '2023-01-01'),
(2, 101, '2023-01-02'),
(1, 102, '2023-01-03');
이렇게 하면 enrollments 테이블에 세 개의 행이 삽입됩니다.
다음으로, 기존 행과 동일한 student_id 및 course_id를 가진 행을 삽입해 봅니다.
INSERT INTO enrollments (student_id, course_id, enrollment_date) VALUES
(1, 101, '2023-01-04');
다음과 유사한 오류 메시지가 표시됩니다: Error: UNIQUE constraint failed: enrollments.student_id, enrollments.course_id. 이는 복합 키 제약 조건이 중복 행의 삽입을 방지했음을 나타냅니다.
테이블이 올바르게 생성되었는지 확인하려면 SQLite 셸에서 .tables 명령을 사용할 수 있습니다.
.tables
출력에서 enrollments를 볼 수 있습니다.