모두CBT

'부서코드'를 기본 키로 하는 [부서] 테이블과 '부서 코드'를 포함한… | [컴퓨터활용능력 1급 필기] 18년 2회차 기출문제 상세 페이지

1[컴퓨터활용능력 1급 필기] 18년 2회차
'부서코드'를 기본 키로 하는 [부서] 테이블과 '부서 코드'를 포함한 사원정보가 있는 [사원] 테이블을 이용하여 관계를 설정하였다. 다음 중 이와 관련된 관계 설정에 대한 설명으로 옳은 것은? (단, 한 부서에는 여러 명의 사원이 소속되어 있으며, 한 사원은 하나의 부서에 소속된다.)
1
'항상 참조 무결성 유지'를 설정하면 [사원] 테이블에 입력하려는 '사원'의 '부서코드'는 반드시 [부서] 테이블에 존재해야만 한다.
2
'항상 참조 무결성 유지'를 설정하면 [사원] 테이블에서 '부서코드'를 수정하는 경우 [부서] 테이블의 해당 '부서코드'도 자동으로 수정된다.
3
'항상 참조 무결성 유지'를 설정하지 않더라도 [사원] 테이블에 입력하려는 '사원'의 '부서코드'는 반드시 [부서] 테이블에 존재해야만 한다.
4
'항상 참조 무결성 유지'를 설정하지 않더라도 [사원] 테이블에서 사용 중인 '부서코드'는 [부서] 테이블에서 삭제할 수 없다.
해설

'항상 참조 무결성 유지'를 설정하면 [사원] 테이블에 입력하는 부서코드 값이 반드시 [부서] 테이블에 존재하는 값이어야 한다. 이는 외래 키가 참조하는 기본 키 테이블에 실제로 존재하는 값만 입력을 허용하는 참조 무결성의 기본 개념이다.

값이 자동으로 따라 바뀌는 것은 기본 키인 [부서] 테이블의 부서코드를 수정했을 때 이를 참조하는 [사원] 테이블 레코드가 갱신되는 방향이며, 그것도 '관련 필드 모두 업데이트' 옵션을 함께 설정해야 한다. 반대로 외래 키인 [사원] 테이블의 값을 고쳤다고 [부서] 테이블이 바뀌는 일은 없다. 또한 참조 무결성을 설정하지 않으면 [부서] 테이블에 없는 부서코드도 [사원] 테이블에 입력될 수 있고, 사용 중인 부서코드도 [부서] 테이블에서 삭제될 수 있다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.