[πŸ‘¨πŸ»β€πŸ’»TA9 인턴 11일차]데이터 λͺ¨λΈλ§

GoofiΒ·2023λ…„ 7μ›” 27일
0

데이터 λͺ¨λΈλ§

데이터 λͺ¨λΈλ§μ€ ν˜„μ‹€ 세계λ₯Ό λ°μ΄ν„°λ² μ΄μŠ€λ‘œ ν‘œν˜„ν•˜κΈ° μœ„ν•΄μ„œ μΆ”μƒν™”ν•œλ‹€.

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

1) κ°œλ…μ  λͺ¨λΈλ§

  • 고객의 λΉ„μ¦ˆλ‹ˆμŠ€ ν”„λ‘œμ„Έλ₯Ό λΆ„μ„ν•˜κ³  업무 전체에 λŒ€ν•΄μ„œ 데이터 λͺ¨λΈλ§μ„ μˆ˜ν–‰ν•œλ‹€.
  • λ³΅μž‘ν•˜κ²Œ ν‘œν˜„ν•˜μ§€ μ•Šκ³  μ€‘μš”ν•œ 뢀뢄을 μœ„μ£Όλ‘œ λͺ¨λΈλ§ν•˜λŠ” 단계이닀.
  • 업무적 κ΄€μ μ—μ„œ λͺ¨λΈλ§ν•˜λ©° 기술적인 μš©μ–΄λŠ” 가급적 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
  • μ—”ν‹°ν‹°(Entity)와 속성(Attribute)을 λ„μΆœν•˜κ³  κ°œλ…μ  ERDλ₯Ό μž‘μ„±ν•œλ‹€.

2) 논리적 λͺ¨λΈλ§

  • κ°œλ…μ  λͺ¨λΈλ§μ„ 논리적 λͺ¨λΈλ§μœΌλ‘œ λ³€ν™˜ν•˜λŠ” μž‘μ—…μ΄λ‹€.
  • μ‹λ³„μžλ₯Ό λ„μΆœν•˜κ³  ν•„μš”ν•œ λͺ¨λ“  λ¦΄λ ˆμ΄μ…˜μ„ μ •μ˜ν•œλ‹€.
  • μ •κ·œν™”λ₯Ό μˆ˜ν–‰ν•΄μ„œ 데이터 λͺ¨λΈμ˜ 독립성을 ν™•λ³΄ν•œλ‹€.

3) 물리적 λͺ¨λΈλ§

  • λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‹€μ œ κ΅¬μΆ•ν•œλ‹€. 즉, ν…Œμ΄λΈ”, 인덱슀, ν•¨μˆ˜ 등을 μƒμ„±ν•œλ‹€.
  • μ„±λŠ₯, λ³΄μ•ˆ, κ°€μš©μ„±μ„ κ³ λ €ν•΄μ„œ κ΅¬μΆ•ν•œλ‹€.

논리적 λ°μ΄ν„°λ² μ΄μŠ€ μ„€κ³„λž€?

κ°œλ…μ  λͺ¨λΈ(ERD)둜 ν‘œν˜„ν•˜λŠ” 과정이닀.

μ—”ν‹°ν‹°λž€?

μ—…λ¬΄μ˜ 관심 λŒ€μƒμ΄ λ˜λŠ” 정보λ₯Ό κ°–κ³  μžˆκ±°λ‚˜ 그에 λŒ€ν•œ 정보λ₯Ό 관리할 ν•„μš”κ°€ μžˆλŠ” μœ ν˜•, λ¬΄ν˜•μ˜ 사물(개체)을 λ§ν•œλ‹€.


홍길동, κΉ€μ² μˆ˜, κ°•λ§ŒκΈΈ 등을 νšŒμ› μ—”ν‹°ν‹°μ˜ μΈμŠ€ν„΄μŠ€λΌκ³  λΆ€λ₯Έλ‹€.

μ†μ„±μ΄λž€?

μ—”ν‹°ν‹°μ—μ„œ 관리해야 ν•  μ΅œμ†Œ λ‹¨μœ„μ˜ 정보 ν•­λͺ©μ„ λ§ν•˜λ©° μ—”ν‹°ν‹°λŠ” ν•˜λ‚˜ μ΄μƒμ˜ 속성을 ν¬ν•¨ν•œλ‹€.

ex)
νšŒμ› μ—”ν‹°ν‹°λŠ” νšŒμ›μ˜ ID, 이름, μ£Όμ†Œ, μ „ν™”λ²ˆν˜Έ 등을 κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ κ²ƒμœΌλ‘œ ID, 이름, μ£Όμ†Œ, μ „ν™”λ²ˆν˜Έ 등을 νšŒμ› μ—”ν‹°ν‹°μ˜ 속성이라고 λ§ν•œλ‹€. ν˜„μ‹€μ„Έκ³„μ—μ„œ ν•˜λ‚˜μ˜ μ—”ν‹°ν‹°λŠ” λ§Žμ€ 정보λ₯Ό 포함할 수 μžˆλ‹€. κ·ΈλŸ¬λ‚˜ λͺ¨λΈλ§ κ³Όμ •μ—μ„œ ν¬ν•¨ν•˜κ³  μžˆλŠ” λͺ¨λ“  정보 ν•­λͺ©μ„ μ†μ„±μœΌλ‘œ ν‘œν˜„ν•˜μ§€λŠ” μ•ŠλŠ”λ‹€.

μ†μ„±μ˜ κ²°μ •

μ—”ν‹°ν‹°μ˜ 속성은 ν…Œμ΄λΈ”μ˜ 컬럼과 λŒ€μ‘ν•œλ‹€.

데이터 λͺ¨λΈλ§μ—μ„œ μ—°μŠ΅ν•΄μ•Ό ν•  것 μ€‘μ˜ ν•˜λ‚˜λŠ” μ—”ν‹°ν‹°λ₯Ό ν…Œμ΄λΈ”κ³Ό 연관지어 μƒκ°ν•˜λŠ” 것이닀.

관계

두 μ—”ν‹°ν‹° μ‚¬μ΄μ˜ 관련성을 λ‚˜νƒ€λ‚΄λŠ” μš©μ–΄μ΄λ‹€. ν˜„μ‹€μ„Έκ³„μ—μ„œλŠ” μ—¬λŸ¬ 사물듀이 μƒν˜Έ 관련성을 가지고 움직이기 λ•Œλ¬Έμ— 이λ₯Ό λͺ¨λΈλ§ν•˜λ©΄ 엔티티와 μ—”ν‹°ν‹° μ‚¬μ΄μ˜ κ΄€κ³„λ‘œ ν‘œν˜„λœλ‹€.

μ€‘μš”β—οΈ
두 μ—”ν‹°ν‹°κ°€ 관계가 μžˆλ‹€λŠ” μ˜λ―ΈλŠ” μƒν˜Έ κ³΅μœ ν•˜λŠ” 속성이 μžˆλ‹€λŠ” μ˜λ―Έμ΄λ‹€.

μΉ΄λ””λ‚ΌλŸ¬ν‹°(cardinality)

μΉ΄λ””λ‚ΌλŸ¬ν‹°(cardinality)λŠ” 두 μ—”ν‹°ν‹° κ°„μ˜ 관계λ₯Ό 보닀 ꡬ체적으둜 ν‘œν˜„ν•˜λŠ” λ°©λ²•μ˜ ν•˜λ‚˜λ‘œ 각 엔티티에 속해 μžˆλŠ” μΈμŠ€ν„΄μŠ€λ“€ 간에 수적으둜 μ–΄λ–€ 관계에 μžˆλŠ”μ§€ λ‚˜νƒ€λ‚΄λŠ” κ°œλ…μ΄λ‹€.

μΉ΄λ””λ‚ΌλŸ¬ν‹° μ’…λ₯˜

1λŒ€1 관계
1λŒ€1 κ΄€κ³„λŠ” μ™„μ „ 1λŒ€1 관계와 선택적 1λŒ€1 관계가 μžˆλ‹€.

1λŒ€N 관계
1λŒ€N κ΄€κ³„λŠ” 엔티티에 행이 ν•˜λ‚˜ μžˆμ„ λ•Œ λ‹€λ₯Έ μ—”ν‹°ν‹°μ˜ 값이 μ—¬λŸ¬ 개 μžˆλŠ” 관계이닀.

MλŒ€N 관계
MλŒ€N κ΄€κ³„λŠ” 두 개 μ—”ν‹°ν‹°κ°€ μ„œλ‘œ μ—¬λŸ¬ 개의 관계λ₯Ό 가지고 μžˆλŠ” 것이닀.

μ •κ·œν™”

μ •κ·œν™”λŠ” λ°μ΄ν„°μ˜ 일관성, μ΅œμ†Œν•œμ˜ 데이터 쀑볡, μ΅œλŒ€ν•œμ˜ 데이터 μœ μ—°μ„±μ„ μœ„ν•œ 방법이닀.

  • μ •κ·œν™”λŠ” 제 1μ •κ·œν™”λΆ€ν„° 제5μ •κ·œν™”κΉŒμ§€ μžˆμ§€λ§Œ, μ‹€μ§ˆμ μœΌλ‘œλŠ” 제3μ •κ·œν™”κΉŒμ§€λ§Œ μˆ˜ν–‰ν•œλ‹€.

μ •κ·œν™” 절차

제1μ •κ·œν™”

  • 속성(Attribute)의 μ›μžμ„±μ„ ν™•λ³΄ν•œλ‹€.
  • κΈ°λ³Έν‚€(Primary)λ₯Ό μ„€μ •ν•œλ‹€.
νšŒμ›λ²ˆν˜Έ νšŒμ›μ΄λ¦„ ν”„λ‘œκ·Έλž¨
101 κ°•ν˜Έλ™ μŠ€μΏΌμ‹œμ΄ˆκΈ‰
102 손ν₯λ―Ό ν—¬μŠ€
103 κΉ€λ―Όμˆ˜ ν—¬μŠ€, κ³¨ν”„μ΄ˆκΈ‰
μœ„ ν…Œμ΄λΈ”μ˜ 문제점)
1. μ„±λŠ₯이슈
2. μ°ΎκΈ° / μˆ˜μ • / μ‚­μ œ μž‘μ—… λŠλ €μ§„λ‹€.

μœ„ ν…Œμ΄λΈ” 해결방법)

νšŒμ›λ²ˆν˜Έ νšŒμ›μ΄λ¦„ ν”„λ‘œκ·Έλž¨
101 κ°•ν˜Έλ™ μŠ€μΏΌμ‹œμ΄ˆκΈ‰
102 손ν₯λ―Ό ν—¬μŠ€
103 κΉ€λ―Όμˆ˜ ν—¬μŠ€
103 κΉ€λ―Όμˆ˜ κ³¨ν”„μ΄ˆκΈ‰
  • ν•˜λ‚˜μ˜ μ…€ μ•ˆμ—μ„œ ν•˜λ‚˜μ˜ λ°μ΄ν„°λ§Œ 보관
  • 이 μž‘μ—…μ΄ μ™„λ£Œλœ ν…Œμ΄λΈ”μ„ 제 1μ •κ·œν˜•(1st normal form) 이라고 ν•œλ‹€.

제2μ •κ·œν™”
κΈ°λ³Έν‚€κ°€ 2개 μ΄μƒμ˜ μ†μ„±μœΌλ‘œ 이루어진 경우, λΆ€λΆ„ ν•¨μˆ˜ 쒅속성을 제거(λΆ„ν•΄)ν•œλ‹€.

제3μ •κ·œν™”

  • κΈ°λ³Έν‚€λ₯Ό μ œμ™Έν•œ 칼럼 간에 쒅속성을 μ œκ±°ν•œλ‹€.
  • 즉, 이행 ν•¨μˆ˜ 쒅속성을 μ œκ±°ν•œλ‹€.

BCNF
κΈ°λ³Έν‚€λ₯Ό μ œμ™Έν•˜κ³  후보킀가 μžˆλŠ” 경우, 후보킀가 κΈ°λ³Έν‚€λ₯Ό μ’…μ†μ‹œν‚€λ©΄ λΆ„ν•΄ν•œλ‹€.

제4μ •κ·œν™”
μ—¬λŸ¬ μΉΌλŸΌλ“€μ΄ ν•˜λ‚˜μ˜ μΉΌλŸΌμ„ μ’…μ†μ‹œν‚€λŠ” 경우 λΆ„ν•΄ν•˜μ—¬ 닀쀑값 쒅속성을 μ œκ±°ν•œλ‹€.

제5μ •κ·œν™”
쑰인에 μ˜ν•΄μ„œ 쒅속성이 λ°œμƒλ˜λŠ” 경우 λΆ„ν•΄ν•œλ‹€.

ERD ν‘œκΈ°λ²•

profile
μ˜€λŠ˜λ³΄λ‹¨ 내일이 κ°•ν•œ κ°œλ°œμžμž…λ‹ˆλ‹€!!πŸ§‘πŸ»β€πŸ’»

1개의 λŒ“κΈ€

comment-user-thumbnail
2023λ…„ 7μ›” 27일

쒋은 κΈ€μ΄λ„€μš”. κ³΅μœ ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

λ‹΅κΈ€ 달기

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