참조 무결성에 대해서 틀린 선택지가
다른 테이블을 참조하는 테이블 즉, 외래키 값이 있는 테이블의 레코드 삭제 시 참조무결성이 위배될 수 있다. 가 답인데,
다른 선택지로 다른 테이블을 참조하는 테이블의 레코드 추가 시 외래키 값이 null인 경우에는 참조 무결성이 유지된다. 에서
외래키 값이 null이라는 것은 어떤 다른 테이블의 기본키가 null이라는거 아닌가요?
이게 어째서 참조 무결성이 유지되는건지 이해가 잘 안갑니다.
안녕하세요.
외래키 값이 null이라는 것은 어떤 다른 테이블의 기본키가 null이라는거 아닌가요?
-> 그런 의미가 아닙니다. 외래키 값이 널이라는 것은 해당 값은 참조하는 것이 없다는 의미입니다. 예를 들어 수강현황 테이블의 학번 필드가 학생 테이블의 학번 필드를 참조하여 다음과 같다고 할때
- 수강현황 테이블의 학번 : 외래키
- 학생 테이블의 학번 : 기본키 인데요.
수강현황 테이블의 학번 필드는 널 값을 가질 수 있습니다. 즉 아무것도 참조를 않는 것으로 참조 무결성이 위배되지 않습니다.
하지만 학생 테이블의 학번은 기본키이므로 널 값을 가질 수 없습니다. 만약 이 값이 널이라면 참조 무결성이 위배되는 것입니다.
즐거운 하루 되세요.
-
관리자2020-08-04 10:21:18
안녕하세요.
외래키 값이 null이라는 것은 어떤 다른 테이블의 기본키가 null이라는거 아닌가요?
-> 그런 의미가 아닙니다. 외래키 값이 널이라는 것은 해당 값은 참조하는 것이 없다는 의미입니다. 예를 들어 수강현황 테이블의 학번 필드가 학생 테이블의 학번 필드를 참조하여 다음과 같다고 할때
- 수강현황 테이블의 학번 : 외래키
- 학생 테이블의 학번 : 기본키 인데요.
수강현황 테이블의 학번 필드는 널 값을 가질 수 있습니다. 즉 아무것도 참조를 않는 것으로 참조 무결성이 위배되지 않습니다.
하지만 학생 테이블의 학번은 기본키이므로 널 값을 가질 수 없습니다. 만약 이 값이 널이라면 참조 무결성이 위배되는 것입니다.
즐거운 하루 되세요.