본문 바로가기
컴퓨터교육/2024 정보, 컴퓨터 임용 기출

[임용고사][정보][기출] 2024 정보, 컴퓨터 임용 기출 전공 A -2번

by Moons0827 2024. 10. 15.
반응형

2. (가)는 학사 관리 시스템의 학과 정보가 저장된 테이블과 학생 정보가 저장된 테이블이다. <조건>을 고려하여 <작성 방법>에 따라 쓰시오. [2점]



데이터베이스 문제입니다.
실행에 따라 위반되는 무결성 제약 조건을 쓰라고 하네요~!
테이블을 자세히 살펴보며 작성 방법을 보면 쉽게 풀 수 있습니다.


정 답

참조 무결성 제약 조건


조건에 보면 두 개의 SQL 테이블 생성 구문이 나와 있습니다. 하나는 학과 테이블이고, 다른 하나는 학생 테이블이네요.

학과 테이블에는 학과명, 연락처, 사무실이 있습니다.

학과명은 PRIMARY KEY로 지정되어  유일하고 중복될 수 없습니다.

학생 테이블에는 학번, 이름, 학과가 있습니다.

학번은 PRIMARY KEY로 지정되어  유일하고 중복될 수 없습니다.

FOREIGN KEY(학과) REFERENCES 학과(학과명)

구문이 있네요. 학생 테이블의 학과 필드가 학과 테이블의 학과명 필드를 참조해야 합니다.

즉, 학생 테이블에 저장된 학과 값은 반드시 학과 테이블에 존재하는 학과명이어야 합니다. , 이를 통해 참조 무결성이 보장됩니다.


작성방법을 볼까요?

UPDATE 학생 SET 학과 = '인공지능학과' WHERE 학과 = '컴퓨터공학과';

이 SQL문은 학생 테이블에서 학과가 '컴퓨터공학과'인 학생들의 학과 값을 '인공지능학과'로 변경하는 쿼리네요.

하지만, 

FOREIGN KEY(학과) REFERENCES 학과(학과명)

구문 때문에, 학생 테이블에서 입력된 학과 값이 반드시 학과 테이블에 존재하는 학과명과 일치해야 하죠.

그런데 (가)를 보면 학과 테이블에 컴퓨터교육과와 컴퓨터공학과만 있습니다.

즉, 참조 무결성 제약 조건 위반이 발생합니다. 

반응형

댓글