부모 테이블
허용 범위는 부모의 기본키가 만든다
students.id에 실제로 저장된 값만 자식의 student_id가 참조할 수 있습니다.
허용 가능한 참조 값은 {1, 2}와 NULL입니다. 부모에 없는 값은 후보에 들어오지 못합니다.
자식 값 판정
같은 규칙으로 보면 허용과 위반이 바로 갈립니다
1
students.id = 1이 있으므로 실제 부모 행과 연결됩니다.
유효한 참조
NULL
부모를 가리키지 않는 상태입니다. 선택 관계라면 허용됩니다.
관계 없음, 허용
3
students.id = 3이 없어서 어떤 부모 행과도 연결되지 않습니다.
참조 무결성 위반
참조 무결성은 "자식 값이 누구를 가리키는지 끝까지 설명 가능해야 한다"는 규칙입니다. 부모 PK 집합 밖의 값만 들어오면 관계가 즉시 깨집니다.