제1 정규화
하나의 키에 하나의 값만 저장
이러한 테이블은 제1정규형 테이블이라고 한다.
그렇다면 다음과 같은 경우에는 이러한 테이블도 문제가 발생한다.
여기서 만약에 헬스의 가격변동이 생겨서 7000원으로 변경해야 한다면?
전부 수작업으로 변경해야한다. 만약 회원 데이터가 100개가 넘어간다면?
상당히 힘들어진다.
그런대 자세하게보면 가격은 회원의 수강등록현황과는 그다지 큰 상관이 없다 만약 이 테이블을
아레와 같이 분리한다면.
이렇게 된다면 각 프로그램의 가격을 한번 변경하면 일괄적으로 변경할 수 있다.
현재 테이블의 주제와 관련없는 컬럼을 다른 테이블로 빼는 다음과 같은 작업을 제2정규화
라고 한다.
제2 정규형의 정확한 정의는 partial dependency를 제거한 테이블을 말한다.
?? partial dependency
이를 알려면 우선 Composite primary key를 알아야 한다
primary key ->데이터를 구분할 수 있는 고유한 값
partial dependency는 primary key에 종속된 컬림 프로그램 컬럼에 가격 컬럼은 종속된다. -> partial dependency가 있다 라고 판단.
제3정규형
제2정규형을 만들었다면 다음과 같다
여기서 출신 대학을 주목하면 primary key와 전혀 상관이 없고 강사라는 잔챙이 컬럼에 종속되어 있다. 이를 분리해서 만들면 제3정규화가 이루어진다.
다만 단점으로는 만약 강사의 출신 대학만 알고싶다면 바로 출력할 수 없고 해당 테이블을 끌어와서 사용해야 한다.