728x90
λ°˜μ‘ν˜•

데이터 λͺ¨λΈλ§μ˜ 이해

  • 데이터 λͺ¨λΈλ§ κ°œμš”
  • μ—”ν„°ν‹°
  • 속성
  • 관계 with ERD
  • μ‹λ³„μž
  • μ„±λŠ₯ 데이터 λͺ¨λΈλ§
  • μ •κ·œν™”
  • λ°˜μ •κ·œν™”
  • 기타 말문제 κ°œλ… 정리

 

1) 데이터 λͺ¨λΈλ§μ˜ νŠΉμ§•

  • 좔상화 : ν˜„μ‹€ 세계λ₯Ό μΌμ •ν•œ ν˜•μ‹μ— 맞좰 ν‘œν˜„ν•˜κΈ° μœ„ν•¨
  • μ •ν™•ν™” : λˆ„κ΅¬λ‚˜ 이해할 수 μžˆλ„λ‘ ν˜„μƒμ„ 기술
  • λ‹¨μˆœν™” : λ³΅μž‘ν•œ ν˜„μ‹€μ„ μ΄ν•΄ν•˜κΈ° μ‰½κ²Œ μ œν•œλœ 언어와 ν‘œκΈ°λ²•μœΌλ‘œ λ‹¨μˆœν•˜κ²Œ ν‘œν˜„ν•˜κΈ° μœ„ν•¨
    >>> ν˜„μ‹€μ„Έκ³„λ₯Ό λ‹¨μˆœν•˜κ²Œ μΆ”μƒν™”ν•˜μ—¬ μ •ν™•ν•˜κ²Œ κ³΅μœ ν•˜λŠ” μž‘μ—…μ΄ 데이터 λͺ¨λΈλ§!!
  • μ •λ³΄μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•˜κΈ° μœ„ν•œ 업무 뢄석 기법
  • ν˜„μ‹€μ„Έκ³„μ˜ 데이터에 λŒ€ν•΄ μ•½μ†λœ ν‘œκΈ°λ²•μœΌλ‘œ ν‘œν˜„
  • λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΅¬μΆ•ν•˜κΈ° μœ„ν•œ 뢄석과 섀계λ₯Ό μœ„ν•œ κ³Όμ •

 

데이터 λͺ¨λΈλ§μ˜ μœ μ˜μ‚¬ν•­

  • 쀑볡성 :  쀑볡을 μ΅œμ†Œν™”ν•΄μ•Ό 함(같은 정보λ₯Ό μ—¬λŸ¬λ²ˆ μ €μž₯ν•˜λŠ” 것은 지양)
  • λΉ„μœ μ—°μ„± : λ°μ΄ν„°μ˜ μ •μ˜ <=> 데이터 μ‚¬μš© ν”„λ‘œμ„ΈμŠ€, ν”„λ‘œκ·Έλž¨ <=> ν…Œμ΄λΈ” κ°„μ˜ 연계성을 μ€„μ—¬μ„œ, 
             λ°μ΄ν„° ν˜Ήμ€ ν”„λ‘œμ„ΈμŠ€μ˜ λ³€ν™”κ°€ λ°μ΄ν„°λ² μ΄μŠ€μ— μ€‘λŒ€ν•œ λ³€ν™”λ₯Ό μ΄ˆλž˜ν•˜μ§€ μ•Šλ„λ‘ μœ μ—°ν•˜κ²Œ 관리해야 함
  • 비일관성 : 'μ•½μ†λœ ν‘œκΈ°λ²•'을 μ€€μš©ν•˜λŠ” λ“± 업무λ₯Ό λͺ…ν™•ν•˜κ²Œ μ •μ˜ν•΄μ„œ 정보 κ΄€λ¦¬μ˜ 일관성을 μ΅œλŒ€ν™” 해야함

 

데이터 λͺ¨λΈλ§μ˜ 단계

  • κ°œλ…μ  데이터 λͺ¨λΈλ§ : 좔상화 μˆ˜μ€€μ΄ λ†’μŒ, 전사적 λͺ¨λΈλ§ μ‹œ 많이 함, 포괄적 μˆ˜μ€€μ˜ λͺ¨λΈλ§
  • 논리적 데이터 λͺ¨λΈλ§ : Key, 속성, 관계 등을 μ •ν™•νžˆ κΈ°μˆ ν•˜λŠ” λͺ¨λΈλ§
  • 물리적 데이터 λͺ¨λΈλ§ : μ‹€μ œλ‘œ 데이터 λ² μ΄μŠ€μ— 이식 κ°€λŠ₯ν•˜λ„λ‘ μ €μž₯, μ„±λŠ₯ λ“± 물리적인 νŠΉμ„±μ„ κ³ λ €ν•œ λͺ¨λΈλ§

 

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

  • μ™ΈλΆ€μŠ€ν‚€λ§ˆ : [μ‚¬μš©μž 관점] μ‘μš©ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜λŠ” κ°œλ³„ μ‚¬μš©μž κ΄€μ μœΌλ‘œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ •μ˜ν•˜λŠ” ꡬ쑰
  • κ°œλ…μŠ€ν‚€λ§ˆ : [톡합 관점] λͺ¨λ“  μ‚¬μš©μžμ˜ 관점을 ν†΅ν•©ν•œ 쑰직 μ „μ²΄μ˜ κ΄€μ μ˜ 톡합적 데이터 베이슀 ꡬ쑰
  • λ‚΄λΆ€μŠ€ν‚€λ§ˆ : [개발자 관점] μ–΄λ–€ 데이터λ₯Ό μ–΄λ–»κ²Œ μ €μž₯ν•  것인지 λ°μ΄ν„°λ² μ΄μŠ€μ˜ 물리적 μ €μž₯ ꡬ쑰

 

λ°μ΄ν„°μ˜ ꡬ성

 

μ—”ν„°ν‹°(Entity) μ€‘μš”!!!

  • ν•΄λ‹Ή μ—…λ¬΄μ—μ„œ ν•„μš”ν•˜κ³  κ΄€λ¦¬ν•΄μ•Όν•˜λŠ” 정보여야 함
  • μœ μΌν•œ μ‹λ³„μžμ— μ˜ν•΄ 식별이 κ°€λŠ₯ν•΄μ•Ό 함 (ex νšŒμ› ν…Œμ΄λΈ” 상 고객번호)
  • ν•˜λ‚˜μ˜ μ—”ν„°ν‹°λŠ” λ°˜λ“œμ‹œ 2개 μ΄μƒμ˜ μΈμŠ€ν„΄μŠ€λ₯Ό κ°€μ Έμ•Ό 함
  • ν•˜λ‚˜μ˜ μ—”ν„°ν‹°λŠ” λ°˜λ“œμ‹œ 속성이 μžˆμ–΄μ•Ό 함 (2개 이상)
  • ν•˜λ‚˜μ˜ μ—”ν„°ν‹°λŠ” λ°˜λ“œμ‹œ 1개 μ΄μƒμ˜ 관계가 μžˆμ–΄μ•Ό 함 (톡계성, μ½”λ“œμ„± μ—”ν„°ν‹° μ œμ™Έ)

 

- λ°œμƒ μ‹œμ μ— λ”°λ₯Έ μ—”ν„°ν‹° λΆ„λ₯˜

  • κΈ°λ³Έμ—”ν„°ν‹° : 독립적 μƒμ„±λ˜λŠ” μ—”ν„°ν‹°
  • 쀑심엔터티 : κΈ°λ³Έ μ—”ν„°ν‹°λ‘œλΆ€ν„° λ°œμƒν•˜κ³  ν–‰μœ„ μ—”ν„°ν‹°λ₯Ό 생성함
  • ν–‰μœ„μ—”ν„°ν‹° : κΈ°λ³Έ, 쀑심 μ—”ν„°ν‹° λ“± 2개 μ΄μƒμ˜ μ—”ν„°ν‹°λ‘œλΆ€ν„° λ°œμƒν•¨

 

- 물리적 ν˜•νƒœμ— λ”°λ₯Έ μ—”ν„°ν‹° λΆ„λ₯˜

  • μœ ν˜•μ—”ν„°ν‹° : 물리적 ν˜•νƒœκ°€ μžˆλŠ” μ—”ν„°ν‹°
  • κ°œλ…μ—”ν„°ν‹° : 물리적 ν˜•νƒœλŠ” μ—†μ§€λ§Œ κ΄€λ¦¬ν•΄μ•Όν•˜λŠ” κ°œλ…μ  정보
  • 사전엔터티 : λΉ„μ¦ˆλ‹ˆμŠ€ ν”„λ‘œμ„ΈμŠ€ 쀑 μƒκΈ°λŠ” μ—”ν„°ν‹°

 

 

속성(Column)

  • μΈμŠ€ν„΄μŠ€μ—μ„œ κ΄€λ¦¬ν•˜κ³ μž ν•˜λŠ” μ˜λ―Έκ°€ 더 이상 λΆ€λ¦¬λ˜μ§€ μ•ŠλŠ” μ΅œμ†Œμ˜ 데이터 λ‹¨μœ„
  • 1개의 속성은 1개의 속성값을 가진닀
  • 기본속성 / 섀계속성 / νŒŒμƒμ†μ„±
    - 섀계 속성 : μ½”λ“œμ„± 컬럼, 일련번호 λ“± κ·œμΉ™ν™”λ₯Ό μœ„ν•œ 속성
    - νŒŒμƒ 속성 : κ³„μ‚°λœ κ°’ (ν…Œμ΄λΈ” 내에 μ μ„μˆ˜λ‘ μ’‹μŒ)
    - κΈ°λ³Έ 속성 : 업무상 λ°”λ‘œ μ •μ˜κ°€ κ°€λŠ₯ν•œ 속성(이름, κ³„μ’Œλ²ˆν˜Έ, 주문일자..)

 

EX) 은행은 κ³ κ°μ—κ²Œ μ§€κΈ‰λ˜λŠ” μ›”λ‹¨μœ„ '이자'λ₯Ό κ΄€λ¦¬ν•˜κ³ μž ν•œλ‹€. μ΄λ•Œ μ΄μžλŠ” μ–΄λ–€ μ†μ„±μΌκΉŒ? νŒŒμƒμ†μ„±

ex) κ·Έλ ‡λ‹€λ©΄, 예금 λΆ„λ₯˜μ— 따라 κ΄€λ¦¬λ˜λŠ” '이자율'은 μ–΄λ–€ μ†μƒμΌκΉŒ? 기본속성

 

  • 각 속성이 κ°€μ§ˆ 수 μžˆλŠ” κ°’μ˜ λ²”μœ„λ₯Ό μ†μ„±μ˜ '도메일'이라고 함 (데이터 νƒ€μž…, 크기, μ œμ•½μ‚¬ν•­ λ“± 지정)
    ex) μ€ν–‰κ³„μ’Œ λΌλŠ” μ—”ν„°ν‹°κ°€ μžˆμ„ λ•Œ, κ³„μ’Œλͺ…μ΄λΌλŠ” 속성은 길이가 20자리 μ΄λ‚΄μ˜ λ¬Έμžμ—΄λ‘œ μ •μ˜

 

관계 with ERD(Entity-Relationship Model)

  • ν•˜λ‚˜μ˜ μ—”ν„°ν‹°λŠ” 1개 μ΄μƒμ˜ 관계λ₯Ό κ°€μ Έμ•Ό 함(톡계성, μ½”λ“œμ„± μ—”ν„°ν‹° μ œμ™Έ)
  • κ΄€κ³„μ˜ ꡬ뢄 : ν–‰μœ„μ— μ˜ν•œ 관계, μ‘΄μž¬μ— μ˜ν•œ 관계
    >> ERD μ—μ„œλŠ” 두 관계λ₯Ό ꡬ뢄없이 λ™μΌν•œ ν‘œκΈ°λ²•μœΌλ‘œ ν‘œν˜„ν•¨
    (단, ν΄λž˜μŠ€λ‹€μ΄μ–΄κ·Έλž¨μ—μ„œλŠ” κ΅¬λΆ„ν•˜μ—¬ 연관관계와 μ˜μ‘΄κ΄€κ³„λ‘œ μ‹€μ„ κ³Ό μ μ„ μ˜ ν‘œκΈ°λ²•μœΌλ‘œ λ‹€λ₯΄κ²Œ ν‘œν˜„ν•¨)

 

* 두 개의 μ—”ν„°ν‹° μ‚¬μ΄μ—μ„œ 관계λ₯Ό λ„μΆœν•  λ•Œ 체크해야 ν•˜λŠ” 사항

  • κ΄€μ‹¬μžˆλŠ” μ—°κ΄€κ·œμΉ™ μ—¬λΆ€
  • μ •λ³΄μ˜ μ‘°ν•© μ—¬λΆ€
  • μ—…λ¬΄κΈ°μˆ μ„œ, μž₯ν‘œμ— 관계연결을 κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” 동사 μ—¬λΆ€
  • μ—…λ¬΄κΈ°μˆ μ„œ, μž₯ν‘œμ— 관계연결에 λŒ€ν•œ κ·œμΉ™ μ„œμˆ  μ—¬λΆ€

 

* ERD μž‘μ„±μˆœμ„œ

1) μ—”ν„°ν‹° λ„μΆœ & 그리기

2) μ—”ν„°ν‹° 배치(κ°€μž₯ μ€‘μš”ν•œ μ—”ν„°ν‹°λ₯Ό 쒌츑 상단에 배치, μΆ”κ°€ λ°œμƒν•˜λŠ” μ—”ν„°ν‹°λŠ” 우츑과 ν•˜λ‹¨μ— 배치)

 

3) μ—”ν„°ν‹° κ°„μ˜ 관계λ₯Ό μ„€μ •

4) μ—”ν„°ν‹° κ°„μ˜ 관계λͺ… 기술

 

식별관계와 비식별관계!!!

 

5) κ΄€κ³„μ˜ 참여도 기술(1:1, 1:N, M:N)

6) κ΄€κ³„μ˜ ν•„μˆ˜μ—¬λΆ€ 기술(ν•„μˆ˜μ  관계 : I, 선택적 관계 : O)

 

 

μ‹λ³„μž ꡬ뢄

 

λŒ€ν‘œμ„± μ—¬λΆ€

  • μ£Όμ‹λ³„μž : μœ μΌμ„±, μ΅œμ†Œμ„±, λŒ€ν‘œμ„±μ„ λ§Œμ‘±ν•˜λŠ” μ‹λ³„μžμ΄λ©° 타 엔터티와 μ°Έμ‘° κ΄€κ³„λ‘œ 연결될 수 μžˆλ‹€.(Primary Key)
  • λ³΄μ‘°μ‹λ³„μž : μœ μΌμ„±, μ΅œμ†Œμ„±μ€ λ§Œμ‘±ν•˜μ§€λ§Œ λŒ€ν‘œμ„±μ„ 갖지 λͺ»ν•˜λŠ” μ‹λ³„μžμ΄λ‹€.

μ†μ„±μ˜ 수

  • 단일 μ‹λ³„μž
  • 볡합 μ‹λ³„μž : 2κ°Έ μ΄μƒμ˜ 속성을 κ΅¬μ„±λœ μ‹λ³„μž

 

 

슀슀둜 생성 μ—¬λΆ€

  • λ‚΄λΆ€ μ‹λ³„μž : μ—”ν„°ν‹° λ‚΄μ—μ„œ μƒμ„±λœ μ‹λ³„μž
  • μ™ΈλΆ€ μ‹λ³„μž : 타 μ—”ν„°ν‹°μ™€μ˜ 관계λ₯Ό 톡해 λ°›μ•„μ˜€λŠ” μ‹λ³„μž(Foreign Key)

λŒ€μ²΄ μ—¬λΆ€

  • 본질 μ‹λ³„μž : 업무에 μ˜ν•΄ λ§Œλ“€μ–΄μ§€λŠ” μ‹λ³„μž
  • 인쑰 μ‹λ³„μž : λ³΅μž‘ν•œ 원쑰 μ‹λ³„μž λŒ€μ‹ μ— μΈμœ„μ μœΌλ‘œ λ§Œλ“€μ–΄μ§„ μ‹λ³„μž(ex. 일련번호)

 

μ£Όμ‹λ³„μž

  • μœ μΌμ„± : μ£Όμ‹λ³„μžμ— μ˜ν•΄ μ—”ν„°ν‹° 속 λͺ¨λ“  μΈμŠ€ν„΄μŠ€λ“€μ΄ μœ μΌν•˜κ²Œ ꡬ뢄될 수 μžˆμ–΄μ•Ό 함
  • μ΅œμ†Œμ„± : μ£Όμ‹λ³„μžλ₯Ό κ΅¬μ„±ν•˜λŠ” μ†μ„±μ˜ μˆ˜λŠ” μœ μΌμ„±μ„ λ§Œμ‘±ν•˜λŠ” μ΅œμ†Œμ˜ μˆ˜κ°€ λ˜μ–΄μ•Ό 함
  • λΆˆλ³€μ„± : μ§€μ •λœ μ£Όμ‹λ³„μžμ˜ 값은 자주 λ³€ν•˜μ§€ μ•ŠλŠ” 것이어야 함
  • μ‘΄μž¬μ„± : μ£Όμ‹λ³„μžκ°€ μ§€μ •λ˜λ©΄ λ°˜λ“œμ‹œ 값이 μžˆμ–΄μ•Ό 함(NULL)

 

2) 데이터 λͺ¨λΈκ³Ό μ„±λŠ₯

 

μ„±λŠ₯ 데이터 λͺ¨λΈλ§

  • λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ„±λŠ₯ ν–₯상을 μœ„ν•΄ 뢄석/섀계 단계뢀터 μ„±λŠ₯κ³Ό κ΄€λ ¨λœ 사항이 데이터 λͺ¨λΈλ¦¬μ— λ°˜μ˜λ˜λ„λ‘ ν•˜λŠ” 것
  • λ°μ΄ν„°μ˜ 증가가 λΉ λ₯Όμˆ˜λ‘ μ„±λŠ₯ κ°œμ„  λΉ„μš©μ΄ 증가함
  • 섀계단계뢀터 κ³ λ €ν•  μ…©μš° λΉ„μš© μ΅œμ†Œν™”κ°€ κ°€λŠ₯함

 

μ„±λŠ₯ 데이터 λͺ¨λΈλ§ μˆœμ„œ

  1. 데이터 λͺ¨λΈλ§ μ‹œ μ •κ·œν™”λ₯Ό μ •ν™•νžˆ μˆ˜ν–‰ν•¨
  2. λ°μ΄ν„°λ² μ΄μŠ€ μš©λŸ‰μ„ 산정함
  3. λ°μ΄ν„°λ² μ΄μŠ€μ— λ°œμƒν•˜λŠ” νŠΈλžœμž­μ…˜ μœ ν˜•μ„ νŒŒμ•…ν•¨
  4. μš©λŸ‰κ³Ό νŠΈλžœμž­μ…˜μ˜ μœ ν˜•μ— 따라 λ°˜μ •κ·œν™”λ₯Ό μˆ˜ν–‰ν•¨
  5. 이λ ₯λͺ¨λΈ, PK/FK μ‘°μ •, μŠˆνΌνƒ€μž…/μ„œλΈŒνƒ€μž… 쑰정을 μˆ˜ν–‰ν•¨

 

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

  • 데이터λ₯Ό λΆ„ν•΄ν•˜λŠ” κ³Όμ •
  • λͺ©μ  : λ°μ΄ν„°μ˜ 쀑볡을 μ΅œμ†Œν™”ν•˜κ³ , μœ μ—°μ„±μ„ 가지며, 변경을 μ΅œμ†Œν™”ν•˜κ³ , 데이터가 일관될 수 μžˆλ„λ‘ ν•˜λŠ” 방법
  • 제 1~5 μ •κ·œν™”κ°€ μžˆμ§€λ§Œ, 주둜 1~3 μ •κ·œν™”κΉŒμ§€ μˆ˜ν–‰ν•¨

 

* 제1μ •κ·œν™”

  • κΈ°λ³Έν‚€λ₯Ό μ„€μ •ν•˜λŠ” κ³Όμ •
  • μ†μ„±μ˜ μ›μžμ„±κ³Ό μ—”ν„°ν‹°μ˜ μœ μΌμ„±μ„ 확보함
  • λͺ¨λ“  속성이 μ‹λ³„μžμ— μ’…μ†λ˜μ–΄μ•Ό 함
    Xκ°€ λ³€ν•˜λ©΄ Yκ°€ λ³€ν•œλ‹€(TλŠ” X에 ν•¨μˆ˜μ μœΌλ‘œ 쒅속됨)
    μ‹λ³„μžκ°€ λ³€ν•˜λ©΄ 속성이 변함
  • μ†μ„±κ°’μ˜ 쀑볡 μ—¬λΆ€ 체크! (단일 -> 볡합 순)

맀μž₯ μ½”λ“œμ™€ 메뉴 μ½”λ“œμ— 따라 가격이 λ³€λ™λ˜λ―€λ‘œ 맀μž₯ μ½”λ“œμ™€ λ©”λ‰΄μ½”λ“œλ₯Ό μ‹λ³„μžλ‘œ μ„ μ •

 

* 제2μ •κ·œν™”

  • κΈ°λ³Έν‚€κ°€ 2개 μ΄μƒμœΌλ‘œ ꡬ성될 경우 μˆ˜ν–‰ν•¨
  • λͺ¨λ“  속성(지역λͺ…, 점주λͺ…, 메뉴λͺ…, μΆœμ‹œμΌ, 가격)이 μ‹λ³„μžμ— μ’…μ†ν•΄μ•Όν•˜λ©°, μ•„λ‹ˆλ©΄ λΆ„ν•΄ν•΄μ•Ό 함
  • λΆ€λΆ„ν•¨μˆ˜ 쒅속성을 뢄해함
  • μ£Όμ‹λ³„μž 쀑 μΌλΆ€λ‘œλΆ€ν„° λ…λ¦½ν•˜μ—¬ 1:M 의 κ΄€κ³„λ‘œ μž¬μ„€κ³„

 

* 제 3μ •κ·œν™”

  • κΈ°λ³Έν‚€ 외에 μ»¬λŸΌκ°„ 쒅속성을 μ œκ±°ν•¨
  • 이행 ν•¨μˆ˜ 쒅속성 제거

 

λ°˜μ •κ·œν™”

  • μ •κ·œν™”λ₯Ό ν–ˆμ„ λ•Œ μ„±λŠ₯이 λ”μš± 악화될 경우, λ°μ΄ν„°μ˜ 쀑볡을 ν—ˆμš©ν•˜κ³  쑰인을 μ€„μ—¬μ„œ μ„±λŠ₯을 ν–₯μƒμ‹œν‚€λŠ” 방법

 

λ°˜μ •κ·œν™” 기법(컬럼 & ν…Œμ΄λΈ”)

* 컬럼 μΆ”κ°€ - 쀑볡 컬럼 μΆ”κ°€, νŒŒμƒμ»¬λŸΌ μΆ”κ°€(ex. κ³„μ‚°λœ 컬럼), 이λ ₯ν…Œμ΄λΈ” 컬럼 μΆ”κ°€, PK에 μ˜ν•œ 칼럼 μΆ”κ°€ λ“±

ex) 쀑볡 컬럼 μΆ”κ°€
      A ν…Œμ΄λΈ”μ— μžˆλŠ” a, b 정보λ₯Ό μ‘°νšŒν•  λ•Œ, C ν…Œμ΄λΈ”μ˜ c 정보와 D ν…Œμ΄λΈ”μ˜ d정보λ₯Ό 늘 ν•¨κ»˜ μ‘°νšŒν•œλ‹€λ©΄?

     >>> κ³Όλ„ν•œ 쑰인을 쀄이기 μœ„ν•΄ A ν…Œμ΄λΈ”μ— c, d μ»¬λŸΌμ„ μΆ”κ°€ν•˜μ—¬ 쑰회 μ„±λŠ₯을 ν–₯μƒμ‹œν‚¨λ‹€.

 

ex) νŒŒμƒμ»¬λŸΌ μΆ”κ°€

      μ—¬λŸ¬ ν…Œμ΄λΈ”μ„ JOINν•΄μ„œ 얻을 수 μžˆλŠ” 정보 값이 자주 μ‚¬μš©λœλ‹€λ©΄?

      >>> 미리 κ³„μ‚°λœ μ»¬λŸΌμ„ μΆ”κ°€ν•΄λ‘”λ‹€. ex) SUM(단기)

 

 

* ν…Œμ΄λΈ” 병λ°₯ / ν…Œμ΄λΈ” λΆ„ν•  / ν…Œμ΄λΈ” μΆ”κ°€

  • ν…Œμ΄λΈ” 병합 : 1:1관계 ν…Œμ΄λΈ” 병합, 1:M 관계 ν…Œμ΄λΈ” 병합, 슈퍼/μ„œλΈŒνƒ€μž… ν…Œμ΄λΈ” 병합
    * 슈퍼 νƒ€μž…(νšŒμ›œ) <=> μ„œλΈŒ νƒ€μž…(κ°œμΈνšŒμ›, λ²•μΈνšŒμ›)
  • ν…Œμ΄λΈ” λΆ„ν• 
    * μˆ˜μ§λΆ„ν•  : [a, b, c, d] 컬럼 -> [a,b] [c,d] 둜 λΆ„λ¦¬ν•˜μ—¬ 보관
    * μˆ˜ν‰λΆ„ν•  : ν•˜λ‚˜μ˜ ν…Œμ΄λΈ”μ— μžˆλŠ” 값을 κΈ°μ€€μœΌλ‘œ ν…Œμ΄λΈ” λΆ„ν• (Partition 기법)
    ex. 메일 μŒ’μ΄λŠ” 고객별 μœ„μΉ˜ 정보λ₯Ό ν•œ ν…Œμ΄λΈ”μ— 넣어두면 μ—‘μ„ΈμŠ€ λ²”μœ„κ°€ λ„“μŒ -> μ—°λ„λ³„λ‘œ μͺΌκ°œμ„œ μ €μž₯
  • ν…Œμ΄λΈ” μΆ”κ°€ : μ€‘λ³΅ν…Œμ΄λΈ”, ν†΅κ³„ν…Œμ΄λΈ”, 이λ ₯ν…Œμ΄λΈ”, λΆ€λΆ„ν…Œμ΄λΈ”

 

기타 μ„±λŠ₯κ΄€λ ¨ 말문제 κ°œλ… 정리

 

1. ν•œ ν…Œμ΄λΈ”μ— λ„ˆλ¬΄ λ§Žμ€ 칼럼이 μ‘΄μž¬ν•˜λ©° λ‘œμš°μ²΄μ΄λ‹˜μ΄ λ°œμƒν•˜λŠ” λ“± μ‘°νšŒμ„±λŠ₯ μ €ν•˜κ°€ λ°œμƒν•œλ‹€λ©΄
=> νŠΈλžœμž­μ…˜μ΄ μ ‘κ·Όν•˜λŠ” 컬럼 μœ ν˜•μ„ 뢄석해 ν…Œμ΄λΈ”μ„ λΆ„λ¦¬ν•˜λ©΄, λ””μŠ€ν¬ I/Oκ°€ μ€„μ–΄μ„œ μ„±λŠ₯이 ν–₯상될 수 μžˆλ‹€.

2. WHERE문을 톡해 쑰회λ₯Ό ν•  λ•Œ 자주 μ‚¬μš©λ˜λŠ” PK 순으둜 μˆœμ„œλ₯Ό λ³€κ²½ν•˜κ³  인덱슀λ₯Ό μƒμ„±ν•˜λŠ” 것이 μ„±λŠ₯에 μœ λ¦¬ν•  수 μžˆλ‹€
ex) WHERE 지역λͺ… = 'μ„œμšΈ' AND μΆœμ‹œμΌ BETWEEN '20220101' AND '20220331'
-> (1) μƒμˆ˜κ°’μœΌλ‘œ μ‘°νšŒν•˜λŠ” PK(2) λ²”μœ„λ‘œ μ‘°νšŒν•˜λŠ” PK 순
-> μ•žμͺ½μ— μœ„μΉ˜ν•œ μ†μ„±μ˜ 값이 가급적 '=', μ΅œμ†Œν•œ λ²”μœ„λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 'BETWEEN', '<' '>'κ°€ 듀어와야 인덱슀λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€

3. νŠΈλžœμž­μ…˜μ˜ 톡합 / κ°œλ³„ 처리 μΌ€μ΄μŠ€
- 데이터 전체λ₯Ό λŒ€μƒμœΌλ‘œ 일괄 μ²˜λ¦¬ν•˜λŠ”λ° ν…Œμ΄λΈ”μ΄ λΆ„λ¦¬λ˜μ–΄ κ°œλ³„λ‘œ κ΄€λ¦¬ν•˜λ©΄ 였히렀 μ—°μ‚°λŸ‰μ„ 늘릴 수 있고
- 데이터λ₯Ό κ°œλ³„λ‘œ μ²˜λ¦¬ν•˜λŠ”λ° ν…Œμ΄λΈ”μ€ ν•˜λ‚˜λ‘œ ν†΅ν•©λ˜μ–΄ κ΄€λ¦¬ν•˜λ©΄ λΆˆν•„μš”ν•˜κ²Œ λ§Žμ€ λ°μ΄ν„°μ˜ μ§‘μ μœΌλ‘œ μ„±λŠ₯이 μ €ν•˜λ  수 있음
-> νŠΈλžœμž­μ…˜μ„ ν†΅ν•©ν•˜μ—¬ μ²˜λ¦¬ν•˜λ©΄ ν†΅ν•©ν•΄λ‘λŠ” 것이 μ„±λŠ₯에 μ’‹κ³ , κ°œλ³„λ‘œ μ²˜λ¦¬ν•˜λ©΄ κ°œλ³„λ‘œ μœ μ§€ν•˜λŠ” 것이 μ’‹λ‹€

 

 

728x90
λ°˜μ‘ν˜•

'자격증 > sqld' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

sqld 문제  (0) 2024.05.26
sqld 2κ³Όλͺ© 정리(SQL ν™œμš©)  (3) 2024.03.06
sqld 2κ³Όλͺ© 정리(SQL κΈ°λ³Έ)  (3) 2024.03.05
sqld 1일차(45회 기좜 1κ³Όλͺ©)  (1) 2024.02.23

+ Recent posts