μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬/μ‹€κΈ° κ°œλ…

[μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬] λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ •κ·œν™” & μ •κ·œν˜•

ν•˜μ§±. 2023. 10. 4. 05:04
728x90

μ •κ·œν™”(Normalization)


 

β–Ά μ •κ·œν™”λž€?

λ°μ΄ν„°μ˜ 무결성을 μœ μ§€ν•˜κΈ° μœ„ν•΄ 쀑볡성을 μ΅œμ†Œν™”ν•˜κ³  일관성을 보μž₯ν•˜κΈ° μœ„ν•œ 데이터 ꡬ성 ν”„λ‘œμ„ΈμŠ€

β–Ά μ •κ·œν™”μ˜ λͺ©μ 

잘λͺ»λœ DB 섀계 μ‹œ λ°œμƒν•˜λŠ” 이상 ν˜„μƒ(anmaly)을 μ œκ±°ν•˜λŠ” 것

 - μ‚½μž… 이상 : 데이터 μ‚½μž… μ‹œ, κ΄€λ ¨μ—†λŠ” 정보도 ν•¨κ»˜ μ‚½μž…ν•΄μ•Ό ν•˜λŠ” ν˜„μƒ

 - μ‚­μ œ 이상 : 데이터 μ‚­μ œ μ‹œ, λ‹€λ₯Έ 데이터도 ν•¨κ»˜ μ‚­μ œλ˜λŠ” ν˜„μƒ

 - κ°±μ‹  이상 : 데이터 κ°±μ‹  μ‹œ, 데이터 λΆˆμΌμΉ˜κ°€ λ°œμƒν•˜λŠ” ν˜„μƒ

 

β–Ά μ •κ·œν™”μ˜ ν˜•νƒœ(μ •κ·œν˜•, NF)

λΉ„μ •κ·œν˜• μ •κ·œν™” μ „ν˜€ μ§„ν–‰λ˜μ§€ μ•Šμ€ μƒνƒœ
1NF *도메인이 μ›μž κ°’λ§Œ 가지도둝 λΆ„ν•΄
2NF λΆ€λΆ„ *ν•¨μˆ˜ 쒅속 제거
3NF 이행적 ν•¨μˆ˜ 쒅속 제거
BCNF *κ²°μ •μžκ°€ *후보킀가 μ•„λ‹Œ 쒅속 제거
4NF *λ‹€μΉ˜ 쒅속 제거
5NF 후보킀λ₯Ό ν†΅ν•˜μ§€ μ•ŠλŠ” *쑰인 쒅속 제거

                                                                                          * 도메인 : ν•˜λ‚˜μ˜ 속성 값이 κ°€μ§ˆ 수 μžˆλŠ” λͺ¨λ“  μ›μž κ°’μ˜ μ§‘ν•©

                                                                                          * ν•¨μˆ˜ 쒅속 : ν•œ 속성이 λ‹€λ₯Έ 속성을 μœ μΌν•˜κ²Œ μ‹λ³„ν•˜λŠ” 쒅속성

                                                                                          * κ²°μ •μž : A 속성이 B 속성을 μœ μΌν•˜κ²Œ 식별할 λ•Œ A 속성이 κ²°μ •μž (B 속성은 μ’…μ†μž)

                                                                                          * 후보킀 : λ¦΄λ ˆμ΄μ…˜μ— μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  νŠœν”Œμ— λŒ€ν•΄ μœ μΌμ„±κ³Ό μ΅œμ†Œμ„± λͺ¨λ‘ 만쑱

                                                                                          * λ‹€μΉ˜(λ‹€κ°€) 쒅속 : ν•˜λ‚˜μ˜ κ²°μ •μžκ°€ λ‹€λ₯Έ κ΄€λ ¨ μ—†λŠ” 속성 κ°’ κ²°μ •ν•˜λŠ” 쒅속성

                                                                                          * 쑰인 쒅속 : λ¦΄λ ˆμ΄μ…˜ μ…‹ μ΄μƒμœΌλ‘œ λΆ„ν•΄ν•œ λ’€ λ‹€μ‹œ 볡원될 수 μžˆλŠ” 쒅속성

 

(1) 제1μ •κ·œν™”(1NF)

 - μ›μž 값이 μ•„λ‹Œ 값을 κ°€μ§€λŠ” 속성 제거된 λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ

 - μ†μ„±μ˜ 값이 μ—¬λŸ¬ 값이면 ν•˜λ‚˜μ˜ κ°’μœΌλ‘œ λΆ„ν•΄

 

(2) 제2μ •κ·œν™”(2NF)

 - λΆ€λΆ„ ν•¨μˆ˜μ  쒅속성을 κ°€μ§„ 속성 제거된 λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ

 - κΈ°λ³Έ ν‚€ μ€‘μ‹¬μœΌλ‘œ λΆ„ν•΄

 

(3) 제3μ •κ·œν™”(3NF)

 - 이행적 ν•¨μˆ˜ 쒅속성을 κ°€μ§„ 속성 제거된 λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ

 - κ²°μ •μžμ΄μž μ’…μ†μžμΈ 속성을 κΈ°μ€€μœΌλ‘œ λΆ„ν•΄

 

(4) λ³΄μ΄μŠ€μ½”λ“œμ •κ·œν™”(BCNF)

 - κ²°μ •μžκ°€ 후보킀가 μ•„λ‹Œ ν•¨μˆ˜ 쒅속 제거된 λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ

 - λͺ¨λ“  κ²°μ •μžλŠ” 후보킀

 

(5) 제4μ •κ·œν™”(4NF)

 - λ‹€μΉ˜ 쒅속성을 κ°€μ§„ 속성 제거

 

(6) 제5μ •κ·œν™”(5NF)

 - 후보킀 ν†΅ν•˜μ§€ μ•Šμ€ 쑰인 쒅속 제거

728x90