1️⃣ 제 1정규화, 한칸엔 하나의 데이터만 넣자..

Untitled

Untitled

이런건 안된다. 나중에 select할때 불편하다.

이걸 해결하려면, 프로그램 컬럼을 프로그램 테이블로 따로 빼고, 회원번호가 이를 참조하게끔 하면 된다.

제 1정규화가 된 테이블을 제 1정규형 테이블이라고 한다.

2️⃣ 제 2정규화 - 한 테이블엔 하나의 주제만 갖자.

Untitled

헬스 신청한 사람이 1억명인데, 헬스 가격 수정하려면 이 1억개 데이터를 다 수정할 것인가? 오우.. 이건 안된다. 제 2정규화를 하자.

가격소개 테이블을 따로 빼는 것임.

Untitled

더 엄밀히 말하면 partial dependency를 제거한 테이블이 제 2정규형 테이블이다.

이게 뭐냐면, 어떤 테이블의 PK는 사실 여러 컬럼이 모여서 만들어질 수 있다. 이때 PK를 구성하는 각 컬럼을 composite PK라고 한다.

partial dependency는 전체 PK에 의존하는게 아니라 어떤 한 composite PK에 의존하는 컬럼이 있는 경우를 말한다. 이런 경우가 있다면 해당 composite PK와 의존하는 컬럼을 따로 떼서 다른 테이블로 만드는게 낫다.

Untitled