책 내용 질문하기
참조 무결성에 위배되는 이유
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
53
조회수
116
작성일
2018-06-26
작성자
탈퇴*원
첨부파일

문제에 보면 직원 릴레이션의 기본키는 직원번호 이고, 지점의 기본키를 지점번호로 줄때 참조무결성과 개체 무결성 제약조건에 위배가 된다는 문제입니다.

일단 지점이 직원 테이블의 지점번호를 외래키로 가지고 있다는 말이 없더라도 기본적으로 외래키라고 가정을 하고 문제를 풀어야 하는지 모르겠습니다.

두번째로 해당문제가 참조 무결성을 위배하는 이유는 지점 릴레이션의 지점번호 가 참조하는 직원 릴레이션의 지점번호는 직원 릴레이션의 기본키가 되지 못합니다. 그렇기 때문에 무결성 제약조건을 위배한다고 말을 하는것이 잘못된 것일까요?

답변
2018-06-26 09:59:26

안녕하세요.

문제에서 "<지점> 릴레이션의 후보키인 지점번호를 기본키로 설정하면"이라는 문구가 이 문제의 핵심입니다.

먼저 <지점> 릴레이션의 지점번호를 기본키로 설정할 때의 문제점은

개체 무결성 위배입니다.

<지점> 릴레이션의 지점번호가 기본키가 되었지만 기본키인 속성값에 Null이 있기 때문입니다.

그 다음 문제는 참조 무결성 위배입니다.

<지점> 테이블의 지점번호를 기본키로 설정하게 되면

<직원> 테이블의 지점번호는 외래키가 됩니다.

외래키인 <직원> 테이블의 지점번호 속성값 중 103, 108은

<지점> 테이블의 지점번호에 없으므로 참조 무결성 위배가 됩니다.

질문 주신

참조 무결성을 위배하는 이유는 지점 릴레이션의 지점번호 가 참조하는 직원 릴레이션의 지점번호는 직원 릴레이션의 기본키가 되지 못합니다. 그렇기 때문에 무결성 제약조건을 위배한다

기본키가 되는 테이블이 <지점> 테이블이고 참조하는 테이블이 <직원> 테이블인데 이를 혼동하신 것 같습니다.

오늘도 즐거운 하루 되세요.

  • *
    2018-06-26 09:59:26

    안녕하세요.

    문제에서 "<지점> 릴레이션의 후보키인 지점번호를 기본키로 설정하면"이라는 문구가 이 문제의 핵심입니다.

    먼저 <지점> 릴레이션의 지점번호를 기본키로 설정할 때의 문제점은

    개체 무결성 위배입니다.

    <지점> 릴레이션의 지점번호가 기본키가 되었지만 기본키인 속성값에 Null이 있기 때문입니다.

    그 다음 문제는 참조 무결성 위배입니다.

    <지점> 테이블의 지점번호를 기본키로 설정하게 되면

    <직원> 테이블의 지점번호는 외래키가 됩니다.

    외래키인 <직원> 테이블의 지점번호 속성값 중 103, 108은

    <지점> 테이블의 지점번호에 없으므로 참조 무결성 위배가 됩니다.

    질문 주신

    참조 무결성을 위배하는 이유는 지점 릴레이션의 지점번호 가 참조하는 직원 릴레이션의 지점번호는 직원 릴레이션의 기본키가 되지 못합니다. 그렇기 때문에 무결성 제약조건을 위배한다

    기본키가 되는 테이블이 <지점> 테이블이고 참조하는 테이블이 <직원> 테이블인데 이를 혼동하신 것 같습니다.

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.