데이터베이스 정규화 이론 3. 2NF, 3NF, BCNF
후보키, 슈퍼키 이전 글에서 얘기한 함수 종속성을 알아보기 위해서는 후보키와 슈퍼키라는 개념을 알아야 한다. 후보키란 릴레이션에서 튜플의 값을 고유하게 만드는 속성의 집합이다. 즉, 후보키가 정해지면 해당 row의 값이 모두 정해진다는 것이다. 이 때 후보키는 더는 속성을 줄일 수 없는 상태여야 한다. 잘 와닿지 않으니 다음 테이블들을 살펴보며 이해해보자. id 이름 1 A 2 B 3 C 가장 간단한 예다. id가 정해지면 그에 따라 이름도 정해지는 것을 알 수 있다. SQL에서 우리가 보는 Primary Key가 후보키의 대표적인 예다. id가 정해지면 다른 row의 값이 모두 결정된다. 주민번호 출생지 이름 20200101 서울 A 19870312 경기 B 19990815 서울 C Primary Key만이 후보키가 될 수 있는 건 아니다. 다음과 같은 예를 생각해보자. 이 테이블에는 id 컬럼이 존재하지 않는다. 하지만 주민번호가 결정되면 출생지와 이름 모두 결정된다는 사실을 …