Database Normalization 정규화

Jean·2023년 8월 18일
0
post-thumbnail

정규화는 테이블을 작은 단위로 나누고 관계를 조직화하여 데이터 중복을 제거하여 데이터의 불일치성과 이상 현상을 방지합니다.

주문테이블

주문번호고객명과일명수량주문일자
1김땡떙사과22023-01-01
1김땡땡바나나12023-01-01
2이땡떙수박12023-01-02
3박땡떙딸기12023-01-03

제1정규화

각 테이블의 모든 컬럼은 하나의 값만을 가지며, 중복된 데이터가 없어야 한다
중복된 데이터를 제거하고, 각 행은 유일한 식별자(Primary Key)에 의해 구분한다

주문번호고객번호과일번호수량주문일자
11122023-01-01
11212023-01-01
22312023-01-02
33412023-01-03

제2정규화

테이블을 더 작은 두 개의 테이블로 분리함으로써 중복 데이터를 줄이고 테이블의 구조를 개선하는 작업이다

부분적 종속성을 제거하기 위해 기본키에 완전 종속된 속성만 남기고 나머지는 별개의 테이블로 분리한다

고객테이블

주문번호고객번호주문일자
112023-01-01
222023-01-02
332023-01-03

과일 테이블

주문번호과일번호수량
112
121
231
341

제3정규화

A -> B -> C와 같이 속성들이 서로 종속 관계를 갖는 경우가 있다
이행적 종속성이라고 하는데 이를 제거하여 제 3정규화를 한다

고객 테이블

고객번호고객명
1김땡떙
2이땡떙
3박땡땡

과일 테이블

과일번호과일명
1사과
2바나나
3수박
4딸기

주문 테이블

주문번호고객번호주문일자
112023-01-01
222023-01-02
332023-01-03

주문번호 테이블

주문번호과일번호수량
112
121
231
341
profile
햇내기 개발자 지망생

0개의 댓글