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

저둜·2023λ…„ 8μ›” 27일
1

λ°μ΄ν„°λ² μ΄μŠ€

λͺ©λ‘ 보기
1/4
post-thumbnail

☘️ 데이터λͺ¨λΈλ§μ΄λž€

λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΅¬μΆ•ν•˜κΈ° μœ„ν•œ 뢄석/μ„€κ³„μ˜ κ³Όμ •, ν˜„μ‹€μ„Έκ³„λ₯Ό λ‹¨μˆœν™”ν•˜μ—¬ ν‘œν˜„ν•˜λŠ” 것

☘️ 데이터λͺ¨λΈλ§μ˜ μ€‘μš”μ„± 및 유의점

쀑볡 : 같은 μ‹œκ°„ 같은 데이터 제곡
λΉ„μœ μ—°μ„± : μ‚¬μ†Œν•œ 업무 변화에 데이터 λͺ¨λΈμ΄ μˆ˜μ‹œλ‘œ λ³€κ²½λ˜λ©΄ μ•ˆλ¨
비일관성 : μ‹ μš© μƒνƒœμ— λŒ€ν•œ κ°±μ‹  없이 고객의 λ‚©λΆ€ 이λ ₯ 정보 κ°±μ‹  μ•ˆλ¨

☘️ 데이터λͺ¨λΈλ§ μ’…λ₯˜

κ°œλ…μ , 논리적, 물리적 데이터λͺ¨λΈλ§

☘️ 데이터 독립성 μš”μ†Œ

μ™ΈλΆ€ μŠ€ν‚€λ§ˆ : 개개 μ‚¬μš©μžκ°€ λ³΄λŠ” 개인적 DB μŠ€ν‚€λ§ˆ, 좔상화 μˆ˜μ€€μ΄ λ†’κ³  업무 쀑심적이고 포괄적인 μˆ˜μ€€μ˜ λͺ¨λΈλ§ 진행.

κ°œλ… μŠ€ν‚€λ§ˆ : λͺ¨λ“  μ‚¬μš©μž 관점을 ν†΅ν•©ν•œ 전체 DB μŠ€ν‚€λ§ˆ, μ‹œμŠ€ν…œμœΌλ‘œ κ΅¬μΆ•ν•˜κ³ μž ν•˜λŠ” 업무에 λŒ€ν•΄ key, 속성, 관계 등을 μ •ν™•ν•˜κ²Œ ν‘œν˜„.

λ‚΄λΆ€ μŠ€ν‚€λ§ˆ : 물리적 μž₯μΉ˜μ—μ„œ 데이터가 μ‹€μ œμ  μ €μž₯ λ˜λŠ” DB μŠ€ν‚€λ§ˆ, μ‹€μ œλ‘œ λ°μ΄ν„°λ² μ΄μŠ€μ— 이식할 수 μžˆλ„λ‘ μ„±λŠ₯, μ €μž₯ λ“± 물리적인 성격을 κ³ λ €ν•˜μ—¬ 섀계.

☘️ 데이터 독립성

논리적 독립성 : κ°œλ… μŠ€ν‚€λ§ˆκ°€ λ³€κ²½λ˜μ–΄λ„ μ™ΈλΆ€ μŠ€ν‚€λ§ˆμ—λŠ” 영ν–₯이 μ—†λ‹€.
물리적 독립성 : λ‚΄λΆ€ μŠ€ν‚€λ§ˆκ°€ λ³€κ²½λ˜μ–΄λ„ μ™ΈλΆ€/κ°œλ… μŠ€ν‚€λ§ˆμ—λŠ” 영ν–₯이 μ—†λ‹€.

☘️ 데이터 λͺ¨λΈλ§μ˜ 3μš”μ†Œ

μ—”ν„°ν‹°, 관계, 속성

☘️ λͺ¨λΈλ§μ˜ νŠΉμ§•

좔상화, λ‹¨μˆœν™”, λͺ…ν™•μ„±

☘️ ERD μž‘μ„± μˆœμ„œ

  1. μ—”ν„°ν‹° κ·Έλ¦Ό
  2. μ—”ν„°ν‹° 배치
  3. μ—”ν„°ν‹° 관계섀정
  4. 관계λͺ… 기술
  5. κ΄€κ³„μ˜ 참여도 기술
  6. κ΄€κ³„μ˜ ν•„μˆ˜μ—¬λΆ€ 기술

☘️ ERD ν‘œν˜„

  1. μ—”ν„°ν‹°λŠ” μ‚¬κ°ν˜•
  2. κ΄€κ³„λŠ” λ§ˆλ¦„λͺ¨
  3. 속성은 νƒ€μ›ν˜•

☘️ 쒋은 데이터 λͺ¨λΈμ˜ μš”μ†Œ

μ™„μ „μ„± : 업무에 ν•„μš”ν•œ λͺ¨λ“  데이터가 λͺ¨λΈμ— μ •μ˜
μ€‘λ³΅λ°°μ œ : ν•˜λ‚˜μ˜ DB내에 λ™μΌν•œ 사싀은 ν•œλ²ˆλ§Œ μ •μ˜
μ—…λ¬΄κ·œμΉ™ : λ§Žμ€ κ·œμΉ™μ„ μ‚¬μš©μžκ°€ κ³΅μœ ν•˜λ„λ‘ 제곡
데이터 μž¬μ‚¬μš© : 데이터가 λ…λ¦½μ μœΌλ‘œ μ„€κ³„λ˜μ–΄μ•Ό 함
μ˜μ‚¬μ†Œν†΅ : 업무 κ·œμΉ™μ€ μ—”ν„°ν‹°, μ„œλΈŒνƒ€μž…, 속성, 관계 λ“±μ˜ ν˜•νƒœλ‘œ μ΅œλŒ€ν•œ μžμ„Ένžˆ ν‘œν˜„
톡합성 : λ™μΌν•œ λ°μ΄ν„°λŠ” ν•œλ²ˆλ§Œ μ •μ˜, μ°Έμ‘° ν™œμš©


☘️ μ—”ν„°ν‹°

업무에 ν•„μš”ν•˜κ³  μœ μš©ν•œ 정보λ₯Ό μ €μž₯ν•˜κ³  κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ 집합. 보이지 μ•ŠλŠ” κ°œλ…μ„ 포함

☘️ μ—”ν„°ν‹°μ˜ νŠΉμ§•

  • λ°˜λ“œμ‹œ ν•΄λ‹Ή μ—…λ¬΄μ—μ„œ ν•„μš”ν•˜κ³  κ΄€λ¦¬ν•˜κ³ μž ν•˜λŠ” 정보이어야 ν•œλ‹€
  • μœ μΌν•œ μ‹λ³„μžμ— μ˜ν•΄ 싀별이 κ°€λŠ₯ν•΄μ•Ό ν•œλ‹€
  • λ‘κ°œ μ΄μƒμ˜ μΈμŠ€ν„΄μŠ€μ˜ 집합이어야 ν•œλ‹€
  • 업무 ν”„λ‘œμ„ΈμŠ€μ— μ˜ν•΄ μ΄μš©λ˜μ–΄μ•Ό ν•œλ‹€
  • λ°˜λ“œμ‹œ 속성이 μžˆμ–΄μ•Ό ν•˜κ³  λ‘κ°œ μ΄μƒμ˜ 속성을 κ°€μ Έμ•Ό ν•œλ‹€
  • ν•œ 개의 속성은 ν•œκ°œμ˜ 속성값을 κ°–λŠ”λ‹€
  • λ‹€λ₯Έ 엔터티와 μ΅œμ†Œ 1개 μ΄μƒμ˜ 관계가 μžˆμ–΄μ•Ό ν•œλ‹€

☘️ μ—”ν„°ν‹°μ˜ λΆ„λ₯˜

μœ λ¬΄ν˜•μ— λ”°λ₯Έ λΆ„λ₯˜ : μœ ν˜•, κ°œλ…, 사건 μ—”ν„°ν‹°

  1. μœ ν˜• - 물리적 ν˜•νƒœ (사원, λ¬Όν’ˆ)
  2. κ°œλ… - κ°œλ…μ  정보 (쑰직, λ³΄ν—˜ μƒν’ˆ)
  3. 사건 - 업무 μˆ˜ν–‰μ‹œ λ°œμƒ (μ£Όλ¬Έ, 청ꡬ)

λ°œμƒ μ‹œμ μ— λ”°λ₯Έ λΆ„λ₯˜ : κΈ°λ³Έ/ν‚€, 쀑심, ν–‰μœ„ μ—”ν„°ν‹°

  1. κΈ°λ³Έ - κ·Έ 업무에 μ›λž˜ μ‘΄μž¬ν•˜λŠ” 정보, νƒ€μ—”ν„°ν‹°μ˜ λΆ€λͺ¨ μ—­ν• , μžμ‹ μ˜ κ³ μœ ν•œ μ£Όμ‹λ³„μžλ₯Ό 가짐 (사원, λΆ€μ„œ)
  2. 쀑심 - κΈ°λ³Έ μ—”ν„°ν‹°λ‘œλΆ€ν„°μ˜ λ°œμƒ, λ‹€λ₯Έ μ—”ν„°ν‹°μ™€μ˜ κ΄€κ³„λ‘œ λ§Žμ€ ν–‰μœ„ μ—”ν„°ν‹° 생성 (계약, 사고, μ£Όλ¬Έ)
  3. ν–‰μœ„ - 2개 μ΄μƒμ˜ λΆ€λͺ¨ μ—”ν„°ν‹°λ‘œλΆ€ν„° λ°œμƒ. 자주 λ°”λ€Œκ±°λ‚˜ 양이 증가 (μ£Όλ¬Έ λͺ©λ‘, 사원변경이λ ₯)

☘️ μ—”ν„°ν‹°μ˜ λͺ…λͺ…

ν˜„μ—…μ—…λ¬΄μ—μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄ μ‚¬μš©, μ•½μ–΄ μ‚¬μš© κΈˆμ§€, λ‹¨μˆ˜λͺ…사 μ‚¬μš©, κ³ μœ ν•œ 이름 μ‚¬μš©, 생성 μ˜λ―ΈλŒ€λ‘œ λΆ€μ—¬


☘️ 속성

μ—…λ¬΄μ—μ„œ ν•„μš”λ‘œ ν•˜λŠ” μΈμŠ€ν„΄μŠ€λ‘œ κ΄€λ¦¬ν•˜κ³ μž ν•˜λŠ” μ˜λ―Έμƒ λΆ„λ¦¬λ˜μ§€ μ•ŠλŠ” μ΅œμ†Œμ˜ 데이터 λ‹¨μœ„

☘️ μ†μ„±μ˜ λΆ„λ₯˜

기본속성 : μ—…λ¬΄λ‘œλΆ€ν„° μΆ”μΆœν•œ λͺ¨λ“  일반적인 속성
섀계속성 : 업무λ₯Ό κ·œμΉ™ν™”ν•˜κΈ° μœ„ν•΄ μƒˆλ‘œ λ§Œλ“€κ±°λ‚˜ λ³€ν˜•, μ •μ˜ν•˜λŠ” 속성 (ex: 일련번호)
νŒŒμƒμ†μ„± : λ‹€λ₯Έ 속성에 영ν–₯을 λ°›μ•„ λ°œμƒν•˜λŠ” 속성, λΉ λ₯Έ μ„±λŠ₯을 λ‚Ό 수 μžˆλ„λ‘ μ›λž˜ μ†μ„±μ˜ 값을 κ³„ν•œ (ex : ν•©)

☘️ 도메인

각 속성이 κ°€μ§ˆ 수 μžˆλŠ” κ°’μ˜ λ²”μœ„, μ—”ν„°ν‹° λ‚΄μ—μ„œ 속성에 λŒ€ν•œ 데이터 νƒ€μž…κ³Ό 크기 그리고 μ œμ•½μ‚¬ν•­μ„ μ§€μ •ν•˜λŠ”κ²ƒ

☘️ μ†μ„±μ˜ λͺ…λͺ…

ν•΄λ‹Ή μ—…λ¬΄μ—μ„œ μ‚¬μš©ν•˜λŠ” 이름뢀여, μ„œμˆ μ‹ 속성λͺ…은 μ‚¬μš© κΈˆμ§€, μ•½μ–΄ μ‚¬μš© κΈˆμ§€, 전체 데이터λͺ¨λΈμ—μ„œ μœ μΌμ„± 확보


☘️ 관계

μ—”ν„°ν‹°μ˜ μΈμŠ€ν„΄μŠ€ μ‚¬μ΄μ˜ 논리적인 μ—°κ΄‘μ„±μœΌλ‘œ 쑴재의 ν˜•νƒœλ‘œμ„œλ‚˜ ν–‰μœ„λ‘œμ„œ μ„œλ‘œμ—κ²Œ 연관성이 λΆ€μ—¬λœ μƒνƒœ

☘️ νŒ¨μ–΄λ§

μ—”ν„°ν‹° μ•ˆμ— μΈμŠ€ν„΄μŠ€κ°€ κ°œλ³„μ μœΌλ‘œ 관계λ₯Ό κ°€μ§€λŠ” 것

☘️ κ΄€κ³„μ˜ ν‘œκΈ°λ²•

관계λͺ… : κ΄€κ³„μ˜ 이름
κ΄€κ³„μ°¨μˆ˜ : 1:1, 1:M, M:N
관계선택사양 : ν•„μˆ˜ 관계, 선택 관계

☘️ 관계 체크사항

  1. 2개의 μ—”ν„°ν‹° 사이에 관심 μžˆλŠ” μ—°κ΄€ κ·œμΉ™μ΄ μ‘΄μž¬ν•˜λŠ”κ°€
  2. 2개의 μ—”ν„°ν‹° 사이에 μ •λ³΄μ˜ 쑰합이 λ°œμƒν•˜λŠ”κ°€
  3. μ—…λ¬΄κΈ°μˆ μ„œ, μž₯ν‘œμ— 관계연결에 λŒ€ν•œ κ·œμΉ™ λ˜λŠ” μ„œμˆ μ΄ μ‘΄μž¬ν•˜λŠ”κ°€
  4. μ—…λ¬΄κΈ°μˆ μ„œ, μž₯ν‘œμ— 관계연결을 κ°€λŠ₯μΌ€ ν•˜λŠ” 동사가 μ‘΄μž¬ν•˜λŠ”κ°€

☘️ μ‹λ³„μž

μ—”ν„°ν‹°λ‚΄μ—μ„œ μΈμŠ€ν„΄μŠ€λ₯Ό κ΅¬λΆ„ν•˜λŠ” κ΅¬λΆ„μž, μ‹λ³„μžλŠ” 논리 데이터 λͺ¨λΈλ§ 단계에 μ‚¬μš©, KeyλŠ” 물리 데이터 λͺ¨λΈλ§ 단계에 μ‚¬μš©

☘️ μ‹λ³„μžμ˜ νŠΉμ§•

μœ μΌμ„±, μ΅œμ†Œμ„±, λΆˆλ³€μ„±, μ‘΄μž¬μ„±

  1. μ£Όμ‹λ³„μžμ— μ˜ν•΄ λͺ¨λ“  μΈμŠ€ν„΄μŠ€λ“€μ΄ μœ μΌν•˜κ²Œ ꡬ뢄
  2. μ£Όμ‹λ³„μžλ₯Ό κ΅¬μ„±ν•˜λŠ” μ†μ„±μ˜ μˆ˜λŠ” μœ μΌμ„±μ„ λ§Œμ‘±ν•˜λŠ” μ΅œμ†Œμ˜ μˆ˜κ°€ λ˜μ–΄μ•Ό 함
  3. μ§€μ •λœ μ£Όμ‹λ³„μžμ˜ 값은 자주 λ³€ν•˜μ§€ μ•Šμ•„μ•Ό 함
  4. μ£Όμ‹λ³„μžκ°€ 지정이 되면 λ°˜λ“œμ‹œ 값이 듀어와야 함

☘️ μ‹λ³„μž λΆ„λ₯˜

λŒ€ν‘œμ„± μ—¬λΆ€ : μ£Όμ‹λ³„μž, λ³΄μ‘°μ‹λ³„μž
μŠ€μŠ€λ‘œμƒμ„± μ—¬λΆ€ : λ‚΄λΆ€μ‹λ³„μž, μ™ΈλΆ€μ‹λ³„μž
μ†μ„±μ˜ 수 : λ‹¨μΌμ‹λ³„μž, λ³΅ν•©μ‹λ³„μž
λŒ€μ²΄ μ—¬λΆ€ : λ³Έμ§ˆμ‹λ³„μž, μΈμ‘°μ‹λ³„μž

☘️ μ£Όμ‹λ³„μžμ˜ νŠΉμ§•

μœ μΌμ„± : μ£Όμ‹λ³„μžμ— μ˜ν•΄ 엔터티내에 λͺ¨λ“  μΈμŠ€ν„΄μŠ€λ“€μ„ μœ μΌν•˜κ²Œ ꡬ뢄
μ‘΄μž¬μ„± : μ£Όμ‹λ³„μžκ°€ μ§€μ •λ˜λ©΄ λ°˜λ“œμ‹œ 데이터가 μ‘΄μž¬ν•΄μ•Ό ν•œλ‹€
μ΅œμ†Œμ„± : μ£Όμ‹λ³„μžλ₯Ό κ΅¬μ„±ν•˜λŠ” μ†μ„±μ˜ μˆ˜λŠ” μœ μΌμ„±μ„ λ§Œμ‘±ν•˜λŠ” μ΅œμ†Œμ˜ μˆ˜κ°€ λ˜μ–΄μ•Ό ν•œλ‹€
λΆˆλ³€μ„± : μ£Όμ‹λ³„μžκ°€ ν•œλ²ˆ νŠΉμ • 엔터티에 μ§€μ •λ˜λ©΄ κ·Έ μ‹λ³„μžμ˜ 값은 λ³€ν•˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€

☘️ μ£Όμ‹λ³„μž λ„μΆœ κΈ°μ€€

  1. ν•΄λ‹Ή μ—…λ¬΄μ—μ„œ 자주 μ΄μš©λ˜λŠ” μ†μ„±μž„
  2. λͺ…μΉ­, λ‚΄μ—­ λ“±κ³Ό 같이 μ΄λ¦„μœΌλ‘œ κΈ°μˆ λ˜λŠ” 것듀은 x
  3. λ³΅ν•©μœΌλ‘œ μ£Όμ‹λ³„μžλ‘œ ꡬ성할 경우 λ„ˆλ¬΄ λ§Žμ€ 속성 x

☘️ μ‹λ³„μž 관계

λͺ©μ  : κ°•ν•œ 연결관계 ν‘œν˜„
μžμ‹ μ£Όμ‹λ³„μž 영ν–₯ : μžμ‹ μ£Όμ‹λ³„μžμ˜ ꡬ성에 포함
ν‘œκΈ°λ²• : μ‹€μ„  ν‘œν˜„
μ—°κ²° 고렀사항 : λ°˜λ“œμ‹œ λΆ€λͺ¨ μ—”ν„°ν‹° 쒅속, μžμ‹ μ£Όμ‹λ³„μž ꡬ성에 λΆ€λͺ¨ μ£Όμ‹λ³„μžν¬ν•¨ ν•„μš”, 상속받은 μ£Όμ‹λ³„μž 속성을 타 엔터티에 이전 ν•„μš”

☘️ λΉ„μ‹λ³„μž 관계

λͺ©μ  : μ•½ν•œ 연결관계 ν‘œν˜„
μžμ‹ μ£Όμ‹λ³„μž 영ν–₯ : μžμ‹ 일반 속성에 포함
ν‘œκΈ°λ²• : 점선 ν‘œν˜„
μ—°κ²° 고렀사항 : μ•½ν•œ 쒅속관계, μžμ‹ μ£Όμ‹λ³„μžκ΅¬μ„±μ„ λ…λ¦½μ μœΌλ‘œ ꡬ성, μžμ‹ μ£Όμ‹λ³„μžκ΅¬μ„±μ— λΆ€λͺ¨ μ£Όμ‹λ³„μž λΆ€λΆ„ ν•„μš”, 상속받은 μ£Όμ‹λ³„μžμ†μ„±μ„ 타 엔터티에 차단 ν•„μš”, λΆ€λͺ¨μͺ½μ˜ 관계참여가 선택관계

profile
Back-End Developer 🍏🍎

0개의 λŒ“κΈ€

κ΄€λ ¨ μ±„μš© 정보