다음 중 아래 <고객>과 <구매리스트> 테이블 관… | [컴퓨터활용능력 1급 필기] 20년 1회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 20년 1회차
다음 중 아래 <고객>과 <구매리스트> 테이블 관계에 참조 무결성이 항상 유지되도록 설정할 수 없는 경우는?
1
<고객> 테이블의 '고객번호' 필드 값이 <구매리스트> 테이블의 '고객번호' 필드에 없는 경우
2
<고객> 테이블의 '고객번호' 필드 값이 <구매리스트> 테이블의 '고객번호' 필드에 하나만 있는 경우
3
<구매리스트> 테이블의 '고객번호' 필드 값이 <고객> 테이블의 '고객번호' 필드에 없는 경우
4
<고객> 테이블의 '고객번호' 필드 값이 <구매리스트> 테이블의 '고객번호' 필드에 두 개 이상 있는 경우
해설
관계 창을 보면 <고객> 테이블은 기본 키가 고객번호이고 고객이름·전화번호·우편번호·주소·구매포인트 필드를 가지며, <구매리스트> 테이블은 기본 키가 구매번호이고 고객번호·작품명·구매일·구매금액 필드를 갖는다. 두 테이블은 고객번호로 연결되어 있고 연결선 양끝에 1과 ∞가 표시된 일대다 관계다.
참조 무결성은 '다'쪽의 외래 키 값이 반드시 '일'쪽의 기본 키에 존재해야 한다는 규칙이다. 따라서 <구매리스트>의 고객번호에 <고객>에는 없는 값이 들어 있으면 어느 고객의 구매인지 확인할 수 없는 레코드가 생기므로, 이 상태에서는 참조 무결성이 항상 유지되도록 설정할 수 없다.
반면 <고객>의 고객번호가 <구매리스트>에 하나도 나타나지 않는 것은 아직 구매한 적이 없는 고객일 뿐이고, 한 번만 나타나거나 두 번 이상 나타나는 것은 한 고객이 여러 번 구매할 수 있는 일대다 관계의 정상적인 모습이므로 모두 참조 무결성에 어긋나지 않는다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
