문제 4-1번 질문입니다.
해설은 다음과 같이 설명합니다.
"<직원> 릴레이션의 '지점번호'중 103,108과 같이 <지점> 릴레이션의 '지점번호' 속성에 없는'지점번호'가 있기 때문에 참조 무결성 제약 조건에 위배된다."
하지만,
참조 무결성의 정의를 보면
"외래키의 값은 참조 릴레이션의 기본키와 동일해야한다"
라는 조건이 있습니다.
여기서 참조 릴레이션은 <직원>이 될 것이고
따라서 정답은,
<직원>의 기본키는 '직원번호'이므로 '지점번호'와 다르기 때문에 참조 무결성에 위배되는거 아닌가요?
추가로 만약 해설과 같은 답이 정답이라면
"<지점> 릴레이션의 '지점번호'중 104,105 같이 <직원> 릴레이션의 '지점번호' 속성에 없는'지점번호'가 있기 때문에 참조 무결성 제약 조건에 위배된다."
같이 수정되어야하지 않나요?
안녕하세요 길벗수험서 운영팀입니다.
두 테이블에서 관계를 올바르게 찾기 위해서는 먼저 같은 속성명을 찾아야 합니다.
여기서는 지점번호가 되겠죠.
논리를 순서대로 펼쳐보면
1. 직원.지점번호는 지점.지점번호를 참조하는 속성이며, 지점.지점번호는 기본키여야 한다. 가 전제가 됩니다.
2. 직원.지점번호는 지점.지점번호에 있는 값들 중 일부 또는 전부를 사용할 수 있지만, 지점.지점번호에 없는 값을 사용할 수 없다는 것이 참조의 기본 골자입니다.
3. 때문에 지점.지점번호가 기본키가 아니라는 것이 첫번째 무결성 위배
4. 직원.지점번호가 지점.지점번호에 없는 값(103, 108)을 사용했다는 것이 두번째 무결성 위배 가 됩니다.
행복한 하루되세요 :)
-
관리자2023-04-19 10:14:42
안녕하세요 길벗수험서 운영팀입니다.
두 테이블에서 관계를 올바르게 찾기 위해서는 먼저 같은 속성명을 찾아야 합니다.
여기서는 지점번호가 되겠죠.
논리를 순서대로 펼쳐보면
1. 직원.지점번호는 지점.지점번호를 참조하는 속성이며, 지점.지점번호는 기본키여야 한다. 가 전제가 됩니다.
2. 직원.지점번호는 지점.지점번호에 있는 값들 중 일부 또는 전부를 사용할 수 있지만, 지점.지점번호에 없는 값을 사용할 수 없다는 것이 참조의 기본 골자입니다.
3. 때문에 지점.지점번호가 기본키가 아니라는 것이 첫번째 무결성 위배
4. 직원.지점번호가 지점.지점번호에 없는 값(103, 108)을 사용했다는 것이 두번째 무결성 위배 가 됩니다.
행복한 하루되세요 :)