5. 제 3 정규화어떤 컬럼이 PK가 아닌 다른 일반 컬럼에 종속되는 경우가 있다면, 별도의 테이블을 부모-자식 관계로 만든다. 이렇게 문장으로만 보면 뭔 말인지 이해가 안가니 예제를 통해 설명하겠다.이 '학생'테이블을 잘 살펴보면 컬럼들 중에 반드시 '학생'에 종속되는 속성이 아닌 것이 있다. 바로 '우편번호'와 '기본주소' 컬럼이다.기본주소만 놓고 보면, 학생에 따라 기본주소가 다르니 학생에 종속된 것은 맞다. 그러나 '우편번호' 컬럼이 있으면 얘기가 달라진다. 우편번호는 '학생이 누구냐'에 따라 달라지기 보다는, '기본주소가 어디냐'에 따라 달라지기 때문,즉 '기본주소'에 종속되기 때문이다.그러나 상세주소는 우편번호나 기본주소가 어디냐에 따라 달라지지는 않는다. 아래 표를 보면 이해가 빠를 것이다...
4. 제 1 정규화 (중복 컬럼 해소) 앞 장에서 중복 데이터를 따로 빼서 테이블을 새로 정의한 후, 관계를 맺어주는 것을 해봤다. 그러나 제 1 정규화는 그게 끝이 아니라는 점.테이블 안에 중복되는 컬럼들이 있으면 이놈들도 해결해줘야 한다. 1. 테이블에서 중복되는 컬럼들을 뽑아 별도의 테이블로 분리한다. 이 테이블에서는 사진1, 사진2, ... 사진5 컬럼들은 모두 사진을 담는 컬럼이다.교실마다 같은 사진을 가지고 있는 것도 아닌데 왜 중복된다는 건지..? 라고 생각할 수 있겠으나. 어떤 교실은 사진을 2장 가지고 있고, 또 어떤 교실은 5장 모두, 또 어떤 교실은 아예 사진이 없을 수도 있다.마지막의 경우에는 컬럼이 낭비되는 셈이다. 예를 들면. 교실번호교실명 사진1사진2사진3 C01 강동원교실 C..