κΈΈκ±°λ¦¬μ™€ν”Œ 2025. 6. 12. 15:40

1.18 μ—”ν„°ν‹° 섀계 원칙

μ—”ν„°ν‹°λ₯Ό 섀계할 λ•ŒλŠ” 성격, 본질, μ£Όμ œμ— λ”°λ₯Έ 정체성이 λΆ„λͺ…ν•œ μ—”ν„°ν‹°λ‘œ 섀계해야 ν•œλ‹€.

 

β–Ά μ—”ν„°ν‹°λ₯Ό μ„€κ³„ν•˜λŠ” 원칙

  • 데이터 정체성
  • μ—”ν„°ν‹° 무결성
  • μ—”ν„°ν‹° μœ μΌμ„±
  • 데이터 혼용 배제
  • 타 엔터티와 관계 쑴재
  • ν”„λ‘œμ„ΈμŠ€ λ„μΆœ μ§€μ–‘
  • ν™”λ©΄ λ„μΆœ μ§€μ–‘
  • 데이터 관리 μš”κ±΄

 

데이터 정체성

μ—”ν„°ν‹°λ₯Ό λͺ…ν™•ν•˜κ²Œ μ •μ˜ν•˜λŠ” 것은 데이터 λͺ¨λΈλ§μ„ μˆ˜ν–‰ν•  λ–„ κ°€μž₯ μ€‘μš”ν•œ λΆ€λΆ„μ΄λ©΄μ„œ, λ™μ‹œμ— κ°€μž₯ κ°„κ³Όν•˜λŠ” 뢀뢄이기도 ν•˜λ‹€. μ—”ν„°ν‹°λ§Œ λͺ…ν™•ν•˜κ²Œ μ •μ˜ν•˜λ©΄ λͺ¨λΈλ§μ˜ λ§Žμ€ λ¬Έμ œλŠ” ν•΄κ²°λœλ‹€.

μ—”ν„°ν‹° μ •μ˜κ°€ λΆˆλΆ„λͺ…ν•  λ•Œ λ°œμƒν•  수 μžˆλŠ” κ°€μž₯ μ»€λ‹€λž€ λΆ€μž‘μš©μ€ μ—”ν„°ν‹°λ₯Ό μž„μ˜λ‘œ μ‚¬μš©ν•˜λŠ” 것이닀. μ—¬λŸ¬ 데이터가 ν˜Όν•©λœ ν˜•νƒœμ˜ μ—”ν„°ν‹°λŠ” μ—”ν„°ν‹°κ°€ μ•„λ‹ˆλΌ 뷰둜 μ‚¬μš©λΌμ•Ό ν•œλ‹€.

 

μ—”ν„°ν‹° 무결성

μ—”ν„°ν‹° 무결성(Entity Integrity)μ΄λΌλŠ” 것은 μ£Ό μ‹λ³„μžκ°€ μ‘΄μž¬ν•˜λ„λ‘ μ—”ν„°ν‹°λ₯Ό 섀계해야 ν•œλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€. μ΄λŠ” 물리적인 μ£Ό ν‚€(Primary key)κ°€ μ‘΄μž¬ν•΄μ•Ό ν•˜λŠ” 것은 물둠이고, μ—”ν„°ν‹°μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό 식별할 수 μžˆλŠ” μ‹λ³„μžκ°€ μ‘΄μž¬ν•΄μ•Ό ν•œλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€.

 

μ—”ν„°ν‹° μœ μΌμ„±

같은 μ„±κ²©μ˜ λ°μ΄ν„°λŠ” μ „μ‚¬μ μœΌλ‘œ μœ μΌν•΄μ•Ό ν•œλ‹€. → μœ μ‚¬ν•œ μ—”ν„°ν‹°λŠ” ν†΅ν•©λ˜μ–΄μ•Ό 함을 μ˜λ―Έν•œλ‹€.

 

데이터 혼용 배제

ν•˜λ‚˜μ˜ 엔터티에 μ„œλ‘œ λ‹€λ₯Έ μ„±κ²©μ˜ 데이터λ₯Ό ν˜Όμš©ν•΄μ„œλŠ” μ•ˆ λ˜λŠ” 것도 μ—”ν„°ν‹° μ„€κ³„μ˜ μ€‘μš”ν•œ 원칙이닀. ν•œ 엔터티에 μ—¬λŸ¬ μ’…λ₯˜μ˜ 데이터λ₯Ό ν˜Όμš©ν•΄μ„œ μ‚¬μš©ν•˜λŠ” 것은 μ§€μ–‘ν•΄μ•Ό ν•œλ‹€.

 

타 엔터티와 관계 쑴재

μ—”ν„°ν‹°λŠ” 보톡 λ‹€λ₯Έ 엔터티와 관계가 μ‘΄μž¬ν•˜λŠ” 것이 μΌλ°˜μ μ΄λ‹€. κ·Έλ ‡μ§€λ§Œ 가곡/κΈ°μ€€ μ—”ν„°ν‹° 등은 관계가 μ‘΄μž¬ν•˜μ§€ μ•Šμ€ 채 고립될 수 μžˆλ‹€.

 

ν”„λ‘œμ„ΈμŠ€ λ„μΆœ μ§€μ–‘

μ‹€λ¬΄μ—μ„œ ν”„λ‘œμ„ΈμŠ€μ— 따라 μ—”ν„°ν‹°λ₯Ό μ„€κ³„ν•˜λŠ” κ²½ν–₯이 μžˆμœΌλ‚˜, 일반적으둜 ν”„λ‘œμ„ΈμŠ€μ™€ μ—”ν„°ν‹°λŠ” λ³„κ°œλ‹€.

같은 μ„±κ²©μ˜ λ°μ΄ν„°μž„μ—λ„ ν”„λ‘œμ„ΈμŠ€μ— 따라 λ³€ν•˜λŠ” μƒνƒœλ₯Ό μ—”ν„°ν‹°λ‘œ μ„€κ³„ν•˜κ±°λ‚˜, νŠΉμ • ν”„λ‘œμ„ΈμŠ€λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ 화면에 따라 μ—”ν„°ν‹°λ₯Ό μ„€κ³„ν•˜λ©΄ μ•ˆ λœλ‹€. ν”„λ‘œμ„ΈμŠ€μ— 따라 μ—”ν„°ν‹°κ°€ λ³„λ„λ‘œ λ„μΆœλ˜λ©΄ ν”„λ‘œμ„ΈμŠ€μ˜ 변화에 따라 μ—”ν„°ν‹°λ‚˜ 관계가 λ°”λ€” μˆ˜λ°–μ— μ—†μ–΄ μœ μ—°ν•˜μ§€ μ•Šμ€ λͺ¨λΈμ΄ λœλ‹€.

ν”„λ‘œμ„ΈμŠ€κ°€ μ•„λ‹Œ 데이터 성격을 κΈ°μ€€μœΌλ‘œ μ—”ν„°ν‹°λ₯Ό μƒμ„±ν•˜λŠ” 것이 원칙이닀. ν”„λ‘œμ„ΈμŠ€λŠ” μ†μ„±μœΌλ‘œ ν‘œν˜„λ  수 μžˆλ‹€.

 

ν™”λ©΄ λ„μΆœ μ§€μ–‘

ν•˜λ‚˜μ˜ 화면에 ν•˜λ‚˜μ˜ μ—”ν„°ν‹°λ₯Ό λ§€ν•‘ν•΄μ„œ μ„€κ³„ν•˜λŠ” 것은 μ§€μ–‘ν•΄μ•Ό ν•œλ‹€.

 

데이터 관리 μš”κ±΄

κ°€μž₯ 근본적인 원칙: λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ κ΄€λ¦¬ν•˜λ €λŠ” 데이터λ₯Ό μ—”ν„°ν‹°λ‘œ 섀계해야 ν•œλ‹€λŠ” 것

관리할 ν•„μš”κ°€ μ—†λŠ” λ°μ΄ν„°λŠ” μ—”ν„°ν‹°λ‘œ λ§Œλ“€ ν•„μš”κ°€ μ—†λ‹€.

 

1.19 μ—”ν„°ν‹° λͺ…은 μ–΄λ–»κ²Œ μ •ν•˜λŠ”κ°€? 

μ—”ν„°ν‹° λͺ…은 μžμ‹ μ˜ 데이터 집합에 λŒ€ν•œ 이름이기도 ν•˜μ§€λ§Œ, λ˜ν•œ λ‹€λ₯Έ μ—”ν„°ν‹°κ°€ λ°”λΌλ³΄λŠ” 이름이기도 ν•˜λ―€λ‘œ 타 엔터티와 μ—°κ΄€ κ΄€κ³„μ—μ„œ μ€‘μš”ν•œ 역할을 ν•œλ‹€. 

 

데이터 성격을 νŒŒμ•…ν•˜κΈ° μ‰½κ²Œ λͺ…λͺ…

μ—”ν„°ν‹° λͺ…을 μ •ν•˜λŠ” κ°€μž₯ μ€‘μš”ν•œ 원칙: 데이터 성격을 κ°€μž₯ μ μ ˆν•˜κ²Œ ν‘œν˜„ν•˜λŠ” 것

μ—”ν„°ν‹° λͺ…을 보고 μ–΄λ–€ 데이터λ₯Ό κ΄€λ¦¬ν•˜λŠ”μ§€ μ•Œ 수 μžˆλ„λ‘ μ μ ˆν•˜κ³  ꡬ체적으둜 ν‘œν˜„ν•˜λŠ” 것이 μ€‘μš”ν•˜λ‹€.

 

일관성 있게 λͺ…λͺ…

μ—”ν„°ν‹° λͺ…을 μ •ν•  λ•ŒλŠ” μΌμ •ν•œ 약속을 μ •ν•΄ μ€€μˆ˜ν•΄μ•Ό ν•œλ‹€.

 

ꡬ체적으둜 λͺ…λͺ…

μ—”ν„°ν‹°λͺ…을 μ •ν•  λ•Œμ˜ 두 κ°€μ§€ 방법

  • ꡬ체적(Specific)으둜 μ •ν• μ§€
  • 일반적(General)으둜 μ •ν• μ§€

ꡬ체적으둜 μ •ν•΄μ•Ό ν•œλ‹€λŠ” μ˜λ―ΈλŠ” 데이터 성격을 νŒŒμ•…ν•˜κΈ° μ‰½κ²Œ μ •ν•œλ‹€λŠ” μ˜λ―Έμ™€ μœ μ‚¬ν•˜λ‹€. λ˜ν•œ λͺ¨ν˜Έν•˜κ²Œ μ •ν•˜μ§€ 말아야 ν•œλ‹€.

    ex. μ£Ό μ‹λ³„μžκ°€ '고객번호 + 맀체쒅λ₯˜μ½”λ“œ'인 수수료λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—”ν„°ν‹° → 'λ§€μ²΄λ³„μˆ˜μˆ˜λ£Œ' λ³΄λ‹€λŠ” 'λ§€μ²΄λ³„κ³ κ°μˆ˜μˆ˜λ£Œ'κ°€ 적절

    ex. '진행이λ ₯' λ³΄λ‹€λŠ” '계약진행이λ ₯'이 더 ꡬ체적이고 λͺ…확함

μ—”ν„°ν‹° λͺ…이 ꡬ체적이어야 ν•œλ‹€λŠ” μ˜λ―ΈλŠ” μ—”ν„°ν‹°μ˜ 성격을 ν‘œν˜„ν•΄μ•Ό ν•œλ‹€λŠ” μ˜λ―Έλ‹€. μ—”ν„°ν‹° μœ ν˜•μ΄ 싀체λ₯Ό κ΄€λ¦¬ν•˜λ©΄ 싀체λ₯Ό 연상할 수 μžˆλ„λ‘ μ—”ν„°ν‹° λͺ…을 μ •ν•΄μ•Ό ν•œλ‹€.

    ex. νƒˆν‡΄ν•œ 고객을 κ΄€λ¦¬ν•˜λŠ” μ—”ν„°ν‹° → 'κ³ κ°νƒˆν‡΄' λ³΄λ‹€λŠ” 'νƒˆν‡΄κ³ κ°'이 적절

 

ν™•μž₯성을 κ³ λ €ν•˜μ—¬ λͺ…λͺ…

μ—”ν„°ν‹°λͺ…을 일반적(General)으둜 μ •ν•œλ‹€λŠ” 것 → 넓은 κ°œλ…μ„ 포함할 수 μžˆλ„λ‘ μœ μ—°ν•˜κ²Œ μ •ν•œλ‹€λŠ” 의미

ν™•μž₯성을 κ³ λ €ν•œλ‹€λŠ” 것은 데이터 톡합을 κ³ λ €ν•œλ‹€λŠ” μ˜λ―Έμ™€λ„ κ°™λ‹€. μ—”ν„°ν‹° λͺ…을 μ§€λ‚˜μΉ˜κ²Œ ꡬ체적으둜 μ •ν•˜λ©΄ μ—”ν„°ν‹°κ°€ μœ μ—°ν•΄μ§€μ§€ μ•ŠλŠ”λ‹€.

    ex. ν•΄λ‹Ή μ‹œμŠ€ν…œμ—μ„œ ν˜„μž¬ 개인 κ³ κ°λ§Œμ„ κ΄€λ¦¬ν•˜λ”λΌλ„ μ—”ν„°ν‹°λͺ…을 '개인고객'으둜 μ •ν•˜λŠ” κ²ƒλ³΄λ‹€λŠ” '고객'으둜 μ •ν•΄μ„œ 법인 고객

          μ΄λ‚˜ μ‚¬μ—…μž 고객을 κ΄€λ¦¬ν•˜κ²Œ 될 λ•Œλ₯Ό λŒ€λΉ„ν•  수 있음

 

ν•„μš”ν•œ λ‹¨μ–΄λ‘œλ§Œ λͺ…λͺ…

μ—”ν„°ν‹° λͺ…에 ν•„μš”ν•œ λ‹¨μ–΄λ§Œμ„ μ‚¬μš©ν•˜λŠ” 것도 μ£Όμš” 원칙이닀. μƒλž΅ν•΄λ„ μ˜λ―Έκ°€ ν†΅ν•˜λŠ” λ‹¨μ–΄λŠ” μƒλž΅ν•΄μ•Ό ν•œλ‹€.

    ex. 등둝/처리/정보/관리/리슀트/ν…Œμ΄λΈ”/μ‹œμŠ€ν…œ

    ex. ~λ§ˆμŠ€ν„° (κ³ κ°λ§ˆμŠ€ν„° μ—”ν„°ν‹°λ₯Ό μ‚¬μš©ν•˜λ©΄μ„œ λˆ„κ΅°κ°€ κ³ κ°μ΄λΌλŠ” μ—”ν„°ν‹°λ₯Ό λ§Œλ“€λ©΄ 같은 의미의 μ—”ν„°ν‹°κ°€ μ‘΄μž¬ν•˜κ²Œ 됨)

μ ‘λ―Έμ–΄λ₯Ό μ‚­μ œν•΄λ„ μ—”ν„°ν‹°λ₯Ό μ΄ν•΄ν•˜λŠ” 데 λ¬Έμ œκ°€ μ—†λ‹€λ©΄, κ·Έ μ ‘λ―Έμ–΄λŠ” 역할을 λͺ» ν•˜λŠ” 사쑱과 κ°™λ‹€.

쀑볡 의미λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 단어가 μ‚¬μš”λ˜λŠ” 것도 λ°”λžŒμ§ν•˜μ§€ μ•Šλ‹€.

    ex. κ³ κ°λΆˆλ§Œμ‹ κ³ λ‚΄μ—­ → κ³ κ°λΆˆλ§Œλ‚΄μ—­

    ex. μ„œλΉ„μŠ€λ³€κ²½μš”μ²­μ§„ν–‰μƒνƒœμ΄λ ₯ → μ„œλΉ„μŠ€λ³€κ²½μ§„ν–‰μ΄λ ₯

 

ν”„λ‘œμ„ΈμŠ€λ₯Ό ν‘œν˜„ν•˜μ§€ μ•Šλ„λ‘ λͺ…λͺ…

'~등둝', '~처리' 등은 ꡰ더더기 λ‹¨μ–΄μ§€λ§Œ ν”„λ‘œμ„ΈμŠ€λ₯Ό ν‘œν˜„ν•œ 단어이기도 ν•˜λ‹€. μ—”ν„°ν‹° λͺ…에 ν”„λ‘œμ„ΈμŠ€(업무)λ₯Ό ν‘œν˜„ν•˜λŠ” 것은 λ°”λžŒμ§ν•˜μ§€ μ•Šλ‹€.)

'JOBμˆ˜ν–‰λ‚΄μ—­', 'λ™κΈ°ν™”μš”μ²­λ‚΄μ—­' 엔터티도 λ‹¨μˆœνžˆ 업무λ₯Ό μ„€λͺ…ν•œ μ—”ν„°ν‹° λͺ…이닀. ν•΄λ‹Ή 업무λ₯Ό μˆ˜ν–‰ν•˜λŠ”λ° ν•„μš”ν•œ 데이터가 무엇인지λ₯Ό ν‘œν˜„ν•΄μ•Ό ν•œλ‹€.

 

λͺ…μ‚¬ν˜•μœΌλ‘œ λͺ…λͺ…

μ—”ν„°ν‹° λͺ…은 λͺ…μ‚¬ν˜•μœΌλ‘œ μ‚¬μš©ν•˜λŠ” 것이 μΌλ°˜μ μ΄λ‹€. ν˜•μš©μ‚¬ν˜•μ„ μ‚¬μš©ν•œ, μ„€λͺ…ν•˜λŠ” μ‹μ˜ μ—”ν„°ν‹°λͺ…은 함좕적이지 μ•ŠμœΌλ©° 직관적이지 μ•Šλ‹€. 그리고 띄어쓰기λ₯Ό ν•˜μ§€ μ•ŠλŠ” 것이 λ˜ν•œ 함좕적이닀. 띄어쓰기λ₯Ό ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ 가독성에 λ¬Έμ œκ°€ 될 μ •λ„λ‘œ κΈΈλ©΄ μ’‹μ§€ μ•Šλ‹€.

 

κ°€λŠ₯ν•˜λ©΄ 짧게 λͺ…λͺ…

μ—”ν„°ν‹° λͺ…을 길게 μ •ν•˜λ”λΌλ„ μ—”ν„°ν‹° λͺ…을 보고 κ·Έ μ—”ν„°ν‹°κ°€ κ΄€λ¦¬ν•˜λŠ” λ°μ΄ν„°μ˜ 성격을 μ™„μ „ν•˜κ²Œ μ•ŒκΈ°λŠ” μ–΄λ €μš°λ―€λ‘œ μ§€λ‚˜μΉ˜κ²Œ κΈΈμ§€ μ•Šμ€ 것이 λ°”λžŒμ§ν•˜λ‹€.

 

ν…Œμ΄λΈ” λͺ…이 μ—”ν„°ν‹° λͺ…에 μ’…μ†λ˜μ§€ μ•Šλ„λ‘ λͺ…λͺ…

μ—”ν„°ν‹° λͺ…은 μ—…λ¬΄μ—μ„œ μ‚¬μš©ν•˜λŠ” ν‘œμ€€ μš©μ–΄λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•˜μ§€λ§Œ, ν…Œμ΄λΈ” λͺ…(μ—”ν„°ν‹°μ˜ μ˜λ¬Έμ΄λ¦„)이 μ—”ν„°ν‹° λͺ…에 μ’…μ†λ˜λŠ” 것은 λ°”λžŒμ§ν•˜μ§€ μ•Šλ‹€. 속성 λͺ…을 컬럼 λͺ…μœΌλ‘œ μžλ™ μ „ν™˜ν•˜λŠ” 것과 달리 μ—”ν„°ν‹° λͺ…은 ν…Œμ΄λΈ” λͺ…μœΌλ‘œ μžλ™ μ „ν™˜ν•˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€. κ·Έλž˜μ•Ό μ—”ν„°ν‹° λͺ…이 λ°”λ€Œλ”λΌλ„ ν…Œμ΄λΈ”μ„ μž¬μƒμ„±ν•΄μ•Ό ν•˜λŠ” λ¬Έμ œκ°€ λ°œμƒν•˜μ§€ μ•Šκ²Œ λœλ‹€.

μ—”ν„°ν‹° μ •μ˜κ°€ λ°”λ€ŒλŠ” 것은 λ°”λžŒμ§ν•˜μ§€ μ•Šμ§€λ§Œ, μ—”ν„°ν‹° λͺ…은 생각보닀 자주 바뀐닀. ν…Œμ΄λΈ” λͺ…이 μ—”ν„°ν‹° λͺ…에 쒅속돼 μžˆλ‹€λ©΄ μ—”ν„°ν‹° λͺ…이 λ°”λ€” λ•Œλ§ˆλ‹€ ν…Œμ΄λΈ” λͺ…이 λ°”λ€Œκ²Œ 되고 μ• ν”Œλ¦¬μΌ€μ΄μ…˜λ„ μˆ˜μ •ν•΄μ•Ό ν•˜λ―€λ‘œ 파μž₯νš¨κ³Όκ°€ 크닀. λ”°λΌμ„œ ν…Œμ΄λΈ” λͺ…에 λ‹¨μˆœ 번호 등을 μ‚¬μš©ν•˜λŠ” 것이 λ°”λžŒμ§ν•˜λ‹€. 

 

 

λ™μΌν•œ μ—”ν„°ν‹° λͺ…이 없도둝 λͺ…λͺ…

ν…Œμ΄λΈ” λͺ…κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ μ—”ν„°ν‹° λͺ…은 μ „ μ˜μ—­μ—μ„œ μ€‘λ³΅λΌμ„œλŠ” μ•ˆ λœλ‹€. ν•˜μ§€λ§Œ κ΄€κ³„μ„ μ˜ λ³΅μž‘μ„±μ„ ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 주둜 μ‚¬μš©ν•˜λŠ” μ—”ν„°ν‹° λ³΅μ œλŠ” λͺ¨λΈμ­ 가독성을 μœ„ν•΄ μ—¬λŸ¬ 번 μ‚¬μš©ν•˜λŠ” 것이 κ°€λŠ₯ν•˜λ‹€.

μ™ΈλΆ€ 엔터티도 주제 μ˜μ—­ 간에 μ—¬λŸ¬ 번 ν‘œν˜„μ΄ κ°€λŠ₯ν•˜λ‹€. μ™ΈλΆ€ μ—”ν„°ν‹°λ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” ν•΄λ‹Ή 주제 μ˜μ—­μ—μ„œ μ—”ν„°ν‹° λͺ…을 λ°˜λ“œμ‹œ 확인해야 ν•œλ‹€. 특히 λͺ¨λΈλ§ μ€‘μ—λŠ” μ—”ν„°ν‹° λͺ…이 μˆ˜μ‹œλ‘œ λ³€ν•  수 μžˆμœΌλ―€λ‘œ 확인을 κ²Œμ„λ¦¬ν•˜λ©΄ μ•ˆ λœλ‹€.

    ex. '[μ™ΈλΆ€ 주제 μ˜μ—­]μ—”ν„°ν‹° λͺ…', '[볡제]μ—”ν„°ν‹° λͺ…'

 

1.20 λ‹€μ–‘ν•œ 엔터티에 λŒ€ν•œ λͺ…λͺ…법

싀체 μ—”ν„°ν‹° λͺ…λͺ…법

싀체 엔터티에 λŒ€ν•œ λͺ…λͺ…λ²•μ˜ 핡심은 μ—”ν„°ν‹° λͺ…이 λͺ…μ‚¬λ‘œ λλ‚˜λŠ” 것이닀. 

    ex. νšŒμ› 쀑에 νƒˆν‡΄ν•œ νšŒμ›λ§Œ κ΄€λ¦¬ν•˜λ©°, μ£Ό μ‹λ³„μžκ°€ νšŒμ›λ²ˆν˜Έ 속성인 싀체 μ—”ν„°ν‹°μ˜ 이름 → 'νƒˆν‡΄νšŒμ›'이 적절

          동사가 μ—°μƒλ˜λŠ” λͺ…사(λͺ…μ‚¬ν˜•)둜 λλ‚˜λŠ” 'νšŒμ›νƒˆν‡΄'λ‚˜ 'νšŒμ›νƒˆν‡΄λ‚΄μ—­', 'νƒˆν‡΄νšŒμ›λ‚΄μ—­' 등은 μ μ ˆν•˜μ§€ μ•ŠμŒ

 

ν–‰μœ„ μ—”ν„°ν‹° λͺ…λͺ…법

ν–‰μœ„ μ—”ν„°ν‹° λͺ…μ—λŠ” '~μ‹ μ²­', '~거래', '~μ§€κΈ‰' λ“±μ˜ ν–‰μœ„λ₯Ό μ˜λ―Έν•˜λŠ” 단어가 ν¬ν•¨λœλ‹€. 

    ex. ν–‰μœ„ μ—”ν„°ν‹°λ₯Ό λͺ…λͺ…법을 κ³ λ―Όν•  λ•Œ μ‚¬μš©ν•˜λŠ” 방법 → μ—”ν„°ν‹° λͺ…에 'ν–ˆμŒ'μ΄λ‚˜ '~ν•œ 데이터'λ₯Ό λΆ™μ—¬ λ³΄λŠ” 것(μ΄λ ‡κ²Œ ν•΄μ„œ μžμ—°μŠ€

          러운 λ¬Έμž₯이 되면 ν–‰μœ„ 엔터티에 λŒ€ν•œ λͺ…λͺ…μœΌλ‘œ 적합함)

 

ꡐ차 μ—”ν„°ν‹° λͺ…λͺ…법

ꡐ차 μ—”ν„°ν‹°μ˜ λͺ…λͺ…법은 κ΄€κ³„μ˜ λͺ…λͺ…법과 μ—°κ΄€λœλ‹€. 즉 λ‹€λŒ€λ‹€(M:M) κ΄€κ³„μ˜ 관계 λͺ…은 ꡐ차 μ—”ν„°ν‹° λͺ…κ³Ό μœ μ‚¬ν•˜λ‹€.

 

집계 μ—”ν„°ν‹° λͺ…λͺ…법

집계 μ—”ν„°ν‹°λŠ” 집계 κΈ°μ€€(Dimension)이 μ€‘μš”ν•˜λ‹€. 이 집계 기쀀은 집계λ₯Ό ν•˜λ €λŠ” 기쀀이 되기 λ•Œλ¬Έμ— μ£Ό μ‹λ³„μžμ™€λ„ μ—°κ΄€λœλ‹€.

집계 μ—”ν„°ν‹° λͺ…을 μ •ν•  λ•Œ 집계 기쀀은 μ•žμͺ½μ—, λŒ€μƒ(무엇을 μ§‘κ³„ν–ˆλŠ”μ§€)은 λ’€μͺ½μ— μœ„μΉ˜ν•˜λŠ” 것이 μ’‹λ‹€.

    ex. μΌλ³„κ³ κ°λ³„λ§€μΆœμ§‘κ³„

 

μ™ΈλΆ€ μ—”ν„°ν‹° λͺ…λͺ…법

νŠΉμ • κΈ°κ΄€μ—μ„œ 받은 λ°μ΄ν„°λ§Œμ„ κ΄€λ¦¬ν•œλ‹€λ©΄ ν•΄λ‹Ή κΈ°κ΄€λͺ…을 μ—”ν„°ν‹° λͺ…에 λΆ™μ΄λŠ” 것이 μ’‹λ‹€. λ§Œμ•½ μœ μ‚¬ν•œ 데이터λ₯Ό λ‹€λ₯Έ κΈ°κ΄€μ—μ„œλ„ 받을 수 μžˆλ‹€κ±°λ‚˜, μœ μ‚¬ν•œ 데이터λ₯Ό λ‚΄λΆ€μ—μ„œλ„ κ΄€λž˜ν•œλ‹€λ©΄ 톡합을 λŒ€λΉ„ν•΄ κΈ°κ³Όλ‚˜λͺ…을 μƒλž΅ν•˜λŠ” 것이 μ’‹λ‹€. 

    ex. ν•œκ΅­κ±°λž˜μ†Œμ—μ„œλ§Œ λ°›λŠ” μ±„κΆŒ 데이터λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—”ν„°ν‹°λͺ… → ν•œκ΅­κ±°λž˜μ†Œμ±„κΆŒ

          λ§Œμ•½ ν•œκ΅­μ˜ˆνƒκ²°μ œμ›μ—μ„œ 받은 μ±„κΆŒκΉŒμ§€ 두 κΈ°κ΄€μ˜ μ±„κΆŒ 데이터λ₯Ό κ΄€λ¦¬ν•œλ‹€λ©΄ 'μ±„κΆŒ'이 μ μ ˆν•¨

 

μ„œλΈŒνƒ€μž… μ—”ν„°ν‹° λͺ…λͺ…법

μ„œλΈŒνƒ€μž…μ˜ λͺ…λͺ…법은 λ‹Ήμ—°νžˆ μŠˆνΌνƒ€μž…κ³Ό μ—°κ΄€λœλ‹€. μ„œλΈŒνƒ€μž… μ—”ν„°ν‹° λͺ…은 주둜 μŠˆνΌνƒ€μž… 엔터티에 μˆ˜μ‹μ–΄λ₯Ό λΆ™μ΄λŠ” ν˜•μ‹μœΌλ‘œ μ‚¬μš©ν•œλ‹€.

    ex. μŠˆνΌνƒ€μž… '고객', μ„œλΈŒνƒ€μž… '법인고객'/'개인고객'

 

μΌλŒ€μΌ 관계 μ—”ν„°ν‹° λͺ…λͺ…법

μ›λž˜ ν•˜λ‚˜μ˜ μ—”ν„°ν‹°μ—μ„œ κ΄€λ¦¬ν•˜λŠ” 속성 일뢀λ₯Ό 뢄리할 λ•Œμ˜ μ˜ˆμ‹œ

  • μœ μ‚¬ν•œ 속성을 λΆ„λ¦¬ν–ˆμ„ λ•Œ → 'κ³ κ°μ‹ μš©μ—”ν„°ν‹°'와 같이 λ°μ΄ν„°μ˜ 성격에 맞게 λΆ™μ΄λŠ” 것이 μ μ ˆν•¨
  • μ‚¬μš© λΉˆλ„μ— 따라 속성을 λ‚˜λˆˆ 경우 → '~상세'둜 λΆ™μ΄λŠ” 것이 적절
  • ν”„λ‘œμ„ΈμŠ€λ₯Ό ν‘œν˜„ν•œ κ²°κ³Ό μΌλŒ€μΌ 관계가 λ‚˜νƒ€λ‚˜λŠ” 경우 → '~μš”μ²­', '~승인'κ³Ό 같이 데이터 성격에 λ§žλŠ” μ—”ν„°ν‹° λͺ…을 뢙이면 됨

 

1.21 μ—”ν„°ν‹° μ„€λͺ…은 μ–΄λ–»κ²Œ κΈ°μˆ ν•˜λŠ”κ°€?

μ—”ν„°ν‹° μ„€λͺ…은 μ—”ν„°ν‹°λ₯Ό μ •μ˜ν•˜λŠ” 것과 λ‹€λ₯΄λ‹€. μ„€λͺ…은 단지 엔터티에 κ΄€ν•΄μ„œ κΈ°μˆ ν•˜λŠ” 것이닀. μ—”ν„°ν‹° μ •μ˜λŠ” 좔상적이고 μΈ‘λŸ‰ν•  수 μ—†μ–΄ μ œλŒ€λ‘œ ν•œ 것인지 μ•Œ 수 μ—†μ§€λ§Œ, μ—”ν„°ν‹° μ„€λͺ…은 μƒλž΅ν•˜λ©΄ λ°”λ‘œ μ•Œ 수 μžˆλ‹€. μ—”ν„°ν‹° μ„€λͺ…은 μƒλž΅ν•˜μ§€ μ•Šκ³  λ°˜λ“œμ‹œ κΈ°μˆ ν•΄μ•Ό ν•œλ‹€.

μ—”ν„°ν‹° μ„€λͺ…을 κΈ°μˆ ν•˜λŠ” 이유 → κ·Έ μ—”ν„°ν‹°κ°€ μ–΄λ–€ 데이터λ₯Ό κ΄€λ¦¬ν•˜λŠ”μ§€ μ•Œκ²Œ ν•˜κΈ° μœ„ν•¨

μ—”ν„°ν‹° μ„€λͺ…은 일반적으둜 λͺ¨λΈλŸ¬κ°€ λ‹€λ₯Έ μ‚¬λžŒμ„ μœ„ν•΄ κΈ°μˆ ν•˜μ§€λ§Œ, λͺ¨λΈλ§ν•˜λŠ” μ€‘μ—λŠ” λͺ¨λΈλŸ¬ μžμ‹ μ—κ²Œ 도움이 λœλ‹€. λͺ¨λΈλ§ 도쀑에 μ—”ν„°ν‹° μ„€λͺ…이 μ—†μœΌλ©΄ μ—”ν„°ν‹° μ •μ˜κ°€ λͺ¨ν˜Έν•΄μ§€λŠ” λ•Œκ°€ λ§Žλ‹€. μ—”ν„°ν‹° μ„€λͺ…은 타인을 μœ„ν•¨μ΄μ§€λ§Œ λͺ¨λΈλŸ¬ 본인을 μœ„ν•΄μ„œλ„ λ°˜λ“œμ‹œ μ“Έ 것을 κΆŒν•œλ‹€.

 

μ—”ν„°ν‹° μ„€λͺ…에 κΈ°μˆ ν•˜λŠ” λ‚΄μš©

  1. 본질적인 μ„€λͺ…
    • μ—”ν„°ν‹°λ₯Ό κ΅¬μ„±ν•˜λŠ” λ°μ΄ν„°μ˜ 본질/성격/주제 등에 λŒ€ν•΄μ„œ μ„€λͺ…
    • μ—”ν„°ν‹°μ—μ„œ κ΄€λž˜ν•˜λŠ” 데이터 μžμ²΄μ— λŒ€ν•œ μ„€λͺ…μœΌλ‘œ ν•„μˆ˜ λ‚΄μš©
  2. λΆ€κ°€ μ„€λͺ…
    • 데이터 λ³Έμ§ˆμ— λŒ€ν•œ μ„€λͺ… μ΄μ™Έμ˜ 업무에 λŒ€ν•œ μ„€λͺ…, ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•œ μ„€λͺ…
    • 참고둜 κΈ°μˆ ν•˜λ©΄ 쒋은 μ„€λͺ…이기 λ•Œλ¬Έμ— 이것이 μ£Όκ°€ λ˜λŠ” 것은 μ’‹μ§€ μ•Šλ‹€.
    • ν•΄λ‹Ή μ—”ν„°ν‹°κ°€ μ›μ²œ μ—”ν„°ν‹°κ°€ μ•„λ‹Œ 가곡 엔터티일 λ•ŒλŠ”, μ›μ²œ μ—”ν„°ν‹°κ°€ μ–΄λ–€ 엔터티인지λ₯Ό κΈ°μˆ ν•΄μ•Ό ν•œλ‹€. → μ€‘μš”ν•œ λΆ€κ°€ 정보
    • μ™ΈλΆ€μ—μ„œ 받은 데이터라면 μ–΄λ””μ—μ„œ λ°›μ•˜λŠ”μ§€λ₯Ό κΈ°μˆ ν•΄μ•Ό ν•œλ‹€.

ν˜„ν–‰ μ—”ν„°ν‹°

  • 'μ—”ν„°ν‹°λͺ…[ν…Œμ΄λΈ”λͺ…]' ν˜•μ‹μ˜ ν˜„ν–‰ μ—”ν„°ν‹° 정보λ₯Ό κΈ°μˆ ν•˜λŠ” 것이 μ’‹λ‹€.

μ„œλΈŒνƒ€μž… μ—”ν„°ν‹°

  • μ„œλΈŒνƒ€μž…μ˜ 데이터 성격이 μŠˆνΌνƒ€μž…κ³Ό κ°™μœΌλ―€λ‘œ μŠˆνΌνƒ€μž…μ— μ€€ν•˜λŠ” μ„€λͺ…을 κΈ°μˆ ν•˜λ©΄ λœλ‹€.
  • μ„œλΈŒνƒ€μž… 집합에 λŒ€ν•œ μ„€λͺ…κ³Ό 고유 속성에 λŒ€ν•œ μ„€λͺ…을 κΈ°μˆ ν•˜λŠ” 것이 μ’‹λ‹€.

κ·Έ μ™Έ

  • κ°„κ²°ν•œ μ„€λͺ…이 쒋은 μ„€λͺ…이닀. λ‹¨μˆœ λͺ…λ£Œν•˜κ²Œ μ„€λͺ…ν•΄μ•Ό ν•œλ‹€. 
  • μ—”ν„°ν‹° μ„€λͺ…은 μ—”ν„°ν‹° λͺ…κ³Ό μ—”ν„°ν‹° 속성에 쒅속적이닀. 결ꡭ은 λ°μ΄ν„°λ² μ΄μŠ€μ— 생성돼 μš΄μ˜λ˜λŠ” ν‘œλ©΄(μŠ€ν‚€λ§ˆ)을 보고 νŒλ‹¨ν•˜λŠ” 것이지 κΈ€(μ„€λͺ…)을 κ·ΈλŒ€λ‘œ 따라 νŒλ‹¨ν•  μˆ˜λŠ” μ—†λ‹€. μ„€λͺ…은 μŠ€ν‚€λ§ˆλ₯Ό μ΄ν•΄ν•˜κΈ° μœ„ν•œ 보쑰 정보일 뿐이닀.
  • 속성 μ„€λͺ…은 쑰사λ₯Ό μƒλž΅ν•  μˆ˜λ„ 있고 λͺ…μ‚¬ν˜•μœΌλ‘œ λλ‚˜λ„λ‘ μž‘μ„±ν•˜λŠ” 것이 λͺ…λ£Œν•˜μ§€λ§Œ, μ—”ν„°ν‹° μ„€λͺ…은 속성 μ„€λͺ…κ³Όμ˜ 차별을 μœ„ν•΄ μ™„μ „ν•œ λ¬Έμž₯으둜 κΈ°μˆ ν•˜λŠ” 것이 μ’‹λ‹€.

1.22 κ°œλ… λͺ¨λΈμ— ν¬ν•¨ν•˜λŠ” μ£Όμš” μ—”ν„°ν‹°λž€?

κ°œλ… λͺ¨λΈμ΄λž€

  • 일반적으둜 핡심 에넑티와 핡심 μ—”ν„°ν‹° κ°„μ˜ 관계λ₯Ό ν‘œν˜„ν•œ λͺ¨λΈμ„ λ§ν•œλ‹€.

핡심 μ—”ν„°ν‹°/μ£Όμš” μ—”ν„°ν‹°

  • μ€‘μš”ν•˜κ³  주된 μ—”ν„°ν‹° → 무엇이 μ€‘μš”ν•˜κ³  주된 것인가?
    • ν–‰μœ„μ˜ 주체가 λ˜λŠ” μ—”ν„°ν‹°
    • μ–΄λ–€ ν–‰μœ„μ˜ λŒ€μƒ(λͺ©μ )이 λ˜λŠ” μ—”ν„°ν‹°
    • ν•˜μœ„ μ—”ν„°ν‹°κ°€ λ§Žμ€ μ—”ν„°ν‹°
    • 핡심 업무에 μ‚¬μš©λ˜λŠ” μ—”ν„°ν‹°
    • μ—…λ¬΄μ—μ„œ 자주 μ‚¬μš©λ˜λŠ” μ—”ν„°ν‹°(쿼리λ₯Ό λΆ„μ„ν•΄μ„œ μ£Όμš” μ—”ν„°ν‹°λ₯Ό μ°Ύμ•„μ•Ό ν•˜λŠ”λ° λͺ¨λΈλ§μ΄ λλ‚œ μƒνƒœμ—μ„œ ν•  수 μžˆμŒλ―€λ‘œ ν˜„μ‹€μ μ΄μ§€ μ•ŠμŒ)

μ£Όμš” μ—”ν„°ν‹°λ₯Ό μ„ μ •ν•˜λŠ” κ°€μž₯ 큰 이유

  • κ°œλ… λͺ¨λΈλ§μ„ ν•˜κΈ° μœ„ν•΄μ„œ
  • 뢄석을 μ‹œμž‘ν•  μ—”ν„°ν‹°λ₯Ό μ°ΎκΈ° μœ„ν•΄μ„œ

μ£Όμš” μ—”ν„°ν‹°λ₯Ό μ„ μ •ν•˜λŠ” κ°€μž₯ 효과적인 방법

  • ν˜„μ—… IT λ‹΄λ‹Ήμžμ—κ²Œ 도움을 λ°›λŠ” 것
    • 이 방법을 μ‚¬μš©ν•˜λ©΄ μ£Όμš” μ—”ν„°ν‹° 선정이 λΉ λ₯΄κ³  μ •ν™•ν•˜λ‹€.
    • μžμ—°νžˆ μ„ μ •λœ μ£Όμš” μ—”ν„°ν‹°λΆ€ν„° 본격적인 뢄석을 μ‹œμž‘ν•  수 μžˆμœΌλ―€λ‘œ μž₯점이 λ§Žλ‹€.
    • κ°œλ… λͺ¨λΈλ§μ„ λ°”λ‘œ μ‹œμž‘ν•  수 μžˆλ‹€
  • λͺ¨λΈλŸ¬μ˜ 개랡 뢄석을 ν†΅ν•˜μ—¬ μ£Όμš” μ—”ν„°ν‹° μ„ μ •
    • 싀체/ν–‰μœ„/가곡 μ—”ν„°ν‹°λ‘œ λΆ„λ₯˜ν•˜λ©΄μ„œ μ£Όμš” μ—”ν„°ν‹°λ₯Ό μ„ μ •ν•˜λ©΄ νš¨κ³Όμ μ΄λ‹€.
    • λ‹€μ†Œκ°„μ˜ μ‹œκ°„μ΄ κ±Έλ¦°λ‹€.
    • ν˜„ν–‰ μ—”ν„°ν‹°λ₯Ό 개랡적으둜 λΆ„μ„ν•œ 후에 κ°œλ… λͺ¨λΈλ§μ„ μ‹œμž‘ν•   수 μžˆλ‹€

 

1.23 μ—”ν„°ν‹° μ •μ˜μ˜ 또 λ‹€λ₯Έ 이름 - 업무 μ‹λ³„μž

μ—”ν„°ν‹°λ₯Ό μ •μ˜ν•  λ•Œ μ€‘μš”ν•œ 또 λ‹€λ₯Έ μš”μ†ŒλŠ” 업무 μ‹λ³„μžλ‹€. μ—”ν„°ν‹°λ₯Ό μ •μ˜ν•˜λŠ” κ²ƒμ—λŠ” 업무 μ‹λ³„μžλ₯Ό λ„μΆœν•˜λŠ” 것이 ν¬ν•¨λœλ‹€. 업무 μ‹λ³„μžλ₯Ό λͺ¨λ₯΄κ³  μ—”ν„°ν‹°λ₯Ό 섀계(μ •μ˜)ν•  수 μ—†λ‹€. 집합을 식별할 수 μžˆλŠ” μ‹λ³„μž(κ²°μ •μž)κ°€ λ¬΄μ—‡μΈμ§€λŠ” μ—”ν„°ν‹°λ₯Ό μ •μ˜ν•˜λ©΄μ„œ μžμ—°μŠ€λŸ½κ²Œ κ²°μ •λœλ‹€.

 

μ‹λ³„μž

  • μ—”ν„°ν‹°μ—μ„œ λ°μ΄ν„°μ˜ μœ μΌμ„±μ„ 보μž₯ν•΄ μ£ΌλŠ”, κ²°μ •μž 역할을 ν•˜λŠ” μ†μ„±μ΄λ‚˜ 속성 집합을 의미

업무 μ‹λ³„μž

  • 업무 μ‹λ³„μžλŠ” μ‹λ³„μžμ˜ μ’…λ₯˜ 쀑 ν•˜λ‚˜ → μ—…λ¬΄μ μœΌλ‘œ μΈμŠ€ν„΄μŠ€λ₯Ό κ΅¬λΆ„ν•˜κ²Œ ν•˜λŠ” μ‹λ³„μžλ₯Ό 의미
  • 업무 μ‹λ³„μžλŠ” μΈμŠ€ν„΄μŠ€μ˜ 개수λ₯Ό λŠ˜λ¦¬λŠ” 데 영ν–₯을 μ€€λ‹€. 데이터λ₯Ό μ—…λ¬΄μ μœΌλ‘œ κ΅¬λΆ„ν•΄μ„œ μ‚¬μš©ν•  λ•Œ 업무 μ‹λ³„μž 값이 μƒˆλ‘­κ²Œ 생긴닀. 데이터λ₯Ό μŒ“λŠ” 기쀀이 λ˜λŠ” 것이 업무 μ‹λ³„μžμ΄λ‹€.
  • 업무 μ‹λ³„μžλŠ” μ—”ν„°ν‹°λ₯Ό μ •μ˜ν•˜λŠ” μ‹œμ μ— λ„μΆœν•΄μ•Ό ν•œλ‹€. μ£Ό μ‹λ³„μžλ₯Ό κ²°μ •ν•˜λŠ” 것은 쑰금 늦좰질 수 μžˆμ§€λ§Œ, 업무 μ‹λ³„μžλŠ” μ—”ν„°ν‹° μ •μ˜μ™€ 직접 μ—°κ²°λ˜κΈ° λ•Œλ¬Έμ— μ—”ν„°ν‹°λ₯Ό μ •μ˜ν•˜λŠ” μ‹œμ μ—μ„œ λ„μΆœν•΄μ•Ό ν•œλ‹€.

μœ„ 사원 λ¦΄λ ˆμ΄μ…˜μ—μ„œ μ‚¬μ›μ£Όλ“±λ‘λ²ˆν˜Έ 속성이 업무 μ‹λ³„μž(밑쀄 ν‘œμ‹œ)라면, μ‚¬μ›μ˜ μ£Όλ―Όλ“±λ‘λ²ˆν˜Έκ°€ κ°™μœΌλ©΄ μƒˆλ‘œμš΄ μ‚¬μ›μœΌλ‘œ μΈμ‹ν•˜μ§€ μ•Šκ² λ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€. 즉, μƒˆλ‘œμš΄ μΈμŠ€ν„΄μŠ€κ°€ μΆ”κ°€λ˜λŠ” 기쀀은 μ‚¬μ›μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ 속성이닀. 

μ‚¬μ›μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ 속성에 μ˜ν•΄μ„œ 데이터가 λ°œμƒλ˜κ³  μΈμŠ€ν„΄μŠ€κ°€ κ΅¬λ³„λœλ‹€. 업무 μ‹λ³„μžμΈ μ‚¬μ›μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ 속성이 μ—†λ‹€λ©΄ ν•΄λ‹Ή λ°μ΄ν„°μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό λŠ˜λ¦¬λŠ” 기쀀을 μ•Œ 수 μ—†κ²Œ λœλ‹€. λ°˜λ©΄μ— μ£Ό μ‹λ³„μž(# ν‘œμ‹œ)인 μ‚¬μ›λ²ˆν˜ΈλŠ” 단지 μΈμŠ€ν„΄μŠ€λ₯Ό μ‹λ³„ν•˜λŠ” μ—­ν• λ§Œμ„ ν•œλ‹€. μ—”ν„°ν‹°μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό λŠ˜λ¦¬λŠ” λ°λŠ” 영ν–₯λ ₯이 μ—†λ‹€. μΈμŠ€ν„΄μŠ€κ°€ λŠ˜μ–΄λ‚œ κ²°κ³Όλ₯Ό λ°˜μ˜ν–ˆμ„ 뿐이닀.

 

μ‚¬μ›λ²ˆν˜Έ 속성은 μ£Ό μ‹λ³„μžμ΄λ©΄μ„œ 인쑰 μ‹λ³„μžμ΄λ‹€. 인쑰 μ‹λ³„μžλŠ” 단지 μΈμŠ€ν„΄μŠ€λ₯Ό μ‹λ³„ν•˜λŠ” 역할을 ν•˜μ§€λ§Œ, 업무 μ‹λ³„μžλŠ” γ…‡λ‹ˆμŠ€ν„΄μŠ€μ˜ λ°œμƒ 기쀀을 μ˜λ―Έν•œλ‹€. 인쑰 μ‹λ³„μžλŠ” μΈμŠ€ν„΄μŠ€λ₯Ό 물리적으둜 κ΅¬λΆ„ν•˜λŠ” 역할을 ν•˜μ§€λ§Œ 업무 μ‹λ³„μžλŠ” μΈμŠ€ν„΄μŠ€λ₯Ό μ—…λ¬΄μ μœΌλ‘œ κ΅¬λΆ„ν•˜λŠ” 역할을 ν•œλ‹€. 

 

1.24 업무 μ‹λ³„μž λ„μΆœ 방법

업무 μ‹λ³„μžλ₯Ό μ°ΎλŠ” 방법

  • μ—”ν„°ν‹°μ˜ μΈμŠ€ν„΄μŠ€κ°€ μ–΄λ–€ κΈ°μ€€(속성)에 μ˜ν•΄μ„œ μƒμ„±λ˜λŠ”μ§€λ₯Ό μ°Ύμ•„μ•Ό ν•œλ‹€. → 데이터가 μƒμ„±λ˜λŠ” 기쀀을 μ°Ύμ•„μ•Ό ν•œλ‹€.
  • μ •κ·œν™”λ₯Ό μˆ˜ν–‰ν•˜λŠ” κΈ°μ€€(κ²°μ •μž, Determinant)을 μ°Ύμ•„μ•Ό ν•œλ‹€. → κ²°μ •μžκ°€ κ³§ 업무 μ‹λ³„μž.
  • μ΅œμ†Œν•œμ˜ 속성이 λ˜λ„λ‘ ν•΄μ•Ό ν•œλ‹€.(슈퍼 μ‹λ³„μž μ‚¬μš©μ€ μ§€μ–‘ν•  것)

싀체 μ—”ν„°ν‹°μ˜ 업무 μ‹λ³„μž

  • 보톡 식별 λ²ˆν˜Έκ°€ 업무 μ‹λ³„μžκ°€ λœλ‹€.(ex. μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ, μ‚¬μ—…μžλ“±λ‘λ²ˆν˜Έ)
  • 싀체λ₯Ό μ§€μΉ­ν•˜λŠ” 식별 번호 μžμ²΄κ°€ 싀체 μ—”ν„°ν‹°μ˜ 업무 μ‹λ³„μžκ°€ λœλ‹€.
  • 싀체 μ—”ν„°ν‹°μ˜ 업무 μ‹λ³„μžμ—λŠ” 일자 속성이 ν¬ν•¨λ˜μ§€ μ•ŠλŠ”λ‹€.(이λ ₯ λ°μ΄ν„°λŠ” μ˜ˆμ™Έ)

ν–‰μœ„ μ—”ν„°ν‹°μ˜ 업무 μ‹λ³„μž

  • μœ‘ν•˜μ›μΉ™μ— μ˜ν•΄ μ •ν•΄μ§„λ‹€.
  • ν–‰μœ„ μ—”ν„°ν‹°μ˜ 데이터λ₯Ό μƒμ„±μ‹œν‚€λŠ” κΈ°μ€€
    • λˆ„κ°€(Who, ν–‰μœ„μ˜ 주체)
    • 무엇을(What, ν–‰μœ„μ˜ λŒ€μƒ)
    • μ–Έμ œ(When, ν–‰μœ„μ˜ μ‹œκ°„)
    • μ–΄λ–»κ²Œ(How, ν–‰μœ„μ˜ 방법)
  • ν–‰μœ„ μ—”ν„°ν‹°μ˜ 업무 μ‹λ³„μžμ—λŠ” μΌμžκ°€ ν¬ν•¨λ˜λŠ” κ²½μš°κ°€ λ§Žλ‹€.(ν–‰μœ„κ°€ μ—¬λŸ¬ 번 λ°œμƒν•  수 있기 λ•Œλ¬Έ)

집계 μ—”ν„°ν‹°μ˜ 업무 μ‹λ³„μž

  • 집계 기쀀이 업무 μ‹λ³„μžκ°€ 되며, 이 경우 λŒ€λΆ€λΆ„ 업무 μ‹λ³„μžκ°€ κ·ΈλŒ€λ‘œ μ£Ό μ‹λ³„μžκ°€ λœλ‹€.

μ‹œκ° 속성과 순번 속성

  • 업무 μ‹λ³„μžλ₯Ό λ„μΆœν•  λ•ŒλŠ” μ‹œκ° 속성은 λ°°μ œν•˜κ³  μƒκ°ν•˜λŠ” 것이 μ’‹λ‹€.
  • νƒ€μž„μŠ€νƒ¬ν”„ νƒ€μž… 속성이 이미 물리적으둜 μΈμŠ€ν„΄μŠ€λ₯Ό ꡬ뢄할 수 있기 λ•Œλ¬Έμ— 업무 μ‹λ³„μžμ™€ ν˜Όλ™λ  수 μžˆλ‹€. κ°„ν˜Ή 업무 μ‹λ³„μžλŠ” λ„μΆœν•˜μ§€ μ•Šκ³  νƒ€μž„μŠ€νƒ¬ν”„ 속성을 μ£Ό μ‹λ³„μžλ‘œ 섀계할 λ•Œκ°€ μžˆλŠ”λ°, μ΄λ ‡κ²Œ μ ‘κ·Όν•˜λ©΄ νƒ€μž„μŠ€νƒ¬ν”„ 속성은 λͺ¨λ“  μ—”ν„°ν‹°μ˜ μ£Ό μ‹λ³„μžκ°€ 될 수 있기 떄문에 μ˜λ―Έκ°€ μ—†λ‹€.
  • μ‹œκ° 속성을 λ°°μ œν•œ 후에 μ •ν•œ 업무 μ‹λ³„μžκ°€ μΈμŠ€ν„΄μŠ€λ₯Ό ꡬ별할 수 μ—†λ‹€λ©΄ κ·Έλ•Œ μ‹œκ° 속성을 μΆ”κ°€ν•˜λ©΄ λœλ‹€. 
  • 순번 속성은 μˆœμˆ˜ν•œ 인쑰 μ‹λ³„μž → μ‹œκ° 속성보닀 λ”μš± 업무 μ‹λ³„μžλ‘œμ„œμ˜ μ˜λ―Έκ°€ μ—†μ–΄μ„œ 순번 속성은 업무 μ‹λ³„μžμ— ν¬ν•¨μ‹œν‚€μ§€ μ•Šμ•„μ•Ό ν•œλ‹€.
  • 순번 속성을 μ£Ό μ‹λ³„μžμ—μ„œλ„ λ¬΄λΆ„λ³„ν•˜κ²Œ μ‚¬μš©ν•˜μ§€ μ•Šλ„λ‘ μ£Όμ˜ν•΄μ•Ό ν•œλ‹€.
  • μ‹œκ° 속성과 순번 속성을 λ°°μ œν•˜κ³  업무 μ‹λ³„μžλ₯Ό 고민해보면 μ—”ν„°ν‹°μ˜ 성격을 νŒŒμ•…ν•˜λŠ” 데도 λ§Žμ€ 도움이 λœλ‹€.

 

1.25 업무 μ‹λ³„μž ν‘œν˜„ 방법

업무 μ‹λ³„μžμ— μœ λ‹ˆν¬ 인덱슀λ₯Ό μƒμ„±ν•œλ‹€. → ν•΄λ‹Ή 속성에 쀑볡 값이 생기지 μ•Šκ²ŒλΌ 물리적으둜 업무 μ‹λ³„μžμ˜ 역할을 ν•  수 있음

 

 

1.26 데이터 λͺ¨λΈμ„ 검증할 수 μžˆλŠ”κ°€?

λͺ¨λΈλ§μ΄ λλ‚œ ν›„ μ΅œμ’… λͺ¨λΈμ„ 단기간에 κ²€μ¦ν•˜λŠ” 방법은 μ—†λ‹€.

λͺ¨λΈμ„ κ²€μ¦ν•˜κΈ° μœ„ν•΄ μ—”ν„°ν‹° ν•˜λ‚˜ν•˜λ‚˜λ₯Ό μƒμ„Έν•˜κ²Œ λ“€μ—¬λ‹€λ³΄λŠ”, 사싀상 λͺ¨λΈλ§κ³Ό λ§ˆμ°¬κ°€μ§€ μˆ˜μ€€μ˜ 검증을 ν•  μˆ˜λŠ” μ—†λ‹€. μ–΄λŠ μ •λ„κΉŒμ§€ κ°€λŠ₯ν• μ§€ λͺ¨λ₯΄κ² μ§€λ§Œ, κ°κ΄€ν™”ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ •λŸ‰ν™”ν•΄μ„œ 수치둜 평가할 수 μžˆμ–΄μ•Ό ν•œλ‹€.

λͺ¨λΈ 검증은 λͺ¨λΈμ˜ ν’ˆμ§ˆμ„ λ†’μ΄λŠ” ν–‰μœ„μ΄κΈ° λ•Œλ¬Έμ— 비둝 λΆ€μ‘±ν•˜λ”λΌλ„ μ§€μ†ν•΄μ„œ μˆ˜ν–‰ν•΄μ•Ό ν•˜κ³  쒋은 방법을 연ꡬ해야 ν•œλ‹€. 

 

β–Ά λͺ¨λΈλ§ 검증 방법

  • μ—”ν„°ν‹° 검증
  • 관계 검증
  • 속성 검증

 

1.27 μ—”ν„°ν‹° 검증

데이터 λͺ¨λΈ 검증 μ‹œ 근본적으둜 κ²€ν† ν•΄μ•Ό ν•  사항

  • λͺ¨λΈμ— ν‘œν˜„λ˜μ§€ μ•Šμ€ 업무가 μžˆλŠ”κ°€?
  • λͺ¨λΈμ— ν‘œν˜„λœ λΆˆν•„μš”ν•œ 업무가 μžˆλŠ”κ°€?

μ—”ν„°ν‹° 쑴재 μ—¬λΆ€ 검증 방법(기초적인 방법)

  1. ν™”λ©΄κ³Ό λΉ„κ΅ν•˜λŠ” 방법
    • 화면은 μžˆλŠ”λ° μ—”ν„°ν‹°κ°€ μ—†λŠ” 경우
    • μ—”ν„°ν‹°λ§Œ μ‘΄μž¬ν•˜κ³  화면이 μ—†λŠ” 경우
    • 엔터티에도 μ—†κ³  화면에도 μ—†λŠ” 경우
  2. ASIS 엔터티와 λΉ„κ΅ν•˜λŠ” 방법
    • ASIS μ—”ν„°ν‹°κ°€ TOBE λͺ¨λΈμ— μ—†λŠ” 경우
    • TOBE λͺ¨λΈμ— μžˆλŠ” μ—”ν„°ν‹°κ°€ ASIS λͺ¨λΈμ— μ—†λŠ” 경우

μ—”ν„°ν‹°λ₯Ό κ²€μ¦ν•˜λŠ” μ—¬λŸ¬ κ°€μ§€ 방법

  1. μ†μ„±μœΌλ‘œ 섀계해야 ν•˜λŠ” 것은 μ•„λ‹Œμ§€?
    • μ†μ„±μœΌλ‘œ 섀계해야 ν•˜λŠ”λ° μ—”ν„°ν‹°λ‘œ μ„€κ³„ν•œ 경우
    • μ—”ν„°ν‹°λ‘œ 섀계해야 ν•˜λŠ”λ° μ†μ„±μœΌλ‘œ μ„€κ³„ν•œ 경우
  2. ν•˜λ‚˜μ˜ μ—”ν„°ν‹°λŠ” ν•˜λ‚˜μ˜ 주제둜 κ΅¬μ„±λ˜μ—ˆλŠ”κ°€?
    • ν•œ 엔터티에 μ—¬λŸ¬ μ„±κ²©μ˜ 데이터가 ν˜Όμž¬ν•΄μ„œλŠ” μ•ˆ λœλ‹€.
  3. μœ μ‚¬ν•œ μ„±κ²©μ˜ 데이터인데 κ°œλ³„μ μΈ μ—”ν„°ν‹°μ—μ„œ κ΄€λ¦¬ν•˜κ³  μžˆμ§€ μ•Šμ€μ§€?
    • μœ μ‚¬ν•œ 데이터가 μ—¬λŸ¬ 엔터티에 μ‘΄μž¬ν•˜λŠ” 것은 νŠΉλ³„ν•œ 이득이 μ—†μœΌλ―€λ‘œ μ—”ν„°ν‹° 톡합을 κΈ°λ³Έ μ›μΉ™μœΌλ‘œ 검증해야 ν•œλ‹€.
    • μœ μ‚¬ν•œ μ„±κ²©μ˜ μ—”ν„°ν‹°λ₯Ό μ°ΎλŠ” 방법
      • μ—”ν„°ν‹° λͺ…μœΌλ‘œ μ •λ ¬ν•˜κΈ°
      • μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό λΉ„κ΅ν•˜κΈ°(μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λͺ…μœΌλ‘œ μ •λ ¬)
      • λͺ¨λΈμ˜ λͺ¨μ–‘을 μ‚΄νŽ΄λ³΄λŠ” 방법(μœ μ‚¬ν•œ ꡬ쑰가 λ°˜λ³΅λ˜λŠ”μ§€)
  4. ν•„μš”ν•œ λ‹¨μ–΄λ§Œμ„ μ‚¬μš©ν•΄μ„œ μ—”ν„°ν‹° λͺ…을 ꡬ체적으둜 λΆ™μ˜€λŠ”μ§€?
    • μ—”ν„°ν‹° λͺ…을 보고 μ–΄λ–€ 데이터λ₯Ό κ΄€λ¦¬ν•˜λŠ” 엔터티인지λ₯Ό μ•Œ 수 μžˆλ„λ‘ κ°€λŠ₯ν•œ ꡬ체적이어야 ν•œλ‹€.
    • ν™•μž₯성을 κ³ λ €ν•΄μ„œ μœ μ—°ν•˜κ²Œ μ—”ν„°ν‹° λͺ…을 μ •ν–ˆλŠ”μ§€ κ²€ν† ν•΄μ•Ό ν•œλ‹€.
    • μ—”ν„°ν‹° λͺ…에 ν•„μš” μ—†λŠ” λ‹¨μ–΄λŠ” μƒλž΅ν•΄μ•Ό ν•œλ‹€.
    • μ„œλΈŒνƒ€μž… μ—”ν„°ν‹° λͺ…은 μŠˆνΌνƒ€μž… μ—”ν„°ν‹° λͺ…을 μ°¨μš©ν•΄μ•Ό ν•œλ‹€. 
  5. μ—”ν„°ν‹° λͺ…이 μ£Ό μ‹λ³„μžμ™€ ν•œ 쌍이 λ˜λ„λ‘ λΆ™μ˜€λŠ”μ§€?
    • μ—”ν„°ν‹° λͺ…은 μ£Ό μ‹λ³„μžμ™€ ν•œ 쌍처럼 잘 μ–΄μšΈλ €μ•Ό ν•œλ‹€.
    • μ—”ν„°ν‹° λͺ…κ³Ό μ£Ό μ‹λ³„μžλ₯Ό μ—‘μ…€λ‘œ λ½‘μ•„μ„œ μ„œλ‘œ μ–΄μšΈλ¦¬λŠ”μ§€ κ²€ν† ν•΄λ³΄λŠ” 것은 쒋은 방법이닀.
  6. μ—”ν„°ν‹° μ„€λͺ…이 μ‘΄μž¬ν•˜λ©° κ°„κ²°ν•˜κ³  λͺ…ν™•ν•œκ°€?
    • μ—”ν„°ν‹° μ„€λͺ…은 λ°˜λ“œμ‹œ κΈ°μˆ ν•˜λŠ” 것이 원칙이닀.
    • 엑셀에 μ—”ν„°ν‹° λͺ…κ³Ό μ—”ν„°ν‹° μ„€λͺ…λ§Œμ„ λ½‘μ•„μ„œ κ²€ν† ν•˜λŠ” 것도 쒋은 방법이닀. λͺ¨λΈλŸ¬λŠ” μ—”ν„°ν‹° λͺ…κ³Ό μ„€λͺ…λ§Œμ„ 보고도 ν•΄λ‹Ή μ—”ν„°ν‹°λ₯Ό μΆ©λΆ„νžˆ μ„€λͺ…ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.
  7. 업무 μ‹λ³„μžκ°€ μ‘΄μž¬ν•˜λŠ”κ°€?
    • μ£Ό μ‹λ³„μžκ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μ—”ν„°ν‹°λŠ” μžˆμ„ 수 μžˆμ§€λ§Œ 업무 μ‹λ³„μžκ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μ—”ν„°ν‹°κ°€ μžˆμ–΄μ„œλŠ” μ•ˆ λœλ‹€.
  8. 이λ ₯ 데이터λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ—”ν„°ν‹°κ°€ λ§žλŠ”μ§€?
    • 이λ ₯ μ—”ν„°ν‹°λŠ” μš°μ„  μ—”ν„°ν‹° λͺ…이 '~이λ ₯'으둜 λλ‚˜μ•Ό ν•œλ‹€.
    • 이λ ₯ 데이터와 λ‚΄μ—­ μ—”ν„°ν‹°λ₯Ό ꡬ뢄해야 ν•œλ‹€.(μΆ”ν›„ 6.2μž₯μ—μ„œ μ„€λͺ… μ˜ˆμ •)
    • 이λ ₯ μ—”ν„°ν‹°κ°€ λ§žλŠ”μ§€λ₯Ό κ²€μ¦ν•˜λŠ” κ°€μž₯ κ°„λ‹¨ν•œ 방법 → μ£Ό μ‹λ³„μžμ— λ³€κ²½μΌμžλ‚˜ μ’…λ£ŒμΌμž 속성이 μžˆλŠ”μ§€λ₯Ό 확인할 것
    • 싀체 엔터티라면 μ›μ²œ 엔터티와 이λ ₯ μ—”ν„°ν‹°λ₯Ό λ³„λ„λ‘œ κ΄€λ¦¬ν•˜λŠ” 것이 μ’‹λ‹€.
    • μ£Ό μ‹λ³„μžμ— '~순번' 속성을 μ‚¬μš©ν•œ 이λ ₯ 엔터티도 별도 κ²€ν† κ°€ ν•„μš”ν•˜λ‹€.
  9. μΌλŒ€μΌ κ΄€κ³„μ˜ 두 μ—”ν„°ν‹°λ₯Ό 합체할 μˆ˜λŠ” μ—†λŠ”κ°€?
    • 이유 없이 μ—”ν„°ν‹°κ°€ λŠ˜μ–΄λ‚˜λŠ” 것은 λ°”λžŒμ§ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μ„±λŠ₯/관리 λ¬Έμ œκ°€ μ—†λ‹€λ©΄ 합체할 것을 κ³ λ €ν•œλ‹€.
  10. 쒅속 관계 μ—”ν„°ν‹°μ˜ μ£Ό μ‹λ³„μž 상속이 μ μ ˆν•œκ°€?
    1. 쒅속 μ—”ν„°ν‹°λŠ” 일반적으둜 μ£Ό μ‹λ³„μžλ₯Ό μ‹λ³„μžλ‘œμ„œ μƒμ†ν•œλ‹€. μ‹λ³„μžλ‘œ μƒμ†ν•œ κ΄€κ³„λ§Œ λ½‘μ•„μ„œ 쒅속 엔터티인지λ₯Ό κ²€ν† ν•˜λŠ” 것도 μœ μš©ν•œ 검증 방법이닀.
  11. 데이터 μΈμŠ€ν„΄μŠ€κ°€ ν•˜λ‚˜λΏμΈ 특수 μ—”ν„°ν‹°κ°€ μžˆλŠ”κ°€?
    • μΈμŠ€ν„΄μŠ€κ°€ ν•˜λ‚˜λΏμΈ μ—”ν„°ν‹°λŠ” ν”μΉ˜ μ•Šλ‹€. 이런 μ—”ν„°ν‹°κ°€ λ°˜λ“œμ‹œ 잘λͺ»λœ 것은 μ•„λ‹ˆμ§€λ§Œ, 재차 확인해 λ³Ό ν•„μš”λŠ” μžˆλ‹€.
    • 업무 μš”κ±΄μ— μ˜ν•΄μ„œ ν•˜λ‚˜μ˜ μΈμŠ€ν„΄μŠ€λ§Œ λ°œμƒν•˜λŠ” μ—”ν„°ν‹°λŠ” 정상적인 엔터티이기 λ•Œλ¬Έμ— 이λ₯Ό κΈˆμ§€ν•˜λŠ” 것은 λ°”λžŒμ§ν•˜μ§€ μ•Šλ‹€.
  12. μ£Ό μ‹λ³„μžκ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μ—”ν„°ν‹°κ°€ μžˆλŠ”κ°€?
    • μ£Ό μ‹λ³„μžκ°€ μ—†λ‹€κ³  λ°˜λ“œμ‹œ 잘λͺ»λœ μ—”ν„°ν‹°λŠ” μ•„λ‹ˆμ§€λ§Œ, μ£Ό μ‹λ³„μžκ°€ μ—†λŠ” μ—”ν„°ν‹°λ₯Ό λ½‘μ•„μ„œ λ‹€μ‹œ κ²€ν† ν•΄μ•Ό ν•œλ‹€.
  13. μ£Ό μ‹λ³„μžκ°€ λ™μΌν•œ μ—”ν„°ν‹°κ°€ μžˆλŠ”κ°€?
    • μ„±λŠ₯μ΄λ‚˜ 관리 μΈ‘λ©΄μ—μ„œ μ—”ν„°ν‹°λ₯Ό λΆ„ν•΄ν•œ μΌλŒ€μΌ(1:1) κ΄€κ³„λ‚˜ μŠˆνΌνƒ€μž…/μ„œλΈŒνƒ€μž… 관계 등을 μ œμ™Έν•˜κ³ , μ—”ν„°ν‹°μ˜ μ£Ό μ‹λ³„μžκ°€ 같은 μ—”ν„°ν‹°λŠ” μ£Ό μ‹λ³„μžλ₯Ό κ²€ν† ν•΄ λ³Ό ν•„μš”κ°€ μžˆλ‹€.
    • 업무 μ‹λ³„μžλ₯Ό κ·Όκ°„μœΌλ‘œ μ£Ό μ‹λ³„μžλ₯Ό μ„€κ³„ν–ˆλ‹€λ©΄ μ£Ό μ‹λ³„μžκ°€ λ™μΌν•œ μ—”ν„°ν‹°κ°€ μ‘΄μž¬ν•˜λ©΄ μ•ˆ λœλ‹€.
  14. μ—”ν„°ν‹°μ˜ 의미λ₯Ό μ‰½κ²Œ μ„€λͺ…ν•  수 μžˆλŠ”κ°€?
    • λͺ¨λΈλŸ¬λŠ” 슀슀둜 μ„€κ³„ν•œ 엔터티와 속성을 μ‰½κ²Œ μ„€λͺ…ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.
  15. μ™ΈλΆ€/볡제 μ—”ν„°ν‹°μ˜ μ—”ν„°ν‹° λͺ…κ³Ό μ£Ό μ‹λ³„μžκ°€ μ›μ²œ 엔터티와 같은가?
    • μ™ΈλΆ€ μ—”ν„°ν‹°λ‚˜ 볡제 μ—”ν„°ν‹°λŠ” μ›μ²œ 엔터티와 μ—”ν„°ν‹° λͺ…κ³Ό μ£Ό μ‹λ³„μžκ°€ 동일해야 ν•œλ‹€.

 

1.28 데이터 λͺ¨λΈ 섀계 원칙

λͺ¨λΈλ§ μˆ˜ν–‰ μ‹œ κ³ λ €ν•΄μ•Ό ν•  μš°μ„ μˆœμœ„

  • 데이터 무결성
  • 데이터 μ„±λŠ₯ - 데이터λ₯Ό 빨리 처리(μž…λ ₯/쑰회)ν•˜λŠ” 것을 의미
  • 관리 νš¨μœ¨μ„± - ERDλ‚˜ DB 관리λ₯Ό 효율적으둜 ν•˜λŠ” 것을 의미
  • μ‚¬μš© νŽΈμ˜μ„± - κ°œλ°œν•˜κΈ° νŽΈν•˜λ„λ‘ μ„€κ³„ν•˜λŠ” 것을 의미

데이터 λͺ¨λΈ 섀계 μ‹œ κ³ λ €ν•΄μ•Ό ν•  섀계 원칙

  1. 정체성
    • 데이터 성격에 λ§žλŠ” 정체성이 λšœλ ·ν•œ μ—”ν„°ν‹°λ₯Ό μ„€κ³„ν•˜λŠ” 것은 데이터 λͺ¨λΈ μ„€κ³„μ˜ μ€‘μš”ν•œ 원칙이닀.
    • λͺ¨λΈμ΄ μ „λ°˜μ μœΌλ‘œ 잘λͺ» μ„€κ³„λœ 경우, μ£Όμš” μ—”ν„°ν‹°μ˜ 정체성이 λΆˆλΆ„λͺ…ν•  λ•Œκ°€ λ§Žλ‹€.
  2. 톡합성
    • μœ μ‚¬ν•œ μ„±κ²©μ˜ λ°μ΄ν„°λŠ” ν†΅ν•©ν•˜λŠ” 것이 데이터 λͺ¨λΈλ§μ˜ μ£Όμš” 원칙이닀.
    • 데이터λ₯Ό ν†΅ν•©ν•˜μ—¬ μ„œλΈŒνƒ€μž…μœΌλ‘œ μ„€κ³„ν•˜λ©΄ 데이터λ₯Ό 효율적으둜 관리할 수 있고 가독성이 μ’‹μ•„μ§„λ‹€.
  3. μœ μ—°μ„±
    • μœ μ—°ν•œ λͺ¨λΈ = ν™•μž₯ν•˜κΈ° μˆ˜μ›”ν•œ λͺ¨λΈ
    • 데이터λ₯Ό ν†΅ν•©ν• μˆ˜λ‘ λͺ¨λΈμ€ μœ μ—°ν•΄μ§„λ‹€.
    • μ—”ν„°ν‹°κ°€ μ •κ·œν™”λ μˆ˜λ‘ λͺ¨λΈμ€ μœ μ—°ν•΄μ§„λ‹€.
  4. 무결성
    • 무결성은 데이터에 결점이 μ—†λŠ” μƒνƒœλ₯Ό μ˜λ―Έν•œλ‹€.
    • 엔터티에 μ£Ό μ‹λ³„μžκ°€ μ—†λ‹€λ©΄ 무결성을 μ§€ν‚€κΈ° μ–΄λ ΅λ‹€.
    • μ°Έμ‘° 무결성이 없어도 무결성을 μ§€ν‚€κΈ° μ–΄λ ΅λ‹€.
    • 무결성을 μ§€ν‚€κΈ° μœ„ν•΄μ„œλŠ” 쀑볡 데이터λ₯Ό λ°°μ œν•˜λŠ” 것이 μ’‹λ‹€.
  5. 가독성
    • 가독성은 λ°μ΄ν„°λ² μ΄μŠ€μ™€λŠ” λ¬΄κ΄€ν•œ 것이기 λ•Œλ¬Έμ— κ°€λ³κ²Œ μ—¬κΈ°λŠ” κ²½ν–₯이 μžˆμ§€λ§Œ λ°”λžŒμ§ν•˜μ§€ μ•Šλ‹€.
    • 가독성을 λ†’μ΄λŠ” λ°©λ²•μœΌλ‘œλŠ” 관계선이 κ²ΉμΉ˜μ§€ μ•Šλ„λ‘ ν•˜λŠ” 것, μ„œλΈŒνƒ€μž…μ„ ν‘œν˜„ν•˜λŠ” 것, 재취 κ΄€κ³„λ‚˜ 배타 관계λ₯Ό ν‘œν˜„ν•˜λŠ” 것 등이 μžˆλ‹€.
  6. 업무 μ—°κ΄€μ„±
    • 업무 μš”κ±΄μ— λ§žλŠ” λͺ¨λΈμ„ μ„€κ³„ν•˜κΈ° μœ„ν•΄μ„œλŠ” 업무 μ‹λ³„μžλ₯Ό μ œλŒ€λ‘œ λ„μΆœν•˜μ—¬ μ—”ν„°ν‹°λ₯Ό λΆ„λͺ…νžˆ 섀계해야 ν•œλ‹€.
  7. μ„±λŠ₯ νš¨μœ¨μ„±
    • μ„±λŠ₯ λ¬Έμ œλŠ” μš”κ±΄λ³„λ‘œ κ²€ν† ν•˜λŠ” 것이 λ°”λžŒμ§ν•˜λ‹€.
    • μ–΄λ–€ μš”κ±΄μ€ 데이터λ₯Ό ν†΅ν•©ν•˜κ³  μ •κ·œν™”λ₯Ό ν•΄μ•Ό μ„±λŠ₯이 μ’‹μ•„μ§ˆ 수 μžˆλ‹€. λŒ€λΆ€λΆ„μ˜ μš”κ±΄μ€ μ μ ˆν•œ λΉ„μ •κ·œν™”λ₯Ό 톡해 μ„±λŠ₯을 κ·ΉλŒ€ν™”ν•  수 μžˆλ‹€.
  8. 관리 νš¨μœ¨μ„±
    • ERDκ°€ μ œλŒ€λ‘œ 관리될 수 μžˆλ„λ‘ μ„€κ³„ν•˜λŠ” 것도 원칙이닀.
    • ERD 관리 μΈ‘λ©΄μ—μ„œ κ³ λ €ν•΄μ•Ό ν•  것은 μ—”ν„°ν‹° κ°œμˆ˜λ‹€. μ—”ν„°ν‹°κ°€ μ΅œλŒ€ν•œ λŠ˜μ–΄λ‚˜μ§€ μ•ŠλŠ” λ°©ν–₯으둜 μ„€κ³„ν•˜λŠ” 것이 μ’‹λ‹€.
  9. ν‘œμ€€ν™”
    • ν‘œμ€€ 지침을 메타 μ‹œμŠ€ν…œμ— μ μš©ν•˜μ—¬ 속성 λͺ…을 μΌκ΄€λ˜κ²Œ μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.
    • 데이터 ν‘œμ€€ 지침이 μžˆμ–΄μ•Ό ν•˜λ©°, ν‘œμ€€ 관리 체제λ₯Ό λ”°λΌμ„œ ν‘œμ€€ 데이터λ₯Ό 관리해야 ν•œλ‹€.
  10. 데이터 λ³΄μ•ˆ λŒ€λΉ„
    • 데이터 λ³΄μ•ˆμ€ λŒ€λΆ€λΆ„ DBMS μ°¨μ›μ˜ μ΄μŠˆκ°€ 있으며 데이터 λͺ¨λΈλ§ μ°¨μ›μ˜ μ΄μŠˆλŠ” λ“œλ¬Όλ‹€. ν•˜μ§€λ§Œ λͺ¨λΈλ§ν•  λ•ŒλŠ” μ•”ν˜Έν™” λŒ€μƒ 속성을 μ£Όμ˜ν•΄μ•Ό ν•œλ‹€.(ex. μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ)
    • μ•”ν˜Έν™” λŒ€μƒ 속성을 μ£Ό μ‹λ³„μžλ‘œ μ‚¬μš©ν•˜λ©΄ μ•ˆ λœλ‹€.

 

1.29 무결성에 λŒ€ν•΄μ„œ

무결성: 데이터 값이 μ™„μ „ν•˜κ³  μ •ν™•ν•œ μƒνƒœλ₯Ό 의미

μ •ν•©μ„±: 데이터듀이 μ„œλ‘œ μΌκ΄€λ˜κ²Œ μΌμΉ˜ν•΄μ•Ό ν•œλ‹€λŠ” 의미

 

λ°μ΄ν„°λ² μ΄μŠ€ μ°¨μ›μ—μ„œ μ§€μΌœμ•Όν•  λ¬΄κ²°μ„±μ˜ μ’…λ₯˜

  1. μ—”ν„°ν‹° 무결성
    • 엔터티에 μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  μΈμŠ€ν„΄μŠ€λŠ” κ³ μœ ν•΄μ•Ό ν•˜λ©°, 널 값을 κ°€μ§€λ©΄ μ•ˆ λœλ‹€λŠ” 것 → μ—”ν„°ν‹°μ—λŠ” λ™μΌν•œ μ£Ό μ‹λ³„μž 값이 μ‘΄μž¬ν•  수 μ—†μœΌλ©°, μ£Ό μ‹λ³„μž 속성은 널값을 ν—ˆμš©ν•  수 μ—†λ‹€.
    • μ—”ν„°ν‹° 무결성을 μ§€ν‚€κΈ° μœ„ν•œ 핡심은 μ‹λ³„μžμ΄λ‹€.
      • 업무 μ‹λ³„μž: λ…Όλ¦¬μ μœΌλ‘œ μ—”ν„°ν‹° 무결성을 만쑱(μœ λ‹ˆν¬ 인덱슀 생성)
      • μ£Ό μ‹λ³„μž: 물리적으둜 μ—”ν„°ν‹° 무결성을 만쑱(PK 생성)
  2. μ°Έμ‘° 무결성
    • μ—”ν„°ν‹°μ˜ μ™Έλž˜ μ‹λ³„μž 속성 값은 μ°Έμ‘°λ˜λŠ” μ—”ν„°ν‹°μ˜ μ£Ό μ‹λ³„μž κ°’κ³Ό μΌμΉ˜ν•˜κ±°λ‚˜ 널 값이어야 ν•œλ‹€λŠ” 것 → μ™Έλž˜ μ‹λ³„μž 속성 값이 μƒμœ„ μ—”ν„°ν‹°μ˜ μΈμŠ€ν„΄μŠ€μ— λ°˜λ“œμ‹œ μ‘΄μž¬ν•˜κ±°λ‚˜ 널이어야 ν•œλ‹€.
    • μ°Έμ‘° 무결성은 κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μ ˆλŒ€μ μœΌλ‘œ ν•„μš”ν•œ μ€‘μš”ν•œ μš”μ†Œμ΄λ©°, FK μ œμ•½μœΌλ‘œ μ§€μΌœμ§„λ‹€.
  3. 도메인 무결성
    • μ—”ν„°ν‹° 무결성이 μ‹λ³„μžμ™€ κ΄€λ ¨λœ μ œμ•½μ΄κ³  μ°Έμ‘° 무결성이 관계와 κ΄€λ ¨λœ μ œμ•½μ΄λ©΄, 도메인 무결성은 속성과 κ΄€λ ¨λœ μ œμ•½μ΄λ‹€.
    • μ—”ν„°ν‹°μ˜ νŠΉμ • 속성 값은 같은 데이터 νƒ€μž…κ³Ό 길이, 같은 널 μ—¬λΆ€, 같은 κΈ°λ³Έ κ°’, 같은 ν—ˆμš© κ°’ λ“± λ™μΌν•œ λ²”μ£Όμ˜ κ°’λ§Œμ΄ μ‘΄μž¬ν•΄μ•Ό ν•œλ‹€. (ex. 고객이름 속성에 123 이런 데이터 λ“€μ–΄κ°€λ©΄ μ•ˆ 됨)
  4. 업무 무결성
    • κΈ°μ—…μ—μ„œ 업무λ₯Ό μˆ˜ν–‰ν•˜λŠ” λ°©λ²•μ΄λ‚˜ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” κ·œμΉ™μ„ 의미(ex. μ£Όλ¬Έ κΈˆμ•‘μ΄ 3만 원 이상이면 배솑비가 λ¬΄λ£Œμ΄λ‹€.', '초회 λ³΄ν—˜λ£Œλ₯Ό μž…κΈˆν•˜μ§€ μ•Šμ€ λ³΄ν—˜ 계약은 효λ ₯이 μ—†λ‹€')
    • 업무 무결성은 λ²”μœ„κ°€ λ„“μ–΄ 주둜 ν”„λ‘œκ·Έλž¨μ—μ„œ μ κ²€ν•œλ‹€. (ex. 트리거)

 

1.30 μ„±λŠ₯에 λŒ€ν•΄μ„œ

μ„±λŠ₯의 두 κ°€μ§€ μ’…λ₯˜

  • 쑰회 μ„±λŠ₯(Select)
  • μ“°κΈ° μ„±λŠ₯(Insert/Update/Delete)

μ†ŒλŸ‰μ˜ 데이터에 λŒ€ν•œ 쑰회 μ„±λŠ₯은 주둜 인덱슀둜 ν•΄κ²°ν•˜λ©°, λŒ€λŸ‰μ˜ 데이터에 λŒ€ν•œ 쑰회 μ„±λŠ₯은 μŠ€μΊ” 방법과 쑰인 방법을 μ‚¬μš©ν•΄μ„œ ν•΄κ²°ν•  수 μžˆλ‹€.

쑰회 μ„±λŠ₯은 데이터 블둝과 λ°€μ ‘ν•˜κ²Œ 연관돼 μžˆλ‹€. λŒ€λΆ€λΆ„μ˜ DBMSλŠ” 데이터λ₯Ό 블둝 λ‹¨μœ„λ‘œ λ©”λͺ¨λ¦¬μ— μ˜¬λ €μ„œ μ½λŠ”λ‹€. λ”°λΌμ„œ ν•΄λ‹Ή 데이터가 λ©”λͺ¨λ¦¬μ— 이미 μ‘΄μž¬ν•˜λ©΄ λΉ λ₯΄κ²Œ 읽을 수 μžˆλ‹€. λͺ‡ 블둝을 μ½λŠλƒκ°€ 쑰회 μ„±λŠ₯에 κ°€μž₯ 크게 영ν–₯을 λ―ΈμΉ˜λŠ” μš”μ†Œλ‹€. 그런데 μ΄λŠ” 쑰인과 λ¬΄κ΄€ν•˜μ§€ μ•Šλ‹€.

μ—”ν„°ν‹°λ₯Ό 물리적으둜 λΆ„λ¦¬ν•΄μ„œ λ§Œλ“€λ©΄(μ—”ν„°ν‹°λ₯Ό μ •κ·œν™”ν•˜λ©΄) μ €μž₯μ†ŒμΈ 블둝도 물리적으둜 μ„œλ‘œ λΆ„λ¦¬λœλ‹€. λΆ„λ¦¬λœ 데이터λ₯Ό ν•œ λ²ˆμ— μ‘°νšŒν•˜λŠ” μš”κ±΄(쿼리)이 μžˆλ‹€λ©΄ μ—¬λŸ¬ λΈ”λ‘μ—μ„œ 데이터λ₯Ό 가져와야 ν•˜λ―€λ‘œ(μ—¬λŸ¬ 블둝을 쑰인해야 ν•˜λ―€λ‘œ) 쑰회 μ„±λŠ₯이 λ–¨μ–΄μ§€κ²Œ λœλ‹€.

쀑볡 데이터λ₯Ό μ‚¬μš©ν•˜λ©΄ 쑰회 μ„±λŠ₯이 ν–₯μƒλ˜μ§€λ§Œ, λ°˜λŒ€λ‘œ μ“°κΈ° μ„±λŠ₯은 μ €ν•˜λœλ‹€.(ex. 고객λͺ…이 λ°”λ€Œκ²Œ λ˜μ—ˆμ„ λ•Œ μ—¬λŸ¬ 엔터티에 μ—…λ°μ΄νŠΈλ₯Ό ν•΄μ•Όν•˜λŠ” 경우) λ§Žμ€ μ—…λ°μ΄νŠΈλŠ” 데이터 정합성을 λ–¨μ–΄λœ¨λ¦°λ‹€.

μ •κ·œν™”λ₯Ό ν• μˆ˜λ‘ μ—”ν„°ν‹°κ°€ λΆ„ν•΄λ˜κΈ° λ•Œλ¬Έμ— λ§Žμ€ 쑰인이 생겨 쑰회 μ„±λŠ₯이 λ‚˜λΉ μ§€λŠ” λ°˜λ©΄μ—, 쀑볡 데이터λ₯Ό μ‚¬μš©ν•˜λ©΄ λ§Žμ€ μΈμ„œνŠΈ/μ—…λ°μ΄νŠΈκ°€ 생겨 μ“°κΈ° μ„±λŠ₯이 λ‚˜λΉ μ§„λ‹€. λ¬Όλ‘  μ“°κΈ°λŠ” μ‘°νšŒμ™€ λΉ„κ΅ν•˜λ©΄ λΉˆλ„μˆ˜κ°€ μ λ‹€λŠ” 점은 μ°Έκ³ ν•  사항이닀.

쑰회 μ„±λŠ₯ λ¬Έμ œλŠ” ν™”λ©΄μ˜ μ’…λ₯˜μ— 따라 달리 κ²€ν† ν•  수 μžˆλ”°. ν•΄λ‹Ή μ—”ν„°ν‹°μ˜ 쑰회 μš”κ±΄μ΄ 주둜 λͺ©λ‘(리슀트)인지 λͺ…μ„Έ(상세)인지λ₯Ό ν™•μΈν•œ ν›„, λͺ©λ‘ μœ„μ£ΌλΌλ©΄ 비ꡐ적 λ§Žμ€ κ±΄μˆ˜κ°€ 쑰회될 수 μžˆμ–΄ 쑰회 μ„±λŠ₯ 문제λ₯Ό 적극적으둜 κ³ λ €ν•΄μ•Ό ν•œλ‹€. λ§Œμ•½ λͺ…μ„Έ μœ„μ£ΌλΌλ©΄ 주둜 ν•œ 건의 λ°μ΄ν„°λ§Œμ„ μ‘°νšŒν•˜λŠ” κ²ƒμ΄λ―€λ‘œ 데이터 λ¬΄κ²°μ„±λ§Œμ„ κ³ λ €ν•œλ‹€.

λ˜ν•œ κ³ λ €ν•΄μ•Ό ν•  μš”μ†ŒλŠ” ν™”λ©΄ ꡬ성이닀. 데이터λ₯Ό 화면에 횑으둜 μ΄μ–΄μ„œ λ³΄μ—¬μ£ΌλŠ”μ§€ μ’…μœΌλ‘œ λ–¨μ–΄λœ¨λ €μ„œ λ³΄μ—¬μ£ΌλŠ”μ§€μ— 따라 λͺ¨λΈ 섀계가 λ‹¬λΌμ§ˆ 수 μžˆλ”°. 화면이 횑으둜 ꡬ성됐닀면 λΉ„μ •κ·œν˜•μ„ κ³ λ €ν•˜κ³ , μ’…μœΌλ‘œ ꡬ성됐닀면 μ •κ·œν˜•μœΌλ‘œ 섀계해야 ν•œλ‹€. μ΅œκ·Όμ—λŠ” 데이터양도 λ§Žμ•„μ§€κ³  집계에 λŒ€ν•œ λ‹€μ–‘ν•œ μš”κ΅¬ 사항이 μ‘΄μž¬ν•΄μ„œ 화면에 λ”ΈλŠ λΉ„μ •κ·œν˜• 채택을 심도 있게 κ³ λ €ν•˜κ²Œ λœλ‹€.

μ΄λ ‡κ²Œ 화면을 κ³ λ €ν•  λ•ŒλŠ”, ν™”λ©΄μ˜ μ€‘μš”λ„μ™€ μ‚¬μš© λΉˆλ„κΉŒμ§€ κ³ λ €ν•΄μ•Ό ν•œλ‹€. μ–΄λ–€ 화면이 μ€‘μš”ν•˜κ²Œ μ‚¬μš©λ˜λŠ”μ§€, 자주 μ‚¬μš©λ˜λŠ”μ§€μ— 따라 μ „λž΅μ΄ λ‹¬λΌμ§ˆ 수 μžˆλ‹€. λ™μΌν•œ 데이터가 μ—¬λŸ¬ ν™”λ©΄μ—μ„œ μ‚¬μš©λ  수 있기 λ•Œλ¬Έμ— νŠΉμ • ν™”λ©΄μ˜ 쑰회 μ„±λŠ₯을 μœ„ν•΄ λ‹€λ₯Έ ν™”λ©΄μ˜ 쑰회 μ„±λŠ₯을 ν¬μƒν•˜λŠ” 것이 될 μˆ˜λ„ μžˆλ‹€. λ§Œμ•½ μ–΄λ–€ ν™”λ©΄μ—μ„œ μ‚¬μš©ν•˜λŠ” 쑰회 μ„±λŠ₯을 획기적으둜 κ°œμ„ ν–ˆμ§€λ§Œ, κ·Έ ν™”λ©΄λ³΄λ‹€λŠ” λ‹€λ₯Έ 화면이 λ”μš± μ€‘μš”ν•˜λ‹€λ©΄ μ „λž΅μ„ 잘λͺ» μ„Έμš΄ 것이닀. ν™”λ©΄μ˜ μ€‘μš”λ„μ™€ μ‚¬μš© λΉˆλ„, μ„±λŠ₯ 이슈의 강도 등을 κ³ λ €ν•΄μ„œ μ „λž΅μ„ μ„Έμ›Œμ•Ό ν•œλ‹€.

μ„±λŠ₯ κ²€ν† λŠ” μ •κ·œν™”λ₯Ό ν•œ μƒνƒœμ—μ„œ ν•΄μ•Ό ν•œλ‹€λŠ” 점을 μ£Όμ˜ν•΄μ•Ό ν•œλ‹€. μ„±λŠ₯ λ¬Έμ œκ°€ μ˜ˆμƒλΌ λ¨Όμ € λΉ„μ •κ·œν˜•μœΌλ‘œ μ„€κ³„ν•˜κ³  μΆ”ν›„ κ²€ν† ν•˜λŠ” 방법은 잘λͺ»λœ 접근이닀. μ„±λŠ₯을 μœ„ν•΄ μ •κ·œν™”λΌλŠ” κ΄€κ³„ν˜• λͺ¨λΈλ§ 원칙을 κΉ¨κ³  λΉ„μ •κ·œν˜•μ„ μ‚¬μš©ν•˜λŠ” 것이 데이터 무결성을 μ§€ν‚€λŠ” κ²ƒλ§ŒνΌμ˜ κ°€μΉ˜κ°€ μžˆλŠ”μ§€μ— λŒ€ν•œ κ²€ν†  λ˜ν•œ ν•„μš”ν•˜λ‹€. λΆ€μ •ν™•ν•œ 데이터λ₯Ό λΉ λ₯Έ μ„±λŠ₯으둜 보여쀀닀면 κ°€μž₯ 치λͺ…적일 것이닀.