[Database] λ°μ΄ν„°λ² μ΄μŠ€ μ •κ·œν™”λž€?

2021. 10. 13. 11:47γ†λ°μ΄ν„°λ² μ΄μŠ€

728x90

DB 곡뢀λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•˜λ©΄μ„œ 

기본인 μ •κ·œν™”λ₯Ό κ³΅λΆ€ν•œλ‹€. 

 

1. λ°μ΄ν„°λ² μ΄μŠ€ μ •κ·œν™”λž€? 

μ •κ·œν™” (Normalization) μ΄λž€ 

λ°μ΄ν„°μ˜ 일관성, μ΅œμ†Œν•œμ˜ 데이터 쀑볡, μ΅œλŒ€ν•œμ˜ 데이터 μœ μ—°μ„±μ„ μœ„ν•œ λ°©λ²•μœΌλ‘œ 

데이터λ₯Ό λΆ„ν•΄ν•˜λŠ” 과정을 λ§ν•œλ‹€. 

즉, μ •κ·œν™”μ˜ κΈ°λ³Έ λͺ©ν‘œλŠ” ν…Œμ΄λΈ” 간에 μ€‘λ³΅λœ 데이터λ₯Ό ν—ˆμš©ν•˜μ§€ μ•ŠμŒμœΌλ‘œμ¨ 무결성을 μœ μ§€ν•˜λŠ”λ°μ— μžˆλ‹€. 

 

 

 

2. 제1 μ •κ·œν˜• 

 

제1 μ •κ·œν˜•μ€ ν…Œμ΄λΈ”μ˜ 컬럼이 μ›μžκ°’(Automic Value) , ν•˜λ‚˜μ˜ 값을 갖도둝 ν…Œμ΄λΈ”μ„ λΆ„ν•΄ν•˜λŠ” 것이닀. 

μ‚¬μ§„μ˜ ν‘œμ—μ„œ 보면 μˆ˜κ°• Table 에 201700001κ³Ό 201700004 ν•™λ²ˆμ€ μˆ˜μ—…μ΄ λ‘κ°œμ”© μ‘΄μž¬ν•˜λŠ” 것을 λ³Ό μˆ˜μžˆλ‹€.

ν…Œμ΄λΈ”μ΄ μ›μžκ°’μ„ κ°–κΈ° μœ„ν•΄μ„œ μ˜†μ— ν…Œμ΄λΈ” 처럼 λ°”κΏ”μ€˜μ•Όν•œλ‹€. 

 

 

3. 제2 μ •κ·œν˜• 

제2 μ •κ·œν˜•μ€ λΆ€λΆ„ ν•¨μˆ˜ 쒅속성을 μ œκ±°ν•˜λŠ” 것이닀.

제1 μ •κ·œν˜•μ˜ 쑰건을 λ§Œμ‘±ν•œ ν…Œμ΄λΈ”μ— λŒ€ν•΄μ„œ μ™„μ „ ν•¨μˆ˜ 쒅속을 λ§Œμ‘±ν•˜λ„λ‘ ν…Œμ΄λΈ”μ„ λΆ„ν•΄ν•œλ‹€. 

μ΄λ•Œ, μ™„μ „ ν•¨μˆ˜ μ’…μ†μ΄λž€ κΈ°λ³Έν‚€μ˜ λΆ€λΆ„ 집합이 κ²°μ •μžκ°€ λ˜μ–΄μ„œλŠ” μ•ˆλœλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€. 

 

μœ„μ˜ 사진을 보면 ν•™λ²ˆκ³Ό μˆ˜μ—…μ΄ 성적을 κ΅¬λΆ„ν•˜λŠ”λ°, μ΄λ•Œ μˆ˜μ—…μ€ λ”°λ‘œ κ°•μ˜μ‹€μ„ κ΅¬λΆ„ν•˜κ³  μžˆλ‹€. 

이러면 μˆ˜μ—…μ΄ κ²°μ •μžκ°€ 되고 있기 λ•Œλ¬Έμ— ν…Œμ΄λΈ”μ„ λΆ„ν•΄ν•΄μ€˜μ•Όν•œλ‹€. 

 

ν…Œμ΄λΈ”μ„ λΆ„ν•΄ν•œ 결과이닀. 

 

 

4. 제3 μ •κ·œν˜• 

제3 μ •κ·œν˜•μ€ 이행 ν•¨μˆ˜ 쒅속을 μ œκ±°ν•˜λŠ” κ²ƒμœΌλ‘œ 

제2 μ •κ·œν˜•μ˜ 쑰건을 λ§Œμ‘±ν•œ ν…Œμ΄λΈ”μ— λŒ€ν•΄μ„œ 이행적 쒅속을 없애도둝 ν…Œμ΄λΈ”μ„ λΆ„ν•΄ν•˜λŠ” 것이닀.

μ΄λ•Œ 이행 ν•¨μˆ˜ μ’…μ†μ΄λž€ A-> B, B->Cλ₯Ό λ§Œμ‘±ν•  λ•Œ A-> Cκ°€ μ„±λ¦½ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€. 

 

사진을 보면 ν•™λ²ˆ -> μˆ˜μ—… , μˆ˜μ—… -> μˆ˜κ°•λ£Œ 이런 ν˜•νƒœλ‘œ κ΅¬μ„±λ˜κ³  μžˆλ‹€.

이러면 이행 ν•¨μˆ˜ 쒅속이 생기기 λ•Œλ¬Έμ— 이λ₯Ό λΆ„ν•΄ν•΄μ€˜μ•Όν•œλ‹€. 

 

ν…Œμ΄λΈ”μ„ λΆ„λ¦¬ν•œ 결과이닀.

 

 

5. 제4 μ •κ·œν˜• (BCNF) 

제4 μ •κ·œν˜•(BCNF)λŠ” 후보킀가 μ•„λ‹Œ κ²°μ •μžλ₯Ό λͺ¨λ‘ μ œκ±°ν•œλ‹€.

제3 μ •κ·œν˜• 쑰건을 λ§Œμ‘±ν•œ ν…Œμ΄λΈ”μ— λŒ€ν•΄μ„œ λͺ¨λ“  κ²°μ •μžκ°€ 후보킀가 λ˜λ„λ‘ ν…Œμ΄λΈ”μ„ λΆ„ν•΄ν•΄μ•Όν•œλ‹€. 

μ΄λ•Œ ν›„λ³΄ν‚€λŠ” λ¦΄λ ˆμ΄μ…˜μ„ κ΅¬μ„±ν•˜λŠ” 속성듀 μ€‘μ—μ„œ νŠœν”Œμ„ μœ μΌν•˜κ²Œ μ‹λ³„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μ†μ„±λ“€μ˜ 뢀뢄집합을 μ˜λ―Έν•œλ‹€. 

 

μ‚¬μ§„μ—μ„œ 보면 ν•™λ²ˆκ³Ό μˆ˜μ—…μ΄ ꡐ수λ₯Ό κ΅¬λΆ„ν•˜κ³  μžˆλŠ”λ°, 

μ΄λ•Œ κ΅μˆ˜κ°€ 후보킀가 μ•„λ‹˜μ—λ„ λΆˆκ΅¬ν•˜κ³  μˆ˜μ—…μ„ κ΅¬λΆ„ν•˜κ³  μžˆμœΌλ―€λ‘œ, 후보킀가 λ˜λ„λ‘ ν…Œμ΄λΈ”μ„ λΆ„ν•΄ν•΄μ•Όν•œλ‹€. 

 

λΆ„ν•΄ν•œ 결과이닀. 

 

 

pptλŠ” λ‚΄κ°€ λ§Œλ“ κ±΄λ° 뢈펌X 

 

 

 

 

728x90