해설에서는 <예금계좌>릴레이션의 '지점명'중 "화양점"과 "명동점"이 <지점>릴레이션의 '지점명'속성에 존재하지 않
기 때문에 참조무결성 조건을 위배했다고 했는데, 이 말도 맞지만, 참조 무결성이란 외래키 값은 NULL값이거나 참조
릴레이션의 기본키값과 동일해야 한다는 조건이잖아요. 그럼 <지점>릴레이션의 지점명 속성인 (을지점, 수서점, 구의
점) 이 세가지속성이 전부 <예금계좌>릴레이션에 존재해야 하는 것 아닌가요? 그런데 현재 <예금계좌> 릴레이션의
지점명 속성을보면 (을지점, 수서점, 화양점, 명동점, 을지점) 과 같이 구의점 속성이 없는데 이 부분은 참조무결성
위배조건이 아닌건가요?
답변 부탁드립니당
안녕하세요.
<예금계좌> 테이블의 지점명은 <지점> 테이블의 지점명을 참조하므로 <지점> 테이블의 지점명에 있는 지점명이거나 Null이어야 하는데, <지점> 테이블의 지점명에 없는 지점명이 포함되어 참조무결성을 위반합니다.
또한 질문주신 것처럼 <예금계좌> 테이블의 지점명이 이를 참조하는 <지점> 테이블의 지점명이 무조건 다 있어야 하는 것은 아닙니다. 아직 입력이 되지 않는 경우에는 없을 수 있으며, 입력될 때는 반드시 <예금계좌> 테이블의 지점명과 같거나 Null 이어야 한다는 것이 참조무결성 규칙입니다.
오늘도 즐거운 하루 되세요.
-
*2017-04-11 17:50:12
안녕하세요.
<예금계좌> 테이블의 지점명은 <지점> 테이블의 지점명을 참조하므로 <지점> 테이블의 지점명에 있는 지점명이거나 Null이어야 하는데, <지점> 테이블의 지점명에 없는 지점명이 포함되어 참조무결성을 위반합니다.
또한 질문주신 것처럼 <예금계좌> 테이블의 지점명이 이를 참조하는 <지점> 테이블의 지점명이 무조건 다 있어야 하는 것은 아닙니다. 아직 입력이 되지 않는 경우에는 없을 수 있으며, 입력될 때는 반드시 <예금계좌> 테이블의 지점명과 같거나 Null 이어야 한다는 것이 참조무결성 규칙입니다.
오늘도 즐거운 하루 되세요.