위키피디아
- 관계 DB 관계 모델에서 "2개의 관련있는 관계 테이블간의 일관성"을 말함
- 기본키/후보키/외래키의 조합으로 강제 적용됨
- 외래 키를 구성하는 열의 값은 부모가 되는 관계 변수의 기본키 값으로 존재해야함
- 다른 관계 변수의 외래키에 참조되는 쌍을 제거하는 것은 참조 무결성 파괴하는 짓
- 따라서 일방적 삭제를 방지함
블로그
- 무결성: DB에 저장된 값들에 대해 여러가지 제한을 걸어 데이터에 대한 신뢰를 보장하여 일관성을 유지시킴
- 데이터 무결성
- 영역 무결성
- 한 칼럼에 대해 NULL 허용여부
- 한 칼럼에 대해 타당한 데이터값 지정
- 자료형, 규칙과 제약, 값 범위등을 제한
- 참조 무결성
- PK와 FK간의 관계가 항상 유지됨을 보장
- FK가 존재한다면 PK가 삭제될 수도, 변경될 수도 없음
- 개체 무결성
- 테이블의 모든 행들이 유일한 식별자를 가질 것
- 참조 무결성
- 테이블의 레코드 간의 관계를 유효하게 하는 규칙
- 사용자의 실수로 관련 데이터가 삭제/수정되는 것을 막아줌
참조 무결성과 CASCADE
- 참조 무결성: PK와 FK간의 관계가 항상 유지되도록 보장하는 것
- PK를 참조하고 있는 FK가 존재할 때, PK의 수정/삭제를 DbMS가 강제로 막음
- CASCADE
- 참조 무결성이 깨지는 것을 허용하면서 관련된 모든 값을 수정/삭제 가능
- ON DELETE CASCADE
- ON UPDATE CASCADE
- FK로 참조하던 놈이 있었는데,,, PK가 없어졌다고 꼭 지우고 싶진 않을수도 있자나?
- "ON DELETE SET NULL"
- PK 지워지면 살포시 해당 FK NULL로 바뀜