🐻‍❄️전곡곡뢀/λ°μ΄ν„°λ² μ΄μŠ€

λ°μ΄ν„°λ² μ΄μŠ€ 4μ£Όμ°¨ μŠ€ν„°λ”” 정리

κ³„λž€μ†Œλ…„ 2024. 9. 2. 15:34

0. λ©΄μ ‘ 질문

  • 이상 ν˜„μƒμ΄ λ­˜κΉŒμš”?
  • μ‚½μž… 이상(Insertion Anomaly)에 λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ£Όμ„Έμš”.
  • κ°±μ‹  이상(Update Anomaly)에 λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ£Όμ„Έμš”.
  • μ‚­μ œ 이상(Deletion Anomaly)에 λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ£Όμ„Έμš”.
  • ν•¨μˆ˜ 쒅속성이 λ¬΄μ—‡μΈκ°€μš”?
  • μ™„μ „ ν•¨μˆ˜μ  쒅속은 λ­”κ°€μš”?
  • λΆ€λΆ„ ν•¨μˆ˜μ  쒅속은 λ­”κ°€μš”?
  • 이행적 ν•¨μˆ˜μ  쒅속은 λ­”κ°€μš”?
  • μ •κ·œν™”(Normalization)에 λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ£Όμ„Έμš”.
  • 제 1 μ •κ·œν˜•μ— λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ£Όμ„Έμš”.
  • 제 2 μ •κ·œν˜•μ— λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ£Όμ„Έμš”.
  • 제 3 μ •κ·œν˜•μ— λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ£Όμ„Έμš”.
  • BCNF μ •κ·œν˜•μ— λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ£Όμ„Έμš”.
  • λ°˜μ •κ·œν™”μ— λŒ€ν•΄μ„œ μ„€λͺ…ν•΄μ£Όμ„Έμš”.

 

1. 이상 ν˜„μƒ

  • κ°œλ…: λ°μ΄ν„°λ² μ΄μŠ€ 섀계 μ‹œ λ°œμƒν•  수 μžˆλŠ” 비정상적인 상황
  • 주둜 λΉ„μ •κ·œν™”λœ λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ λ°œμƒν•˜λ©°, λ°μ΄ν„°μ˜ μ‚½μž…, κ°±μ‹ , μ‚­μ œ κ³Όμ •μ—μ„œ 일관성이 κΉ¨μ§€κ±°λ‚˜ μ˜ˆμƒν•˜μ§€ λͺ»ν•œ λ¬Έμ œλ“€μ΄ λ°œμƒν•˜λŠ” 것을 μ˜λ―Έ
  • μ’…λ₯˜
    • μ‚½μž… 이상: μƒˆ 데이터λ₯Ό μ‚½μž…ν•˜κΈ° μœ„ν•΄ λΆˆν•„μš”ν•œ 데이터도 ν•¨κ»˜ μ‚½μž…ν•΄μ•Ό ν•˜λŠ” 문제
    • κ°±μ‹  이상: 쀑볡 νŠœν”Œ 쀑 μΌλΆ€λ§Œ λ³€κ²½ν•˜μ—¬ 데이터가 λΆˆμΌμΉ˜ν•˜κ²Œ λ˜λŠ” λͺ¨μˆœμ˜ 문제
    • μ‚­μ œ 이상: νŠœν”Œμ„ μ‚­μ œν•˜λ©΄ κΌ­ ν•„μš”ν•œ λ°μ΄ν„°κΉŒμ§€ ν•¨κ»˜ μ‚­μ œλ˜λŠ” 데이터 μ†μ‹€μ˜ 문제
  • 데이터 μ •κ·œν™”λ₯Ό 톡해 ν•΄κ²° κ°€λŠ₯

 

μ‚½μž… 이상

  • κ°œλ…: μƒˆ 데이터λ₯Ό μ‚½μž…ν•˜κΈ° μœ„ν•΄ λΆˆν•„μš”ν•œ 데이터도 ν•¨κ»˜ μ‚½μž…ν•΄μ•Ό ν•˜λŠ” 문제
  • νŠΉμ • 데이터λ₯Ό μ‚½μž…ν•˜κΈ° μœ„ν•΄ λΆˆν•„μš”ν•œ 정보도 ν•¨κ»˜ μž…λ ₯ν•΄μ•Ό ν•˜κ±°λ‚˜, 일뢀 데이터λ₯Ό μž…λ ₯ν•  수 μ—†λŠ” 상황이 λ°œμƒ κ°€λŠ₯
  • 예λ₯Ό λ“€μ–΄, 학생과 μˆ˜μ—… 정보λ₯Ό ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”μ— μ €μž₯ν•˜λŠ” 경우, 학생이 아직 μˆ˜μ—…μ— λ“±λ‘ν•˜μ§€ μ•Šμ•˜μ§€λ§Œ 학생 정보λ₯Ό μ‚½μž…ν•΄μ•Ό ν•  λ•Œ, μˆ˜μ—… 정보가 μ—†μ–΄μ„œ 데이터λ₯Ό μ‚½μž…ν•˜μ§€ λͺ»ν•˜λŠ” κ²½μš°κ°€ λ°œμƒ κ°€λŠ₯

 

κ°±μ‹  이상

  • κ°œλ…: 쀑볡 νŠœν”Œ 쀑 μΌλΆ€λ§Œ λ³€κ²½ν•˜μ—¬ 데이터가 λΆˆμΌμΉ˜ν•˜κ²Œ λ˜λŠ” λͺ¨μˆœμ˜ 문제
  • λ™μΌν•œ 정보가 μ—¬λŸ¬ 곳에 쀑볡 μ €μž₯λ˜μ–΄ μžˆμ„ 경우, ν•œ κ³³μ—μ„œ 데이터λ₯Ό μˆ˜μ •ν–ˆμ„ λ•Œ λ‹€λ₯Έ κ³³μ—μ„œλŠ” μˆ˜μ •λ˜μ§€ μ•Šμ•„ 데이터 λΆˆμΌμΉ˜κ°€ λ°œμƒ κ°€λŠ₯
  • 예λ₯Ό λ“€μ–΄, Jeongμ΄λΌλŠ” IDλ₯Ό 가진 고객의 등급이 SilverμΌλ•Œ, 이 고객의 μž₯λ°”κ΅¬λ‹ˆμ— λ‹΄κΈ΄ μƒν’ˆμ΄ 1 3κ°œκ°€ μžˆλ‹€κ³  ν•΄λ³΄μž. μ΄λ•Œ, 이 고객의 등급이 Gold둜 바뀐닀면, 이 고객의 μž₯λ°”κ΅¬λ‹ˆμ— μžˆλŠ” μƒν’ˆ 각각의 고객의 λ“±κΈ‰ λͺ¨λ‘ Gold둜 λ°”λ€Œμ–΄μ•Ό ν•œλ‹€. ν•œ ν…Œμ΄λΈ”μ—μ„œ 등급을 λ³€κ²½ν–ˆμ§€λ§Œ λ‹€λ₯Έ ν…Œμ΄λΈ”μ—μ„œλŠ” λ³€κ²½λ˜μ§€ μ•ŠμœΌλ©΄ 데이터가 μΌκ΄€λ˜μ§€ μ•ŠμŒ

 

μ‚­μ œ 이상

  • κ°œλ…: νŠœν”Œμ„ μ‚­μ œν•˜λ©΄ κΌ­ ν•„μš”ν•œ λ°μ΄ν„°κΉŒμ§€ ν•¨κ»˜ μ‚­μ œλ˜λŠ” 데이터 μ†μ‹€μ˜ 문제
  • νŠΉμ • 데이터λ₯Ό μ‚­μ œν•˜λ €κ³  ν•  λ•Œ, μ˜λ„ν•˜μ§€ μ•Šμ€ λ‹€λ₯Έ μ •λ³΄κΉŒμ§€ ν•¨κ»˜ μ‚­μ œλ˜λŠ” 상황
  • 예λ₯Ό λ“€μ–΄, μˆ˜μ—…κ³Ό 학생 정보λ₯Ό ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”μ— μ €μž₯ν•œ 경우, νŠΉμ • μˆ˜μ—…μ„ μ‚­μ œν•˜λ €κ³  ν•  λ•Œ κ·Έ μˆ˜μ—…μ„ λ“£λŠ” 학생 μ •λ³΄κΉŒμ§€ ν•¨κ»˜ μ‚­μ œλ˜λŠ” 상황이 λ°œμƒκ°€λŠ₯ -> ν•΄λ‹Ή ν•™μƒμ˜ μ •λ³΄λŠ” μ–΄λ””μ—μ„œλ„ 찾을 수 μ—†λŠ” 데이터 손싀이 λ°œμƒ

 

μ •κ·œν™”μ˜ ν•„μš”μ„±

  • μ΄μƒν˜„μƒμ΄ λ°œμƒν•˜λŠ” 이유? κ΄€λ ¨ μ—†λŠ” 데이터듀을 ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ— λͺ¨μ•„두고 있기 λ•Œλ¬Έ
  • μ •κ·œν™”λ₯Ό 톡해 λ¦΄λ ˆμ΄μ…˜μ„ λΆ„ν•΄ν•˜λ©΄ ν•΄κ²°

 

2. ν•¨μˆ˜ 쒅속성(Functional Dependency)

  • κ°œλ…: λ°μ΄ν„°λ² μ΄μŠ€μ˜ ν•œ 속성이 λ‹€λ₯Έ 속성에 μ˜ν•΄ κ³ μœ ν•˜κ²Œ κ²°μ •λ˜λŠ” 관계
  • ν…Œμ΄λΈ”μ—μ„œ 속성 Xκ°€ 속성 Yλ₯Ό κ³ μœ ν•˜κ²Œ κ²°μ •ν•  수 μžˆλ‹€λ©΄, 속성 YλŠ” 속성 X에 ν•¨μˆ˜μ μœΌλ‘œ μ’…μ†λ˜μ–΄ μžˆλ‹€.
  • 이λ₯Ό μˆ˜ν•™μ μœΌλ‘œλŠ” X→Y둜 ν‘œν˜„
  • μ΄λ•Œ, Xλ₯Ό κ²°μ •μž, Yλ₯Ό μ’…μ†μžλΌ ν•œλ‹€.
  • μ˜ˆμ‹œ
ID 이름 λ“±κΈ‰
abc Jeong A Gold
def Kim B Silver
ghi Park C Gold
jkl Lee D Bronze
  • λ¦΄λ ˆμ΄μ…˜μ΄ μœ„μ™€ 같을 λ•Œ, IDκ°€ 이름을 κ²°μ •ν•œλ‹€κ³  λ³Ό 수 μžˆλ‹€. 
  • 주의점: ν˜„μž¬ μ‹œμ μ— λ¦΄λ ˆμ΄μ…˜μ— ν¬ν•¨λœ 속성 κ°’λ§ŒμœΌλ‘œ 쒅속 관계λ₯Ό νŒλ‹¨ν•˜λ©΄ μ•ˆ λœλ‹€.
    • 속성 값은 계속 λ³€ν•  수 μžˆκΈ°μ— -> 속성 자체의 의미λ₯Ό 기반으둜 νŒλ‹¨ν•΄μ•Ό ν•œλ‹€.

 

μ™„μ „ ν•¨μˆ˜μ  쒅속(Full FD)

  • μ–΄λ–€ 속성이 κΈ°λ³Έ ν‚€μ˜ λͺ¨λ“  속성에 λŒ€ν•΄ ν•¨μˆ˜μ μœΌλ‘œ μ’…μ†λ˜μ–΄ μžˆλŠ” 경우
  • 즉, κΈ°λ³Έ ν‚€ 전체λ₯Ό ν•„μš”λ‘œ ν•˜λ©°, κ·Έ 쀑 μΌλΆ€λ§ŒμœΌλ‘œλŠ” κ²°μ •λ˜μ§€ μ•ŠλŠ”λ‹€.
  • 예λ₯Ό λ“€μ–΄, (학생 ID, κ³Όλͺ© μ½”λ“œ)둜 이루어진 κΈ°λ³Έ 킀에 λŒ€ν•΄ ν•™μƒμ˜ 성적이 κ²°μ •λœλ‹€λ©΄, 성적은 (학생 ID, κ³Όλͺ© μ½”λ“œ)에 μ™„μ „ ν•¨μˆ˜μ μœΌλ‘œ μ’…μ†λ˜μ–΄ μžˆλ‹€.

 

λΆ€λΆ„ ν•¨μˆ˜μ  쒅속(Partial FD)

  • κΈ°λ³Έ ν‚€μ˜ 일뢀 μ†μ„±μ—λ§Œ μ˜μ‘΄ν•˜μ—¬ κ²°μ •λ˜λŠ” 쒅속성
  • 예λ₯Ό λ“€μ–΄, (학생 ID, κ³Όλͺ© μ½”λ“œ)둜 이루어진 κΈ°λ³Έ ν‚€μ—μ„œ 학생 이름이 κ²°μ •λ˜λŠ” 경우λ₯Ό μƒκ°ν•΄λ³΄μž, 학생 ID만으둜 ν•™μƒμ˜ 이름이 κ²°μ •λ˜κΈ°μ— 즉, 학생 이름은 (학생 ID)μ—λ§Œ μ˜μ‘΄ν•˜κ³  κ³Όλͺ© μ½”λ“œμ—λŠ” μ˜μ‘΄ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— λΆ€λΆ„ ν•¨μˆ˜μ  쒅속이라고 ν•œλ‹€.

 

이행적 ν•¨μˆ˜μ  쒅속(Transitive FD)

  • Aκ°€ Bλ₯Ό κ²°μ •ν•˜κ³ , Bκ°€ Cλ₯Ό κ²°μ •ν•  λ•Œ, Aκ°€ Cλ₯Ό κ°„μ ‘μ μœΌλ‘œ κ²°μ •ν•˜κ²Œ λ˜λŠ” 쒅속성
  • 예λ₯Ό λ“€μ–΄, ν•™κ³Ό μ½”λ“œκ°€ ν•™κ³Ό 이름을 κ²°μ •ν•˜κ³ , ν•™κ³Ό 이름이 ν•™κ³Όμž₯ 이름을 κ²°μ •ν•œλ‹€λ©΄, ν•™κ³Ό μ½”λ“œλŠ” ν•™κ³Όμž₯ 이름을 μ΄ν–‰μ μœΌλ‘œ κ²°μ •ν•˜λŠ” 것

 

3. μ •κ·œν™”(Normalization)?

  • κ°œλ…
    • λ°μ΄ν„°λ² μ΄μŠ€ 섀계 κ³Όμ •μ—μ„œ 이상 ν˜„μƒμ„ μ΅œμ†Œν™”ν•˜κ³  λ°μ΄ν„°μ˜ 일관성을 μœ μ§€ν•˜κΈ° μœ„ν•΄ 데이터λ₯Ό μ—¬λŸ¬ 개의 μž‘μ€ ν…Œμ΄λΈ”λ‘œ λ‚˜λˆ„λŠ” 과정이닀. 즉, μ΄μƒν˜„μƒμ„ μ—†μ• λŠ” 과정이닀.
    • λ”°λΌμ„œ μ •κ·œν™”λ₯Ό μ§„ν–‰ν•˜λ©΄ 즉, μ •κ·œν˜•μ΄ λ†’μ•„μ§ˆμˆ˜λ‘ μ΄μƒν˜„μƒμ€ 쀄어든닀.
    • 데이터 쀑볡을 μ€„μž„μœΌλ‘œμ¨ 무결성을 μœ μ§€ν•˜κ³ , λ°μ΄ν„° κ°±μ‹  μ‹œ 비정상적인 λ™μž‘μ„ λ°©μ§€ν•œλ‹€.
    • μ°¨μˆ˜κ°€ 높은 μ •κ·œν˜•μ— μ†ν•˜λŠ” λ¦΄λ ˆμ΄μ…˜μΌμˆ˜λ‘ 데이터 쀑볡이 쀄어 데이터 쀑볡에 μ˜ν•œ 이상 ν˜„μƒμ΄ λ°œμƒν•˜μ§€ μ•ŠλŠ” λ°”λžŒμ§ν•œ λ¦΄λ ˆμ΄μ…˜μΌ 수 μžˆμ§€λ§Œ, λ¦΄λ ˆμ΄μ…˜μ˜ νŠΉμ„±μ„ κ³ λ €ν•΄μ„œ μ ν•©ν•œ μ •κ·œν˜•μ„ 선택해야 ν•œλ‹€.
  • μž₯점
    • λ°μ΄ν„°λ² μ΄μŠ€ λ³€κ²½ μ‹œ 이상 ν˜„μƒ 제거 κ°€λŠ₯
    • μ •κ·œν™”λœ λ°μ΄ν„°λ² μ΄μŠ€ κ΅¬μ‘°μ—μ„œλŠ” μƒˆλ‘œμš΄ 데이터 ν˜•μ˜ μΆ”κ°€λ‘œ μΈν•œ ν™•μž₯ μ‹œ, κ·Έ ꡬ쑰λ₯Ό λ³€κ²½ν•˜μ§€ μ•Šμ•„λ„ λ˜κ±°λ‚˜ μΌλΆ€λ§Œ 변경해도 λœλ‹€.
    • λ°μ΄ν„°λ² μ΄μŠ€μ™€ μ—°λ™λœ μ‘μš© ν”„λ‘œκ·Έλž¨μ— μ΅œμ†Œν•œμ˜ 영ν–₯
  • 단점
    • 쿼리에 λŒ€ν•œ 응닡 속도가 느렀질 수 μžˆλ‹€.
    • JOIN 연산이 λ§Žμ•„μ§„λ‹€. -> λ°˜μ •κ·œν™”λ‘œ ν•΄κ²° κ°€λŠ₯

 

제 1μ •κ·œν˜•

    • λ¦΄λ ˆμ΄μ…˜μ— μ†ν•œ λͺ¨λ“  μ†μ„±μ˜ 도메인이 μ›μž κ°’μœΌλ‘œλ§Œ κ΅¬μ„±λ˜μ–΄ 있으면 제 1μ •κ·œν˜•μ— μ†ν•œλ‹€.
    • ν…Œμ΄λΈ” λ‚΄μ˜ λͺ¨λ“  ν•„λ“œκ°€ μ›μžκ°’μœΌλ‘œλ§Œ 이루어져 μžˆμ–΄μ•Ό ν•œλ‹€λŠ” 쑰건을 λ§Œμ‘±ν•˜λŠ” μ •κ·œν˜•
    • 즉, ν…Œμ΄λΈ”μ˜ 각 μ»¬λŸΌμ— ν•˜λ‚˜μ˜ κ°’λ§Œ μ‘΄μž¬ν•΄μ•Ό ν•˜λ©°, λ°˜λ³΅λ˜λŠ” κ·Έλ£Ήμ΄λ‚˜ μ€‘μ²©λœ 데이터 ꡬ쑰가 μ—†μ–΄μ•Ό ν•œλ‹€.
    • κΈ°λ³Έν‚€κ°€ μ•„λ‹Œ 속성듀이 기본킀에 λΆ€λΆ„ν•¨μˆ˜ μ’…μ†λ˜μ–΄ 있기 λ•Œλ¬Έμ— λ°œμƒ
    • μ•„λž˜ ν‘œμ—μ„œ 이벀트번호,당첨여뢀 λΌλŠ” 속성은 닀쀑 κ°’ μ†μ„±μ΄λ―€λ‘œ μ΄λŠ” 제1μ •κ·œν˜•μ˜ μ œμ•½μ‘°κ±΄μ„ λ§Œμ‘±ν•˜μ§€ λͺ»ν•œλ‹€.
ID 이벀트번호 당첨여뢀
Kim A12,B13 Y,N
Lee B11 N

 

제 2μ •κ·œν˜•

  • 제 1 μ •κ·œν˜•μ„ λ§Œμ‘±ν•˜λ©΄μ„œ, ν…Œμ΄λΈ” λ‚΄μ˜ λͺ¨λ“  κΈ°λ³Έν‚€κ°€ μ•„λ‹Œ μ†μ„±μ΄ κΈ°λ³Έ 킀에 λŒ€ν•΄ μ™„μ „ ν•¨μˆ˜μ  쒅속성을 κ°€μ Έμ•Ό ν•œλ‹€λŠ” 쑰건을 λ§Œμ‘±ν•˜λŠ” μ •κ·œν˜•
  • λΆ€λΆ„ ν•¨μˆ˜μ  쒅속성을 μ œκ±°ν•˜μ—¬, κΈ°λ³Έ ν‚€μ˜ μΌλΆ€μ—λ§Œ μ’…μ†λœ 속성이 μ—†μ–΄μ•Ό ν•œλ‹€.
  • μ˜ˆμ‹œ
    • 속성: ID, μ΄λ²€νŠΈλ²ˆν˜Έ, λ“±κΈ‰, ν• μΈμœ¨, 당첨여뢀
      • ID -> λ“±κΈ‰, ν• μΈμœ¨
      • λ“±κΈ‰ -> ν• μΈμœ¨
      • ID, 이벀트번호 -> 당첨여뢀
    • 고객 λ¦΄λ ˆμ΄μ…˜κ³Ό 이벀트 λ¦΄λ ˆμ΄μ…˜μœΌλ‘œ λΆ„ν•΄
    • 고객 λ¦΄λ ˆμ΄μ…˜
      • ID -> λ“±κΈ‰, ν• μΈμœ¨
      • λ“±κΈ‰ -> ν• μΈμœ¨
    • 이벀트 λ¦΄λ ˆμ΄μ…˜
      • ID, 이벀트번호 -> 당첨여뢀

 

제 3μ •κ·œν˜•

  • 제 2 μ •κ·œν˜•μ„ λ§Œμ‘±ν•˜λ©΄μ„œ, κΈ°λ³Έν‚€κ°€ μ•„λ‹Œ λͺ¨λ“  속성이 κΈ°λ³Έν‚€μ— μ΄ν–‰μ  ν•¨μˆ˜μ  쒅속이 μ—†μ–΄μ•Ό ν•œλ‹€λŠ” 쑰건을 λ§Œμ‘±ν•˜λŠ” μ •κ·œν˜•
  • 이행적 ν•¨μˆ˜ μ’…μ†μ˜ 경우 X -> Y, Y -> Z 이면 X -> Zκ°€ 성립함을 의미
  • 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ X,Y μ†μ„±μ˜ λ¦΄λ ˆμ΄μ…˜κ³Ό Y,Z μ†μ„±μ˜ λ¦΄λ ˆμ΄μ…˜μœΌλ‘œ λΆ„ν•΄
  • 즉, κΈ°λ³Έ ν‚€κ°€ μ•„λ‹Œ 속성이 λ‹€λ₯Έ λΉ„κΈ°λ³Έ 속성을 κ²°μ •ν•˜μ§€ μ•Šλ„λ‘ ν…Œμ΄λΈ”μ„ ꡬ성

 

BCNFμ •κ·œν˜•

  • 제 3 μ •κ·œν˜•μ„ λ§Œμ‘±ν•˜λ©΄μ„œ, λͺ¨λ“  κ²°μ •μžκ°€ 후보 ν‚€(candidate key)인 μ •κ·œν˜•
  • ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ— μ—¬λŸ¬ 후보킀가 μ‘΄μž¬ν•  경우, 제 3μ •κ·œν˜•κΉŒμ§€ λͺ¨λ‘ λ§Œμ‘±ν•˜λ”λΌλ„ 이상 ν˜„μƒμ΄ λ°œμƒ κ°€λŠ₯
  • 후보킀가 μ—¬λŸ¬κ°œμΈ λ¦΄λ ˆμ΄μ…˜μ—μ„œ λ°œμƒν•  수 μžˆλŠ” μ΄μƒν˜„μƒμ„ ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μ‚¬μš©
  • 제 3 μ •κ·œν˜•μ€ κΈ°λ³Έ ν‚€λ₯Ό κΈ°μ€€μœΌλ‘œ 쒅속성을 νŒλ‹¨ν•˜μ§€λ§Œ, BCNFλŠ” 후보 ν‚€λ₯Ό κΈ°μ€€μœΌλ‘œ 쒅속성을 νŒλ‹¨ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό 더 μ—„κ²©ν•˜κ²Œ μ •κ·œν™”ν•œλ‹€.
  • μ˜ˆμ‹œ
    • λ¦΄λ ˆμ΄μ…˜μ—μ„œ (ν•™μƒλ²ˆν˜Έ, κ³Όλͺ©)이 κΈ°λ³Έν‚€λ‘œ μ§€λ„κ΅μˆ˜λ₯Ό μ•Œ 수 μžˆλ‹€κ³  ν•˜μž, κ·ΈλŸ¬λ‚˜ μ§€λ„κ΅μˆ˜λ₯Ό μ•Œλ©΄ κ³Όλͺ©μ„ μ•Œ 수 μžˆμœΌλ―€λ‘œ, μ§€λ„κ΅μˆ˜ → κ³Όλͺ© 이 쒅속적이닀.
    • 즉, 후보킀 집합에 μ†ν•˜μ§€ μ•Šμ€ κ²°μ •μžκ°€ μ‘΄μž¬ν•˜λ―€λ‘œ BCNFλ₯Ό λ§Œμ‘±ν•˜μ§€ μ•ŠλŠ”λ‹€.

 

λ°˜μ •κ·œν˜•

  • μ„±λŠ₯ μ΅œμ ν™”λ₯Ό μœ„ν•΄ μ •κ·œν™”λœ λ°μ΄ν„°λ² μ΄μŠ€ ꡬ쑰λ₯Ό μΌλΆ€λŸ¬ λΉ„μ •κ·œν™”ν•˜λŠ” κ³Όμ •
  • μ •κ·œν™”λœ κ΅¬μ‘°λŠ” λ°μ΄ν„°μ˜ 일관성과 무결성을 λ†’μ΄μ§€λ§Œ, 일뢀 경우 μ„±λŠ₯ μ €ν•˜λ₯Ό μ΄ˆλž˜ν•  수 μžˆλ‹€. λ”°λΌμ„œ μ„±λŠ₯을 κ°œμ„ ν•˜κΈ° μœ„ν•΄ 데이터 쀑볡을 ν—ˆμš©ν•˜κ±°λ‚˜ ν…Œμ΄λΈ”μ„ κ²°ν•©ν•˜λŠ” λ°©μ‹μœΌλ‘œ λ°˜μ •κ·œν™”λ₯Ό μ μš©ν•  수 μžˆλ‹€.

 

λ©΄μ ‘ ν”Όλ“œλ°±

  • 쑰리있게 말을 ν•˜λŠ”λ°, 속도가 λΉ¨λžλ‹€.
  • λ‚˜λ„ λ§ν•˜λ©΄μ„œ λ‚΄κ°€ λΉ λ₯΄λ‹€λŠ”κ±Έ λŠκΌˆλ‹€...