Topcit

[탑싯 λŒ€λΉ„ λ¬Έμ œν’€μ΄] 02. 데이터 이해와 ν™œμš©

ν΄λ‘œμ΄πŸ“ 2023. 10. 26. 23:57

쑸업해야지,,,

 

 

1번. λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œ

λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œ = λ°μ΄ν„°λ² μ΄μ„œ + λ°μ΄ν„°λ² μ΄μŠ€ 관리 μ‹œμŠ€ν…œ

 

μŠ€ν‚€λ§ˆ(Schema)

λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯λ˜λŠ” 데이터 ꡬ쑰와 μ œμ•½μ‘°κ±΄μ„ μ •μ˜ν•œ 것

μŠ€ν‚€λ§ˆ : λ°μ΄ν„°λ² μ΄μŠ€ : ν…Œμ΄λΈ” = 평면도 : 집 : λ°©

 

μΈμŠ€ν„΄μŠ€(Instance)

μŠ€ν‚€λ§ˆμ— 따라 λ°μ΄ν„°λ² μ΄μŠ€μ— μ‹€μ œλ‘œ μ €μž₯된 κ°’

개체 μΈμŠ€ν„΄μŠ€ = λ ˆμ½”λ“œ

 

λ°μ΄ν„°λ² μ΄μŠ€μ˜ 3단계 ꡬ쑰

λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‰½κ²Œ μ΄ν•΄ν•˜κ³  μ΄μš©ν•  수 μžˆλ„λ‘ ν•˜λ‚˜μ˜ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό 관점에 따라 μ„Έ λ‹¨κ³„λ‘œ λ‚˜λˆˆ 것

  1. μ™ΈλΆ€ 단계 - κ°œλ³„ μ‚¬μš©μž 관점
    - λ°μ΄ν„°λ² μ΄μŠ€ ν•˜λ‚˜μ— μ™ΈλΆ€ μŠ€ν‚€λ§ˆκ°€ μ—¬λŸ¬ 개 μ‘΄μž¬ν•  수 μžˆλ‹€.
    - μ™ΈλΆ€ μŠ€ν‚€λ§ˆ = μ„œλΈŒ μŠ€ν‚€λ§ˆ
    - μ™ΈλΆ€ λ‹¨κ³„μ—μ„œ μ‚¬μš©μžμ—κ²Œ ν•„μš”ν•œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ •μ˜ν•œ 것
    - 각 μ‚¬μš©μžκ°€ μƒκ°ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ˜ λͺ¨μŠ΅, 논리적 ꡬ쑰둜 μ‚¬μš©μžλ§ˆλ‹€ λ‹€λ₯Έ λͺ¨μŠ΅

  2. κ°œλ… 단계 - 쑰직 μ „μ²΄μ˜ 관점, 논리적인 ꡬ쑰와 μœ μ‚¬
    - λ°μ΄ν„°λ² μ΄μŠ€ ν•˜λ‚˜μ— κ°œλ… μŠ€ν‚€λ§ˆκ°€ ν•˜λ‚˜λ§Œ μ‘΄μž¬ν•œλ‹€.
    - κ°œλ… μŠ€ν‚€λ§ˆ = μŠ€ν‚€λ§ˆ
    - 전체 λ°μ΄ν„°λ² μ΄μŠ€μ— μ–΄λ–€ 데이터가 μ €μž₯λ˜λŠ”μ§€, 데이터듀 κ°„μ˜ 관계와 μ œμ•½μ‘°κ±΄μ„ μ •μ˜ν•œλ‹€.
    - λ˜ν•œ 데이터에 λŒ€ν•œ λ³΄μ•ˆ μ •μ±…μ΄λ‚˜ μ ‘κ·Ό κΆŒν•œμ— λŒ€ν•œ μ •μ˜λ„ ν¬ν•¨ν•œλ‹€.

  3. λ‚΄λΆ€ 단계 - 물리적인 μ €μž₯ μž₯치의 관점, μ‹€μ§ˆμ μΈ λ‚΄μš©
    - λ°μ΄ν„°λ² μ΄μŠ€ ν•˜λ‚˜μ— λ‚΄λΆ€ μŠ€ν‚€λ§ˆκ°€ ν•˜λ‚˜λ§Œ μ‘΄μž¬ν•œλ‹€.
    - λ‚΄λΆ€ μŠ€ν‚€λ§ˆ = μ €μž₯ μŠ€ν‚€λ§ˆ
    - 전체 λ°μ΄ν„°λ² μ΄μŠ€κ°€ μ €μž₯ μž₯μΉ˜μ— μ‹€μ œλ‘œ μ €μž₯λ˜λŠ” 방법을 μ •μ˜ν•œ 것이닀.
    - λ ˆμ½”λ“œ ꡬ쑰, ν•„λ“œ 크기, λ ˆμ½”λ“œ μ ‘κ·Ό 경둜 λ“± 물리적인 μ €μž₯ ꡬ쑰λ₯Ό μ •μ˜ν•œλ‹€.

 

3단계 λ°μ΄ν„°λ² μ΄μŠ€ ꡬ쑰의 사상 λ˜λŠ” 맀핑

  • λ°μ΄ν„°μ˜ 독립성을 μ‹€ν˜„ν•œλ‹€.
  • μŠ€ν‚€λ§ˆ μ‚¬μ΄μ˜ λŒ€μ‘ 관계 / 관계와 관계λ₯Ό μ •μ˜ν•˜λŠ” 것이닀.
  • 미리 μ •μ˜λœ 사상 정보λ₯Ό μ΄μš©ν•΄ μ‚¬μš©μžκ°€ μ›ν•˜λŠ” 데이터에 μ ‘κ·Όν•œλ‹€. (κ³ κ°λΆ„μ„νŒ€μ—μ„œ 고객 정보 데이터 μ ‘κ·Ό)
  • λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό 3단계 ꡬ쑰둜 λ‚˜λˆ„κ³  λ‹¨κ²Œλ³„λ‘œ μŠ€ν‚€λ§ˆλ₯Ό μœ μ§€ν•˜λ©° μŠ€ν‚€λ§ˆ μ‚¬μ΄μ˜ λŒ€μ‘ 관계λ₯Ό μ •μ˜ν•˜λŠ” λͺ©μ μ΄λ‹€.

  1. μ™ΈλΆ€/κ°œλ… 사상 - μ‘μš© μΈν„°νŽ˜μ΄μŠ€
    μ™ΈλΆ€ μŠ€ν‚€λ§ˆμ™€ κ°œλ… μŠ€ν‚€λ§ˆμ˜ λŒ€μ‘ 관계
  2. κ°œλ…/λ‚΄λΆ€ 사상 - μ €μž₯ μΈν„°νŽ˜μ΄μŠ€
    κ°œλ… μŠ€ν‚€λ§ˆμ™€ λ‚΄λΆ€ μŠ€ν‚€λ§ˆμ˜ λŒ€μ‘ 관계

 

λ°μ΄ν„°μ˜ 독립성

파일 μ‹œμŠ€ν…œμ˜ 쒅속성 문제λ₯Ό ν•΄κ²°ν•˜κ³  ν•˜μœ„ μŠ€ν‚€λ§ˆλ₯Ό λ³€κ²½ν•˜λ”λΌλ„ μƒμœ„ μŠ€ν‚€λ§ˆκ°€ 영ν–₯을 받지 μ•ŠλŠ” νŠΉμ„±μ΄λ‹€.

  1. 논리적 데이터 독립성 (μ‘μš© μΈν„°νŽ˜μ΄μŠ€ 독립성 μœ μ§€)
    - κ°œλ… μŠ€ν‚€λ§ˆκ°€ λ³€κ²½λ˜μ–΄λ„ μ™ΈλΆ€ μŠ€ν‚€λ§ˆκ°€ 영ν–₯을 받지 μ•ŠλŠ”λ‹€.
    - κ°œλ… μŠ€ν‚€λ§ˆκ°€ λ³€κ²½λ˜λ©΄ κ΄€λ ¨λœ μ™ΈλΆ€/κ°œλ… μ‚¬μƒλ§Œ μ •ν™•ν•˜κ²Œ μˆ˜μ •ν•΄μ£Όλ©΄ λœλ‹€.
  2. 물리적 데이터 독립성 (μ €μž₯ μΈν„°νŽ˜μ΄μŠ€ 독립성 μœ μ§€)
    - λ‚΄λΆ€ μŠ€ν‚€λ§ˆκ°€ λ³€κ²½λ˜μ–΄λ„ κ°œλ… μŠ€ν‚€λ§ˆλŠ” 영ν–₯을 받지 μ•ŠλŠ”λ‹€.
    - λ‚΄λΆ€ μŠ€ν‚€λ§ˆκ°€ λ³€κ²½λ˜λ©΄ κ΄€λ ¨λœ κ°œλ…/λ‚΄λΆ€ μ‚¬μƒλ§Œ μ •ν™•ν•˜κ²Œ μˆ˜μ •ν•΄μ£Όλ©΄ λœλ‹€.

 

 

2번. μΈκ³΅μ§€λŠ₯ κ΅¬ν˜„ 기술

  1. μ „λ¬Έκ°€ μ‹œμŠ€ν…œμ€ λ°©λŒ€ν•œ 지식 체계λ₯Ό κ·œμΉ™μœΌλ‘œ ν‘œν˜„ν•˜μ—¬ 데이터λ₯Ό μž…λ ₯ν•˜λ©΄ 컴퓨터가 정해진 κ·œμΉ™μ— 따라 νŒλ‹¨μ„ 내리도둝 ν•œλ‹€. If-then-else ν˜•νƒœλ‘œ κ΅¬μ„±λ˜λŠ” μ‹œμŠ€ν…œμœΌλ‘œ κ·œμΉ™μ˜ μ’…λ₯˜κ°€ λ§Žμ„μˆ˜λ‘ 정확도가 높아진닀.
  2. 인곡 신경망은 기계 ν•™μŠ΅ λΆ„μ•Όμ—μ„œ μ—°κ΅¬λ˜κ³  μžˆλŠ” ν•™μŠ΅ μ•Œκ³ λ¦¬μ¦˜λ“€ 쀑 ν•˜λ‚˜λ‘œ, μΈκ°„μ˜ λ‡Œμ˜ λ‰΄λŸ°κ³Ό μ‹œλƒ…μŠ€μ˜ 연결을 ν”„λ‘œκ·Έλž¨μœΌλ‘œ μž¬ν˜„ν•˜λŠ” 것이닀.
  3. λ”₯ λŸ¬λ‹μ€ μž…λ ₯κ³Ό 좜λ ₯ 사이에 μžˆλŠ” 인곡 λ‰΄λŸ°λ“€μ„ μ—¬λŸ¬ 개 측측히 μŒ“κ³  μ—°κ²°ν•œ 인곡 신경망 기법을 주둜 λ‹€λ£¨λŠ” 연ꡬ이닀. 단일 측이 μ•„λ‹Œ μ‹€μ œ λ‡Œμ²˜λŸΌ μ—¬λŸ¬ κ³„μΈ΅μœΌλ‘œ λ˜μ–΄μžˆλ‹€.
  4. μœ μ „ μ•Œκ³ λ¦¬μ¦˜μ€ μžμ—°μ˜ 진화 과정을 λͺ¨λ°©ν•œ 연ꡬ이닀. μ–΄λ–€ μ„ΈλŒ€λ₯Ό κ΅¬μ„±ν•˜λŠ” 개체ꡰ의 ꡐ배와 λŒμ—°λ³€μ΄ 과정을 톡해 μ„ΈλŒ€λ₯Ό λ°˜λ³΅μ‹œμΌœ νŠΉμ •ν•œ 문제의 μ μ ˆν•œ 닡을 μ°ΎλŠ” 것이닀.

 

 

3번. 빅데이터 μ €μž₯/처리 기술

 

 

4번. λΆ„μ‚° λ°μ΄ν„°λ² μ΄μŠ€

λΆ„μ‚° λ°μ΄ν„°λ² μ΄μŠ€μ˜ νŠΉμ§•

λ„€νŠΈμ›Œν¬ μƒμ—μ„œ μ—¬λŸ¬ 컴퓨터에 물리적으둜 λΆ„μ‚°λ˜μ–΄ μžˆμ§€λ§Œ μ‚¬μš©μžκ°€ ν•˜λ‚˜μ˜ λ°μ΄ν„°λ² μ΄μŠ€μ²˜λŸΌ 인식할 수 μžˆλ„λ‘ λ…Όλ¦¬μ μœΌλ‘œ ν†΅ν•©λ˜μ–΄ κ³΅μœ λ˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ˜λ―Έν•œλ‹€.

 

ꡬ성 μš”μ†Œ

  • λΆ„μ‚° 처리기
    자체적으둜 처리 λŠ₯λ ₯을 가지면 μ§€λ¦¬μ μœΌλ‘œ λΆ„μ‚°λ˜μ–΄ μžˆλŠ” 컴퓨터 μ‹œμŠ€ν…œμ„ λ§ν•œλ‹€.

  • λΆ„μ‚° λ°μ΄ν„°λ² μ΄μŠ€
    μ§€λ¦¬μ μœΌλ‘œ λΆ„μ‚°λ˜μ–΄ μžˆλŠ” λ°μ΄ν„°λ² μ΄μŠ€λ‘œμ„œ ν•΄λ‹Ή μ§€μ—­μ˜ νŠΉμ„±μ— 맞게 λ°μ΄ν„°λ² μ΄μŠ€κ°€ κ΅¬μ„±λœλ‹€.

  • 톡신 λ„€νŠΈμ›Œν¬
    λΆ„μ‚°μ²˜λ¦¬κΈ°λ“€μ„ ν†΅μ‹ λ§μœΌλ‘œ μ—°κ²°ν•˜μ—¬ λ…Όλ¦¬μ μœΌλ‘œ ν•˜λ‚˜μ˜ μ‹œμŠ€ν…œμ²˜λŸΌ μž‘λ™ν•  수 μžˆλ„λ‘ ν•˜λŠ” 톡신 λ„€νŠΈμ›Œν¬λ₯Ό λ§ν•œλ‹€.

 

μž₯점

  • μžμ‹ μ˜ 데이터λ₯Ό μ§€μ—­μ μœΌλ‘œ μ œμ–΄ν•˜μ—¬ 원격 데이터에 λŒ€ν•œ μ˜μ‘΄λ„ κ°μ†Œ
  • 단일 μ„œλ²„μ—μ„œ λΆˆκ°€λŠ₯ν•œ λŒ€μš©λŸ‰ μ²˜λ¦¬κ°€ κ°€λŠ₯
  • κΈ°μ‘΄ μ‹œμŠ€ν…œμ— μ„œλ²„λ₯Ό μΆ”κ°€ν•˜μ—¬ μ μ§„μ μœΌλ‘œ ν™•μž₯ κ°€λŠ₯
  • ν•œ μ‚¬μ΄νŠΈκ°€ κ³ μž₯λ‚˜λ”λΌλ„ ν•΄λ‹Ή μ‚¬μ΄νŠΈμ˜ λ°μ΄ν„°λ§Œ μ‚¬μš©ν•˜μ§€ λͺ»ν•˜λ―€λ‘œ 신뒰도와 κ°€μš©μ„± ν–₯상

 

단점

  • λΆ„μ‚° 처리둜 인해 λ³΅μž‘λ„ 증가, μ†Œν”„νŠΈμ›¨μ–΄ 개발 λΉ„μš© 증가
  • ν†΅μ œ κΈ°λŠ₯이 μ·¨μ•½
  • λΆ„μ‚° μ²˜λ¦¬μ— λ”°λ₯Έ 였λ₯˜ λ°œμƒ κ°€λŠ₯μ„± 증가
  • 데이터가 물리적으둜 μ €μž₯된 μ‹œμŠ€ν…œμ˜ 상황에 따라 응닡 μ†λ„μ˜ λΆˆκ·œμΉ™μ„±
  • λ°μ΄ν„°μ˜ 무결성 보μž₯의 어렀움

λΆ„μ‚° λ°μ΄ν„°λ² μ΄μŠ€μ˜ ꡬ쑰

 

투λͺ…μ„±

νŠΉμ§• μ„€λͺ…
λΆ„ν•  투λͺ…μ„± - ν•˜λ‚˜μ˜ 논리적 λ¦΄λ ˆμ΄μ…˜μ΄ μ—¬λŸ¬ λ‹¨νŽΈμœΌλ‘œ λΆ„ν• λ˜μ–΄ 각 λ‹¨νŽΈμ˜ 사본이 μ—¬λŸ¬ μ‚¬μ΄νŠΈμ— μ €μž₯λ˜μ–΄ μžˆμŒμ„ μ‚¬μš©μžκ°€ μ•Œ ν•„μš”κ°€ μ—†λŠ” μ„±μ§ˆ
- 수직 λΆ„ν• : ν•œ λ¦΄λ ˆμ΄μ…˜μ„ μ†μ„±λ“€μ˜ λΆ€λΆ„ μ§‘ν•©μœΌλ‘œ 이루어진 λ¦΄λ ˆμ΄μ…˜μœΌλ‘œ λ‚˜λˆ”
- μˆ˜ν‰ λΆ„ν• : ν•œ λ¦΄λ ˆμ΄μ…˜μ„ νŠœν”Œλ“€μ˜ λΆ€λΆ„ μ§‘ν•©μœΌλ‘œ 이루어진 λ¦΄λ ˆμ΄μ…˜μœΌλ‘œ λ‚˜λˆ”
μœ„μΉ˜ 투λͺ…μ„± - μ‚¬μš©μžλ‚˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ λΆ„μ‚° λ°μ΄ν„°λ² μ΄μŠ€ 상에 μ‘΄μž¬ν•˜λŠ” λ°μ΄ν„°μ˜ 물리적인 μœ„μΉ˜λ₯Ό μ•Œ ν•„μš”κ°€ μ—†λ‹€.
- μ‚¬μš©μžλŠ” λ°μ΄ν„°μ˜ μœ„μΉ˜λ‚˜ μž…λ ₯ μ‹œμŠ€ν…œμ˜ μœ„μΉ˜μ™€ λ¬΄κ΄€ν•˜κ²Œ λ™μΌν•œ λͺ…령을 μ‚¬μš©ν•˜μ—¬ 데이터에 μ ‘κ·Όν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.
쀑볡 투λͺ…μ„± - μ–΄λ–€ 데이터가 μ€‘λ³΅λ˜μ—ˆλŠ”μ§€, λ˜λŠ” 어디에 쀑볡 데이터λ₯Ό λ³΄κ΄€ν•˜κ³  μžˆλŠ”μ§€ μ‚¬μš©μžκ°€ μ•Œ ν•„μš”κ°€ μ—†μ–΄μ•Ό ν•œλ‹€.
- μ‚¬μš©μžλŠ” μžμ‹ μ΄ μ‚¬μš©ν•˜λŠ” 데이터가 λ…Όλ¦¬μ μœΌλ‘œ μœ μΌν•˜λ‹€κ³  생각할 수 μžˆμ–΄μ•Ό ν•œλ‹€.
μž₯μ•  투λͺ…μ„± - λΆ„μ‚°λ˜μ–΄ μžˆλŠ” 각 컴퓨터 μ‹œμŠ€ν…œμ΄λ‚˜ λ„€νŠΈμ›Œν¬μ— μž₯μ• κ°€ λ°œμƒν•˜λ”λΌλ„ λ°μ΄ν„°μ˜ 무결성이 보μž₯λ˜μ–΄μ•Ό ν•œλ‹€.
- κ·Έ ꡬ성 μš”μ†Œμ˜ μž₯애에 λ¬΄κ΄€ν•˜κ²Œ νŠΈλžœμž­μ…˜μ˜ μ›μžμ„±μ„ μœ μ§€ν•΄μ•Όν•œλ‹€.
병행 투λͺ…μ„± - λ‹€μˆ˜ νŠΈλžœμž­μ…˜μ΄ λ™μ‹œμ— μˆ˜ν–‰λ˜μ–΄λ„ 결과의 일관성이 μœ μ§€λ˜λŠ” μ„±μ§ˆμ΄λ‹€.
- λΆ„μ‚° νŠΈλžœμž­μ…˜μ˜ 일관성을 μœ μ§€ν•˜κΈ° μœ„ν•΄ 잠금(Locking)κ³Ό νƒ€μž„μŠ€νƒ¬ν”„(Timestamp)의 두 가지 방법을 μ‚¬μš©ν•œλ‹€.

 

 

5번. ER λ‹€μ΄μ–΄κ·Έλž¨, μ²Έ(Chen) λͺ¨ν˜•

피터첸에 μ˜ν•΄ ER(Entity Realationship Model)μ΄λΌλŠ” ν‘œκΈ°λ²•μ΄ λ§Œλ“€μ–΄ μ‘Œλ‹€. λ°μ΄ν„°μ˜ ꡬ성과 연관성을 λ‚˜νƒ€λ‚΄λŠ” 데이터 λͺ¨λΈλ§ λ°©μ‹μœΌλ‘œ κ°€μž₯ λ¨Όμ € μ œμ‹œλœ λͺ¨λΈμ΄λ‹€.

 

 

ER λͺ¨λΈ ν‘œκΈ°λ²•

μš”μ†Œ ν‘œκΈ° 의미 μš”μ†Œ ν‘œκΈ° 의미
개체 - μ˜λ―ΈμžˆλŠ” ν•˜λ‚˜μ˜ 정보 λ‹¨μœ„
- 물리적 객체: 학생, μžλ™μ°¨, κ°•μ˜μ‹€
- κ°œλ…μ  객체: ν”„λ‘œμ νŠΈ, 직업, ꡐ과λͺ©
- 자체 μ‹λ³„μž(킀속성)을 κ°–λŠ”λ‹€
속성 - 개체의 본질적 μ„±μ§ˆμ„ λ‚˜νƒ€λ‚Έλ‹€.
μ•½μ„±
개체
- 자체 μ‹λ³„μžλ₯Ό 갖지 μ•ŠλŠ” 개체 킀속성 - 자체 μ‹λ³„μž
- λͺ¨λ“  개체의 μ§‘ν•©μ—μ„œ 항상 μœ μΌν•œ 값을 κ°–λŠ” 속성이닀.
관계
νƒ€μž…
- κ°œμ²΄λ“€ μ‚¬μ΄μ˜ μ—°κ΄€μ„± λΆ€λΆ„
킀속성
- μ•½μ„± 속성
- μ‹λ³„μžλ₯Ό 갖지 μ•Šκ³  식별 속성 역할을 ν•˜λŠ” λ‹€λ₯Έ 속성과 μ—°κ²°λ˜μ–΄μ•Ό ν•œλ‹€.
식별
관계
- μ•½μ„± κ°œμ²΄μ™€ 식별 개체λ₯Ό μ—°κ²°ν•˜λŠ” 관계 닀쀑
킀속성
- μ—¬λŸ¬ 값을 λ™μ‹œμ— κ°€μ§ˆ 수 μžˆλŠ” 속성이닀.
관계 - 1:1, 1:N, N:M λ“±μ˜ 개체 관계에 λŒ€ν•΄ μ„  μœ„μ— λŒ€μ‘μˆ˜λ₯Ό λ‚˜νƒ€λ‚Έλ‹€. μœ λ„
속성
- μ €μž₯된 λ°μ΄ν„°λ‘œ μœ λ„κ°€ κ°€λŠ₯ 속성
μ„  - ν™”μ‚΄ν‘œλ₯Ό ν‘œκΈ°ν•˜μ§€ μ•ŠλŠ”λ‹€.
- 개체의 νƒ€μž…κ³Ό 속성을 μ—°κ²°ν•œλ‹€.
볡합
속성
- λ‘˜ μ΄μƒμ˜ μš”μ†Œλ‘œ λΆ„ν•΄κ°€ κ°€λŠ₯ν•œ 속성

 

 

κ΄€κ³„μ˜ λŒ€μ‘μˆ˜

λŒ€μ‘μˆ˜ ν‘œν˜„ 예
μΌλŒ€μΌ (1:1)
μΌλŒ€λ‹€ (1:N or N:1)
λ‹€λŒ€λ‹€ (M:N)

μ‚¬μ§„μΆœμ²˜: https://liveyourit.tistory.com/208

 

 

ν™•μž₯ ER λͺ¨λΈ

μΌλ°˜ν™”/νŠΉμˆ˜ν™” - μΌλ°˜ν™” : ν•˜λ‚˜μ˜ μ—”ν‹°ν‹° νƒ€μž…μ„ λ‹€μˆ˜μ˜ ν•˜μœ„ 레벨 μ—”ν‹°ν‹° νƒ€μž…μœΌλ‘œ λΆ„λ¦¬ν•˜λŠ” 것을 의미
- νŠΉμˆ˜ν™” : λ‹€μˆ˜μ˜ μ—”ν‹°ν‹° νƒ€μž…μ„ ν•˜λ‚˜μ˜ μƒμœ„ 레벨 μ—”ν‹°ν‹° νƒ€μž…μœΌλ‘œ ν†΅ν•©ν•˜λŠ” 것을 의미

- μ„œλ‘œ μ—­μ˜ 관계에 있으며 IS-A 관계라고 ν•œλ‹€.
- 상속 κ°œλ…μ΄ μ μš©λœλ‹€.
집단화 - μ—¬λŸ¬ μ—”ν‹°ν‹°(속성)의 μ§‘ν•©μœΌλ‘œ μƒˆλ‘œμš΄ μ—”ν‹°ν‹°λ₯Ό μ •μ˜ν•˜λŠ” 것
- IS-PART-OF 관계라고 ν•œλ‹€.
- 상속 κ°œλ…μ΄ μ μš©λ˜μ§€ μ•ŠλŠ”λ‹€.

 

 

6번. μ •κ·œν™”

쒅속성에 λŒ€ν•œ μ—„λ°€ν•œ κ³ λ € 없이 잘λͺ» μ„€κ³„λœ κ΄€κ³„ν˜• μŠ€ν‚€λ§ˆμ—μ„œλŠ” 데이터 처리 μ—°μ‚° μˆ˜ν–‰ μ‹œ 각쒅 이상 ν˜„μƒμ΄ λ°œμƒν•  수 μžˆλ‹€. 이런 이상 ν˜„μƒμ€ λ°μ΄ν„°λ² μ΄μŠ€μ˜ ν…Œμ΄λΈ”μ„ 더 μž‘μ€ μ†μ„±μ˜ μ„ΈνŠΈλ‘œ μͺΌκ°œμ–΄ λ°”λžŒμ§ν•œ μŠ€ν‚€λ§ˆλ‘œ λ§Œλ“€μ–΄κ°ˆ 수 μžˆλ‹€.

 

μ΄μƒν˜„μƒμ˜ μ’…λ₯˜

  1. μ‚½μž… 이상
    - μ–΄λ–€ 정보λ₯Ό μ‚½μž…ν•˜κ³ μž ν•  λ•Œ, μ›ν•˜μ§€ μ•ŠλŠ” μ •λ³΄κΉŒμ§€ ν•¨κ»˜ μ‚½μž„ν•΄μ•Όλ§Œ ν•˜λŠ” ν˜„μƒ
  2. μ‚­μ œ 이상
    - μ–΄λ–€ 정보λ₯Ό μ‚­μ œν•˜κ³ μž ν•  λ•Œ, ν•„μš”ν•œ μ •λ³΄κΉŒμ§€ ν•¨κ»˜ μ‚­μ œλ˜μ–΄μ•Ό ν•˜λŠ” ν˜„μƒ
  3. μˆ˜μ • 이상 (κ°±μ‹  이상)
    - μ–΄λ–€ 정보λ₯Ό μˆ˜μ •ν•˜κ³ μž ν•  λ•Œ, λ™μΌν•œ λ‚΄μš©μ„ μ—¬λŸ¬ 건의 λ°μ΄ν„°μ—μ„œ 반볡 μˆ˜μ •ν•΄μ•Ό ν•˜λŠ” ν˜„μƒ

 

μž₯점

  • λ°μ΄ν„°λ² μ΄μŠ€ λ³€κ²½ μ‹œ μ΄μƒν˜„μƒμ„ μ œκ±°ν•  수 μžˆλ‹€.
  • μ •κ·œν™”λœ λ°μ΄ν„°λ² μ΄μŠ€ κ΅¬μ‘°μ—μ„œλŠ” μƒˆλ‘œμš΄ λ°μ΄ν„°ν˜•μ˜ μΆ”κ°€λ‘œ μΈν•œ ν™•μž₯ μ‹œ, κ·Έ ꡬ쑰λ₯Ό λ³€κ²½ν•˜μ§€ μ•Šμ•„λ„ λ˜κ±°λ‚˜ μΌλΆ€λ§Œ 변경해도 λœλ‹€. 데이터 μΆ”κ°€ μ‹œ ꡬ쑰 λ³€κ²½ μ΅œμ†Œν™”
  • λ°μ΄ν„°λ² μ΄μŠ€μ™€ μ—°λ™λœ μ‘μš© ν”„λ‘œκ·Έλž¨μ— μ΅œμ†Œν•œμ˜ 영ν–₯λ§Œμ„ 미치게 λ˜μ–΄ μ‘μš© ν”„λ‘œκ·Έλž¨μ˜ 생λͺ…을 μ—°μž₯μ‹œν‚¨λ‹€.

단점

  • λ¦΄λ ˆμ΄μ…˜μ˜ λΆ„ν•΄λ‘œ λ¦΄λ ˆμ΄μ…˜κ°„μ˜ JOIN연산이 λ§Žμ•„μ§„λ‹€.
  • μ§ˆμ˜μ— λŒ€ν•œ 응닡 μ‹œκ°„μ΄ 느렀질 μˆ˜λ„ μžˆλ‹€. 쀑볡 속성을 μ œκ±°ν•˜κ³  κ²°μ •μžμ— μ˜ν•΄ λ™μΌν•œ 의미의 일반 속성이 ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”λ‘œ μ§‘μ•½λ˜λ―€λ‘œ ν•œ ν…Œμ΄λΈ”μ˜ 데이터 μš©λŸ‰μ΄ μ΅œμ†Œν™”κ°€ λ˜λŠ” νš¨κ³Όκ°€ μžˆλ‹€.
  • 데이터λ₯Ό μ²˜λ¦¬ν•  λ•Œ 속도가 빨라질 μˆ˜λ„, 느렀질 μˆ˜λ„ μžˆλ‹€.
  • JOIN이 많이 λ°œμƒν•΄ μ„±λŠ₯ μ €ν•˜κ°€ λ‚˜νƒ€λ‚˜λ©΄ λ°˜μ •κ·œν™”λ₯Ό μ μš©ν•  μˆ˜λ„ μžˆλ‹€.

 

 

μ—¬κΈ°μ„œλΆ€ν„° 좜처: https://code-lab1.tistory.com/48

ν•¨μˆ˜ 쒅속성 (FD, Functional Dependency)

ν…Œμ΄λΈ”μ—μ„œ μ •μ˜λœ ν•„λ“œλ“€μ˜ 뢀뢄집합 X와 Yμ—μ„œ, μž„μ˜μ˜ λ ˆμ½”λ“œ 쌍 t1, t2의 X값이 λ™μΌν•˜λ©΄ 두 λ ˆμ½”λ“œμ˜ Y값도 동일할 λ•Œ, YλŠ” X에 ν•¨μˆ˜μ μœΌλ‘œ μ’…μ†λœλ‹€κ³  ν•œλ‹€.

ν‘œν˜„: X → Y

  • Xλ₯Ό Y의 κ²°μ •μž(Determinant)라고 ν•œλ‹€.
  • XλŠ” Yλ₯Ό κ²°μ •ν•œλ‹€.(Determine)
  • YλŠ” X에 μ’…μ†ν•œλ‹€.(Dependent)
  • μ˜ˆμ‹œ: 주민번호  μ΄λ¦„, μ‚¬λžŒμ— λŒ€ν•œ ν…Œμ΄λΈ”μ—μ„œ 두 λ ˆμ½”λ“œμ˜ μ£Όλ―Όλ²ˆν˜Έκ°€ κ°™λ‹€λ©΄ 두 λ ˆμ½”λ“œμ˜ 이름도 항상 κ°™λ‹€.

 

 

 

 

 

  • λ¦΄λ ˆμ΄μ…˜μ˜ 속성 : μ§μ‚¬κ°ν˜•
  • 속성 κ°„μ˜ ν•¨μˆ˜ 쒅속성 : ν™”μ‚΄ν‘œ
  • 볡합 속성 : μ§μ‚¬κ°ν˜•μœΌλ‘œ 묢음

 

 

ν•¨μˆ˜ 쒅속성 κ·œμΉ™ 

적용 κ·œμΉ™ 사둀 μ„€λͺ…
뢀뢄집합 κ·œμΉ™
if Y⊆ X, then X → Y
(ν•™κ³Ό, μ£Όμ†Œ) → ν•™κ³Ό ν•™κ³ΌλŠ” (ν•™κ³Ό, μ£Όμ†Œ)의 뢀뢄집합 μ†μ„±μ΄λ―€λ‘œ
(ν•™κ³Ό, μ£Όμ†Œ) → ν•™κ³Ό 성립
증가 κ·œμΉ™
if X → Y, then XZ → YZ
(ν•™μƒλ²ˆν˜Έ, κ°•μ’Œμ΄λ¦„)
(학생이름, κ°•μ’Œμ΄λ¦„)
학생 번호 → 학생 이름 μ΄λ―€λ‘œ κ°•μ’Œλ₯Ό μΆ”κ°€ν•΄
(학생 번호, κ°•μ’Œ 이름) → (학생 이름, κ°•μ’Œ 이름) 성립
이행 κ·œμΉ™
if X → Y and Y → Z,

then X → Z
학생 번호 → ν•™κ³Ό 사무싀 학생 번호 → ν•™κ³Ό, ν•™κ³Ό → ν•™κ³Ό 사무싀 μ΄λ―€λ‘œ
이행 κ·œμΉ™μ„ μ μš©ν•΄ 학생 번호 → ν•™κ³Ό 사무싀 성립
κ²°ν•© κ·œμΉ™
if X → Y and X → Z,

then X → YZ
학생 번호 → (학생이름, μ£Όμ†Œ) 학생 번호 → 학생 이름, 학생 번호 → μ£Όμ†Œ μ΄λ―€λ‘œ
κ²°ν•© κ·œμΉ™μ„ μ μš©ν•΄ ν•™μƒλ²ˆν˜Έ → (학생이름, μ£Όμ†Œ) 성립
λΆ„ν•΄ κ·œμΉ™
if X → YZ,

then X → Y and X → Z
학생 번호 → 학생 이름,
학생 번호 → μ£Όμ†Œ
학생 번호 → (학생이름, μ£Όμ†Œ) μ΄λ―€λ‘œ λΆ„ν•΄ν•˜μ—¬
학생 번호 → 학생이름, 학생 번호 → μ£Όμ†Œ
μœ μ‚¬μ΄ν–‰ κ·œμΉ™
if X → Z and WY → Z,

then WX → Z
(κ°•μ’Œ 이름, 학생 이름) → μ„±μ • 학생 이름 → ν•™μƒλ²ˆν˜Έ (학생 이름이 μ€‘λ³΅ν•œ κ²½μš°κ°€ 없을 λ•Œ)
(κ°•μ’Œμ΄λ¦„, ν•™μƒλ²ˆν˜Έ) → μ„±μ μ΄λ―€λ‘œ μœ μ‚¬μ΄ν–‰ κ·œμΉ™μ„ μ μš©ν•΄ (κ°•μ’Œμ΄λ¦„, 학생이름) → 성적 성립

 

 

ν•¨μˆ˜ μ’…μ†μ„±μ˜ μœ ν˜•

μœ ν˜• κ°œλ…
μ™„μ „ν•¨μˆ˜ 쒅속 Full Functional Dependency
X X 이고, X' → Yλ₯Ό λ§Œμ‘±ν•˜λŠ” μ• νŠΈλ¦¬λ·°νŠΈ X'이 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€.
λΆ€λΆ„ ν•¨μˆ˜ 쒅속 (2FN)
Partial Funtional Dependency
X' ⊂ X 이고, X' → Yλ₯Ό λ§Œμ‘±ν•˜λŠ” μ• νŠΈλ¦¬λ·°ν„° X'이 μ‘΄μž¬ν•œλ‹€.
μ΄ν–‰ν•¨μˆ˜μ  쒅속성 (3FN)
Transitive Dependence
λ¦΄λ ˆμ΄μ…˜ Rμ—μ„œ 속성 A → X 이고, X → Y 이면 A → Y 이닀.
κ²°μ •μž ν•¨μˆ˜μ  쒅속성(BCNF) Boyce-code Normalization
ν•¨μˆ˜μ  쒅속이 λ˜λŠ” κ²°μž₯μžκ°€ 후보킀가 μ•„λ‹Œ 경우
X → Yμ—μ„œ, Xκ°€ 후보킀가 μ•„λ‹ˆλ‹€.

 

 

μ •κ·œν™” μ μš©ν•˜κΈ°

제1 μ •κ·œν˜• (1NF)

  • 각 컬럼이 ν•˜λ‚˜μ˜ μ†μ„±λ§Œμ„ κ°€μ Έμ•Ό ν•œλ‹€.
  • ν•˜λ‚˜μ˜ μ»¬λŸΌμ€ 같은 μ’…λ₯˜λ‚˜ νƒ€μž…μ˜ 값을 κ°€μ Έμ•Ό ν•œλ‹€.
  • 각 컬럼이 μœ μΌν•œ 이름을 κ°€μ Έμ•Ό ν•œλ‹€.
  • 칼럼의 μˆœμ„œκ°€ 상관없어야 ν•œλ‹€.
 
 

 

 

제 2 μ •κ·œν˜• (2NF)

  • 1 μ •κ·œν˜•μ„ λ§Œμ‘±ν•΄μ•Ό ν•œλ‹€.
  • λͺ¨λ“  컬럼이 뢀뢄적 쒅속이 μ—†μ–΄μ•Ό ν•œλ‹€. → λͺ¨λ“  컬럼이 μ™„μ „ ν•¨μˆ˜ 쒅속을 λ§Œμ‘±ν•΄μ•Ό ν•œλ‹€.
  • 쒌츑의 ν…Œμ΄λΈ”μ—μ„œ (ν•™λ²ˆ, κ³Όλͺ©μ½”λ“œ) → (κ³Όλͺ©λͺ…) 의 ν•¨μˆ˜ μ’…μ†μ—μ„œ (κ³Όλͺ©μ½”λ“œ) → (κ³Όλͺ©λͺ…) 의 λΆ€λΆ„ ν•¨μˆ˜ 쒅속이 μ‘΄μž¬ν•œλ‹€.
  • 학점을 μ•ŒκΈ° μœ„ν•΄μ„œλŠ” (ν•™λ²ˆ + κ³Όλͺ©μ½”λ“œ)κ°€ μžˆμ–΄μ•Ό ν•œλ‹€. ν•˜μ§€λ§Œ νŠΉμ •κ³Όλͺ©μ˜ κ³Όλͺ© μ½”λ“œλ₯Ό μ•Œλ©΄ κ³Όλͺ©λͺ…을 μ•Œ 수 μžˆλ‹€.

 

 

제 3 μ •κ·œν˜• (3NF)

  • 2 μ •κ·œν˜•μ„ λ§Œμ‘±ν•΄μ•Ό ν•œλ‹€.
  • κΈ°λ³Έν‚€λ₯Ό μ œμ™Έν•œ 속성듀 κ°„μ˜ 이행 쒅속성이 μ—†μ–΄μ•Ό ν•œλ‹€.
  • 쒌츑의 ν…Œμ΄λΈ”μ—μ„œ (ν•™λ²ˆ) → (ν•™κ³Ό), (ν•™κ³Ό) → (ν•™κ³Ό 사무싀)이 이행 ν•¨μˆ˜ 쒅속이 μ‘΄μž¬ν•œλ‹€.
  • ν•™λ²ˆμ„ μ•Œλ©΄ ν•™κ³Όλ₯Ό μ•Œ 수 있고, ν•™κ³Όλ₯Ό μ•Œλ©΄ ν•™κ³Ό 사무싀을 μ•Œ 수 μžˆλ‹€, 우츑 ν…Œμ΄λΈ”μ—μ„œλŠ” ν•™λ²ˆμ„ μ•Œλ©΄ ν•™κ³Ό 사무싀을 μ•Œ 수 μžˆλ‹€.

 

 

 

BCNF (Boyce-Codd Normal Form)

  • 제 3 μ •κ·œν˜•μ„ μ’€ 더 κ°•ν™”ν•œ 버전이닀.
  • 제 3 μ •κ·œν˜•μ„ λ§Œμ‘±ν•΄μ•Ό ν•œλ‹€.
  • λͺ¨λ“  κ²°μ •μžκ°€ 후보킀 집합에 속해야 ν•œλ‹€. 즉, 후보킀 집합에 μ—†λŠ” 칼럼이 κ²°μ •μžκ°€ λ˜μ–΄μ„œλŠ” μ•ˆλœλ‹€λŠ” λœ»μ΄λ‹€.
  • 쒌츑의 ν…Œμ΄λΈ”μ—μ„œ (ꡐ수, κ³Όλͺ©λͺ…) → (ꡐ재λͺ…), (ꡐ재λͺ…) → (κ³Όλͺ©λͺ…)의 ν•¨μˆ˜ 쒅속 관계가 μ‘΄μž¬ν•œλ‹€κ³  κ°€μ •ν•˜μž.
  • 쒌츑 ν…Œμ΄λΈ”μ€ 후보킀가 μ•„λ‹Œ ν•¨μˆ˜ 쒅속 (ꡐ재λͺ…) → (κ³Όλͺ©λͺ…)이 μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έμ— 보이슀-μ½”λ“œ μ •κ·œν˜•μ΄ μ•„λ‹ˆλ‹€.
  • 우츑과 같이 두 개의 ν…Œμ΄λΈ”λ‘œ λΆ„ν• ν•΄μ•Όν•œλ‹€.

'Topcit' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[탑싯 λŒ€λΉ„ λ¬Έμ œν’€μ΄] 01. μ†Œν”„νŠΈμ›¨μ–΄ 개발  (0) 2023.10.17