DB 정규화
DB 의 중복을 최소화 하도록 설계해 무결성을 유지하고 테이블의 상태 이상을 방지한다.
1. 제 1 정규화
AS-IS
id |
name |
subject |
1 |
a |
math |
2 |
b |
english, math |
TO-BE
id |
name |
subject |
1 |
a |
math |
2 |
b |
english |
2 |
b |
math |
2. 제 2 정규화
AS-IS
key : 주문번호, 상품ID
주문번호 |
상품ID |
단위 |
수량 |
단가 |
2301 |
H360 |
NET |
20 |
25600 |
2301 |
J142 |
PACK |
320 |
65400 |
2301 |
K101 |
3-PACK |
16 |
32500 |
2302 |
A101 |
6-PACK |
8 |
24200 |
2303 |
H011 |
PACK |
10 |
65100 |
2303 |
R301 |
COVER |
8 |
12900 |
TO-BE
주문번호 |
상품ID |
수량 |
2301 |
H360 |
20 |
2301 |
J142 |
320 |
2301 |
K101 |
16 |
2302 |
A101 |
8 |
2303 |
H011 |
10 |
2303 |
R301 |
8 |
상품ID |
단위 |
단가 |
H360 |
NET |
25600 |
2301 |
PACK |
65400 |
2301 |
3-PACK |
32500 |
2302 |
6-PACK |
24200 |
2303 |
PACK |
65100 |
2303 |
COVER |
12900 |
3. 제 3 정규화
AS-IS
key : 주문번호, 회원ID, 회원명
주문번호 |
주문일 |
회원ID |
회원명 |
회원등급 |
2301 |
20210624 |
HONG |
홍진경 |
일반 |
2302 |
20210605 |
SONG |
송혜교 |
우수 |
2303 |
20210606 |
PARK |
박보영 |
일반 |
TO-BE
주문번호 |
회원ID |
주문일 |
2301 |
HONG |
20210604 |
2302 |
SONG |
20210605 |
2303 |
PARK |
20210606 |
회원ID |
회원명 |
회원등급 |
HONG |
홍진경 |
일반 |
SONG |
송혜교 |
우수 |
PARK |
박보영 |
일반 |
4. BCNF 정규화
AS-IS
key : 학번, 과목명
※각 교수는 한 과목만 강의할 수 있고 각 강의는 여러 교수들에 의해 강의될 수 있다.
학번 |
과목명 |
교수 |
100 |
DB |
P01 |
100 |
자료구조 |
P02 |
200 |
DB |
P01 |
200 |
자료구조 |
P03 |
300 |
DB |
P04 |
300 |
자료구조 |
P03 |
TO-BE
학번 |
교수 |
100 |
P01 |
100 |
P02 |
200 |
P01 |
200 |
P03 |
300 |
P03 |
300 |
P04 |
교수 |
과목명 |
P01 |
DB |
P02 |
자료구조 |
P03 |
자료구조 |
P04 |
DB |