3정규화

    [DB] 제 3정규화

    [DB] 제 3정규화

    🔍 3 정규화 식별자가 아닌 일반 속성 간에는 종속성이 존재하지 않는다. 만약 일반 속성 간에 종속성이 존재한다면 3정규형의 대상이 되며 이를 이행 종속 속성이라고 한다. 🔍 실습 예제 테이블을 보면 고객 번호가 심상치가 않다. pk 또는 fk일 것 같은 느낌이 강하게 드는데 각 컬럼들간의 관계를 한 번 살펴보자. 주문번호가 정해지면 고객번호, 주문일자, 배송요청일자는 자동으로 정해진다. 그런데 고객명 컬럼이 조금 이상한 것 같다. 고객명은 주문번호보다는 고객번호에 의해 정해져야하는 컬럼 같다. 따라서 고객번호와 고객명을 분리한다.

    [DB] 정규화

    [DB] 정규화

    🔍 다과 속성과 복합 속성 다음의 테이블 구조는 주문상품 컬럼에 너무 많은 정보가 있다는 것에 있다. 한 컬럼은 한 속성만 가져야 하기 때문에 row를 새로 분리해야 한다. 01배 1박스와 같이 한 정보만 가질 수 있도록 분리했다. 여기서 또 다른 문제는 상품 코드, 상품명, 상품 수량 코드가 한 컬럼에 같이 있다는 것이다. (복합 속성) 복합 속성의 경우는 컬럼의 수를 늘려서 이를 해결한다. 🔍 제 1정규화 데이터 중복을 제거하기 위한 테이블 분할을 의미한다. 여기서는 주문 번호, 날짜, 성명, 연락처 컬럼의 정보가 겹치는 것을 확인할 수 있다. 따라서 이를 분리한다. 분리된 두 테이블은 주문번호로 pk, fk 관계를 맺는다. 오른쪽 테이블의 pk값은 주문번호 + 상품 코드를 함께 묶어 설정될 수 있다..