작성
·
274
답변 1
4
안녕하세요. kelixo Do 님, 공식 서포터즈 codesweaver 입니다.
.
데이터 베이스에서 가장 중요한 것은 데이터의 무결성 입니다. 그리고 이러한 무결성을 지키기 위해 여러가지 제약을 하게 됩니다. ForeginKey(이하 F.K)의 경우, 부모 테이블의 특정 컬럼(이 컬럼은 PrimaryKey(이하 P.K) 혹은 UniqueKey(이하 U.K) 중 하나여야 함) 을 참조하는 키 라는 제약이 있습니다.
U.K의 경우 Null을 허용하기에 F.K가 Null이 되는경우가 발생할 순 있습니다. 그러나 P.K를 참조하는 F.K는 Null일 경우 무결성을 위배한 것이 되며 이는 치명적 상태라고 할 수 있습니다.
.
그리고 U.K가 Null인것이 규칙상 가능은 하지만 이것 또한 U.K를 사용하는 취지에는 어긋난다고 할 수 있습니다. 키나 인덱스로 잡힌 것들은 기본적으로 Null인 경우를 피하는 것이 좋다고 생각합니다. 참고하실 만한 블로그 링크를 남깁니다.
[SQL] PRIMARY KEY, FOREIGN KEY 데이터 무결성을 위한 제약 조건 (tistory.com)
.
감사합니다.