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

μ •κ·œν™” κ°œλ…

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

ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ„ μ’€ 더 λ‹¨μˆœν•˜κ³  λ°”λžŒμ§ν•œ ꡬ쑰λ₯Ό κ°–λŠ” λ‘κ°œ μ΄μƒμ˜ λ¦΄λ ˆμ΄μ…˜μœΌλ‘œ μͺΌκ°œλŠ” κ³Όμ • 
μ°¨λ‘€λŒ€λ‘œ 제 1 μ •κ·œν™”, 제 2 μ •κ·œν™”,.... 순으둜 λ§Œμ‘±ν•΄ λ‚˜κ°€λŠ” κ³Όμ • 
κ°€μž₯ 큰 λͺ©ν‘œλŠ” ν…Œμ΄λΈ” κ°„ μ€‘λ³΅λœ 데이터λ₯Ό ν—ˆμš©ν•˜μ§€ μ•ŠλŠ” 것, μ€‘λ³΅λœ 데이터λ₯Ό λ§Œλ“€μ§€ μ•ŠμœΌλ©΄ 무결성을 μœ μ§€ν•  수 μžˆλ‹€.

μ •κ·œν™” 단계

제 1μ •κ·œν™”

  1. λͺ¨λ“  μ• νŠΈλ¦¬λ·°νŠΈλŠ” μ›μž£κ°’λ§Œ κ°€μ Έμ•Ό 함 
  2. λ§Œμ‘±ν•˜λ”λΌλ„ κ°±μ‹  이상이 λ°œμƒν•¨, λΆ€λΆ„ ν•¨μˆ˜μ  쒅속성이 μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έ 
μ°Έκ³ ) λΆ€λΆ„ ν•¨μˆ˜μ  쒅속성 
ν•¨μˆ˜μ  쒅속 κ΄€κ³„μ—μ„œ μ’…μ†μžκ°€ κΈ°λ³Έν‚€κ°€ μ•„λ‹Œ λ‹€λ₯Έ 속성에 μ’…μ†λ˜κ±°λ‚˜ κΈ°λ³Έν‚€κ°€ μ—¬λŸ¬ μ†μ„±μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆμ„ 경우 κΈ°λ³Έν‚€λ₯Ό κ΅¬μ„±ν•˜λŠ” 속성 쀑 μΌλΆ€λ§Œ μ•Œμ•„λ„ 식별이 λ˜λŠ” 경우λ₯Ό λ§ν•œλ‹€.

 

제 2μ •κ·œν™”

학생 번호만으둜 성적이 κ²°μ •λ˜κΈ° λ•Œλ¬Έμ—, κ°•μ’Œμ΄λ¦„μ„ λΆ„λ¦¬μ‹œν‚€λ©΄ λͺ¨λ‘ μ™„μ „ ν•¨μˆ˜ 쒅속을 λ§Œμ‘±ν•œλ‹€

  1. 제 1μ •κ·œν˜•μ„ λ§Œμ‘±ν•˜λ©΄μ„œ μ–΄λ–€ 후보킀에도 μ†ν•˜μ§€ μ•ŠλŠ” λͺ¨λ“  μ• νŠΈλ¦¬λ·°νŠΈλ“€μ΄ 기본킀에 μ™„μ „ν•˜κ²Œ ν•¨μˆ˜μ μœΌλ‘œ μ’…μ†ν•΄μ•Όν•œλ‹€.
  2. ν…Œμ΄λΈ”μ—μ„œ κΈ°λ³Έν‚€κ°€ 볡합킀(ν‚€1, ν‚€2....)둜 λ¬Άμ—¬μžˆμ„ λ•Œ, 두 ν‚€ 쀑 ν•˜λ‚˜μ˜ ν‚€λ§ŒμœΌλ‘œ λ‹€λ₯Έ μ»¬λŸΌμ„ 결정지을 수 있으면 μ•ˆλœλ‹€.
  3. 즉 κΈ°λ³Έν‚€κ°€ μ΅œμ†Œμ„±μ„ λ§Œμ‘±ν•΄μ•Ό ν•œλ‹€λŠ” 의미
μ°Έκ³ ) μ™„μ „ ν•¨μˆ˜μ  쒅속성 
ν•¨μˆ˜μ  쒅속 κ΄€κ³„μ—μ„œ μ’…μ†μžκ°€ κΈ°λ³Έν‚€μ—λ§Œ μ’…μ†λ˜λ©° κΈ°λ³Έν‚€κ°€ μ—¬λŸ¬ μ†μ„±μœΌλ‘œ κ΅¬μ„±λ˜μ–΄ μžˆμ„ 경우 λͺ¨λ“  속성을 μ•Œμ•Όμ•„λ§Œ 식별이 κ°€λŠ₯ν•œ 경우λ₯Ό λ§ν•œλ‹€.

제 3μ •κ·œν™”

ν•™μƒλ²ˆν˜Έ -> κ°•μ’Œμ΄λ¦„ -> μˆ˜κ°•λ£Œμ™€ 같은 이행적 쒅속성이 λ°œμƒν•œλ‹€
각각 ν…Œμ΄λΈ”μ„ λΆ„λ¦¬μ‹œν‚΄μœΌλ‘œμ„œ 이행적 쒅속성을 ν•΄μ†Œν•˜μ˜€λ‹€

  1. 제 2μ •κ·œν˜•μ„ λ§Œμ‘±ν•˜λ©΄μ„œ ν‚€κ°€ μ•„λ‹Œ λͺ¨λ“  μ• νŠΈλ¦¬λ·°νŠΈκ°€ 기본킀에 μ΄ν–‰μ μœΌλ‘œ μ’…μ†ν•˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€.
  2. κΈ°λ³Έν‚€κ°€ μ•„λ‹Œ 속성듀은 λͺ¨λ‘ 기본킀에 μ˜μ‘΄ν•΄μ•Ό ν•œλ‹€.
μ°Έκ³ ) 이행적 쒅속 
A->B, B->Cλ©΄ A->Cκ°€ μ„±λ¦½λœλ‹€.

BCNF 

  1. 제 3μ •κ·œν˜•μ„ λ§Œμ‘±ν•˜λ©΄μ„œ λͺ¨λ“  κ²°μ •μžκ°€ 후보킀여야 ν•œλ‹€.

μ—­μ •κ·œν™” κ°œλ…

μ—­μ •κ·œν™”λž€?

  1. μ •κ·œν™”λ₯Ό 지속할 수둝 쀑볡데이터가 사라지고, 갱신이상이 μ€„μ–΄λ“€μ§€λ§Œ 쑰인 νšŸμˆ˜κ°€ 증가함 
  2. 검색 μ§ˆμ˜μ—μ„œ μ„±λŠ₯을 높이기 μœ„ν•˜μ—¬ λΆ„ν•΄λœ λ¦΄λ ˆμ΄μ…˜μ„ ν•©μΉ˜λŠ” ν–‰μœ„ 

 

REFERENCE 

ORACLE을 기반으둜 ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€ 배움터, 생λŠ₯좜판, ν™μ˜κ²½ μ§€μŒ

https://gyoogle.dev/blog/computer-science/data-base/Normalization.html

 

μ •κ·œν™”(Normalization) | πŸ‘¨πŸ»‍πŸ’» Tech Interview

μ •κ·œν™”(Normalization) Normalization κ°€μž₯ 큰 λͺ©ν‘œλŠ” ν…Œμ΄λΈ” κ°„ μ€‘λ³΅λœ 데이터λ₯Ό ν—ˆμš©ν•˜μ§€ μ•ŠλŠ” 것이닀. μ€‘λ³΅λœ 데이터λ₯Ό λ§Œλ“€μ§€ μ•ŠμœΌλ©΄, 무결성을 μœ μ§€ν•  수 있고, DB μ €μž₯ μš©λŸ‰ λ˜ν•œ 효율적으둜 관리할

gyoogle.dev

https://chokyuhwan.tistory.com/27

 

CH14. μ •κ·œν™” & μ •κ·œν˜•

1. μ •κ·œν™”(Normalization) ● μ΄μƒν˜„μƒμ΄ λ°œμƒν•˜λŠ” λ¦΄λ ˆμ΄μ…˜μ„ λΆ„ν•΄ν•˜μ—¬ μ΄μƒν˜„μƒμ„ μ œκ±°ν•˜λŠ” 과정을 μ˜λ―Έν•œλ‹€. ● μ΄μƒν˜„μƒμ΄ μžˆλŠ” λ¦΄λ ˆμ΄μ…˜μ€ μ΄μƒν˜„μƒμ„ μΌμœΌν‚€λŠ” ν•¨μˆ˜ μ’…μ†μ„±μ˜ μœ ν˜•μ— 따라 λ“±

chokyuhwan.tistory.com