πŸ’» Computer Science/DB

[섀계 및 ꡬ좕] 9μž₯ 도메인과 μš©μ–΄μ‚¬μ „μ˜ μ •μ˜ ,10μž₯ λͺ¨λΈμ˜ κ²€ν† 

kkh1902 2022. 2. 2. 20:48
728x90
λ°˜μ‘ν˜•

단원 λͺ©ν‘œ

  • 도메인과 μš©μ–΄μ‚¬μ „μ˜ κ°œλ…μ„ μ΄ν•΄ν•œλ‹€.
  • 도메인과 μš©μ–΄μ‚¬μ •μ„ μ •μ˜ν•˜λŠ” 방법을 λ°°μš΄λ‹€.

9.1 λ„λ©”μΈμ˜ μ •μ˜

9.1.1 도메인 κ°œμš”

  • λ„λ©”μΈμ΄λž€ μ—”ν‹°ν‹°μ˜ 속성듀이 κ°€μ§ˆ 수 μžˆλŠ” κ°’λ“€μ˜ 집합이닀.
  • DBMSμ—μ„œ λ„λ©”μΈμ΄λž€ 엔티티와 속성에 λŒ€μ‘ν•˜λŠ” ν…Œμ΄λΈ”μ˜ μ»¬λŸΌμ— λŒ€ν•œ 데이터 νƒ€μž…κ³Ό 길이λ₯Όμ˜λ―Έν•œλ‹€.
  • ν…Œμ΄λΈ”μ„ 생성할 λ•Œ 컬럼의 데이터 νƒ€μž…κ³Ό 길이λ₯Ό μ§€μ •ν•˜λŠ” 방법
    1. 직접 데이터 νƒ€μž…κ³Ό 길이λ₯Ό μ§€μ •ν•˜λŠ”λ°©λ²•
    2. 도메인을 λ¨Όμ € μ •μ˜ν•œ λ’€ 각 μ»¬λŸΌμ— 도메인을 μ§€μ •ν•˜λŠ” 방법이 μžˆλ‹€.
  • ν…Œμ΄λΈ” μ»¬λŸΌμ— λŒ€ν•΄ 직접 데이터 νƒ€μž…μ„ μ§€μ •ν•˜μ§€ μ•Šκ³  도메인을 ν†΅ν•˜λŠ” 이유
    • λ™μžƒν•œ μ„±κ²©μ˜ 데이터λ₯Ό μ €μž₯ν•˜λŠ” μ»¬λŸΌλ“€ μ‚¬μ΄μ—μ„œ 데이터 νƒ€μž…μ΄λ‚˜ 길이가 μ„œλ‘œ λ‹€λ₯΄κ²Œ μ§€μ •λ˜λŠ” 것을 막기 μœ„ν•΄μ„œ 이닀.

9.1.2 λ„λ©”μΈμ˜ μ •μ˜ 방법

  1. 각 μ—”ν‹°ν‹°μ˜ 속성듀을 λͺ¨μ•„μ„œ List둜 λ§Œλ“ λ‹€.
  2. 속성 이름에 μ—¬λŸ¬ 단어λ₯Ό ν¬ν•¨ν•œ 경우 이λ₯Ό λΆ„λ¦¬ν•œλ‹€.
  3. 속성에 ν¬ν•¨λœ λ§ˆμ§€λ§‰ 단어λ₯Ό 가지고 μ •λ ¬ν•œλ‹€.
  4. 도메인을 μ •ν•œλ‹€.
  5. λ„λ©”μΈλ§Œ λͺ¨μ•„ 쀑볡을 μ œκ±°ν•˜κ³  μ •λ ¬ν•œ λ’€ 데이터 νƒ€μž…κ³Ό 길이λ₯Ό μ •ν•œλ‹€.

9.2 μš©μ–΄μ‚¬μ „μ˜ μ •μ˜

9.2.1 μš©μ–΄μ‚¬μ „μ΄λž€

  • 논리적 λ°μ΄ν„°λ² μ΄μŠ€ μ„€κ³„λ‚˜ 물리적 λ°μ΄ν„°λ² μ΄μŠ€ μ„€κ³„μ‹œ μ‚¬μš©λ˜λŠ” μš©μ–΄λ“€μ˜ 의미λ₯Ό μ •μ˜ν•΄ 놓은 λ¬Έμ„œλ₯Ό λ§ν•œλ‹€.

9.2.2 λͺ…λͺ…κ·œμΉ™

  • 이름을 λΆ™μ΄λŠ” κ·œμΉ™ ν˜Ήμ€ μž‘λͺ… κ·œμΉ™μ„ λ§ν•œλ‹€.

9.2.3 μš©μ–΄μ‚¬μ „μ˜ 예

9.3 λͺ¨λΈλ§ 도ꡬλ₯Ό μ΄μš©ν•œ λ„λ©”μΈμ˜ μž‘μ„±


단원λͺ©ν‘œ

  • λͺ¨λΈ κ²€ν† μ˜ ν•„μš”μ„±μ— λŒ€ν•΄ μ΄ν•΄ν•œλ‹€.
  • μ—”ν‹°ν‹°, 속성, 관계에 λŒ€ν•΄ κ²€ν† ν•΄μ•Ό ν•  사항에 λŒ€ν•΄ λ°°μš΄λ‹€.

10.1 κ°œμš”

  • κ²€ν†  λ‹¨κ³„μ˜ κ°€μž₯ μ£Όμ•ˆμ : λͺ¨λΈμ΄ μ•žμœΌλ‘œ ꡬ좕될 μ‹œμŠ€ν…œμ—μ„œ ν•„μš”λ‘œ ν•˜λŠ” 정보λ₯Ό μΆ©λΆ„νžˆ μ œκ³΅ν•  수 μžˆλŠ” 가이닀.
  • λͺ¨λΈμ˜ κ²€ν†  λ‹¨κ³„μ—μ„œ μ‚΄νŽ΄λ³΄μ•„μ•Ό ν•˜λŠ” λ‚΄μš© μ€‘μ˜ ν•˜λ‚˜λŠ” λͺ¨λΈμ΄ 효율적으둜 μž‘μ„±λ˜μ—ˆλŠ”μ§€μ˜ 여뢀이닀.

10.2 μ—”ν‹°ν‹°μ˜ κ²€ν† 

  • 검토사항은 크게 두가지 이닀.
    • μ—”ν‹°ν‹°κ°€ 적절히 κ΅¬μ„±λ˜μ—ˆλŠ”μ§€μ˜ 여뢀와 각 μ—”ν‹°ν‹°μ˜ μ£Όμ‹λ³„μžκ°€ 적절히 μ„ μ •λ˜μ—ˆλŠ”μ§€μ˜ 여뢀이닀.
  • 각 μ—”ν‹°ν‹°λŠ” ν˜„μ‹€μ„Έκ³„μ˜ 정보λ₯Ό 효과적으둜 관리할 수 μžˆλŠ” ꡬ쑰인가?
  • μœ μ‚¬ν•œ λ‚΄μš©μ„ κ΄€λ¦¬ν•˜λŠ” 엔티티듀은 μ—†λŠ”κ°€?
  • 톡합 λ˜λŠ” λΆ„λ¦¬λ˜μ–΄μ•Ό ν•  엔티티듀은 μ—†λŠ”κ°€?
  • μ£Όμ‹λ³„μžλŠ” μΈμŠ€ν„΄μŠ€μ˜ μœ μΌμ„±μ„ 보μž₯ν•΄ μ£ΌλŠ”κ°€?
  • μ£Όμ‹λ³„μžλŠ” λΆˆν•„μš”ν•œ 속성이 ν¬ν•¨λ˜μ–΄ μžˆμ§€λŠ” μ•Šμ€κ°€?
  • μ£Όμ‹λ³„μžμ— μ†ν•˜λŠ” 속성이 λ„ˆλ¬΄ λ§Žμ§€λŠ” μ•Šμ€κ°€?

10.3 μ†μ„±μ˜ κ²€ν† 

10.3.1 속성에 λŒ€ν•œ κ²€ν†  사항

  • λŒ€μƒ μ—…λ¬΄μ—μ„œ ν•„μš”λ‘œ ν•˜λŠ” 정보λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄μ„œ 속성이 잘 κ΅¬μ„±λ˜μ–΄ μž‡λŠ”κ°€λ₯Ό λ³΄λŠ” 것이닀.
  • ꡬ체적인 정보 ν•­λͺ©μ΄ μ €μž₯λ˜λŠ” 속성이닀.
  • κ²€ν† 
    • μ—¬λŸ¬ μ—”ν‹°ν‹° 사이에 μ€‘λ³΅λœ 속성이 μ‘΄μž¬ν•˜μ§€λŠ” μ•ŠλŠ”κ°€?
    • λ‚ μ§œλ₯Ό μ €μž₯ν•˜λŠ” 속성이 μ˜¬λ°”λ₯΄κ²Œ κ΅¬μ„±λ˜μ—ˆλŠ”κ°€?
    • μ†μ„±μ˜ 성격상 μ½”λ“œν™”ν•΄μ•Ό ν•˜λŠ” 것은 μ—†λŠ”κ°€?

10.3.2 λͺ¨λΈμ˜ κ²€ν†  쀑 μ†μ„±μ˜ μΆ”κ°€ 사둀

10.4 κ΄€κ³„μ˜ κ²€ν† 

  • ERDμƒμ—μ„œ λ‹€λ₯Έ 엔티티와 관계없이 λ…λ¦½μ μœΌλ‘œ μ‘΄μž¬ν•˜λŠ” μ—”ν‹°ν‹°λŠ” μ—†λŠ”κ°€?
  • 관계λ₯Ό λ„ˆλ¬΄ λ³΅μž‘ν•˜κ²Œ λ§Ίμ§€λŠ” μ•Šμ•˜λŠ”κ°€?

10.5 M:N κ΄€κ³„μ˜ ν•΄μ†Œ

10.6 ν”„λ‘œμ„ΈμŠ€ λͺ¨λΈκ³Όμ˜ 톡합 κ²€ν† 

  • 상관 λͺ¨λΈλ§ : 데이터 λͺ¨λΈμ— λŒ€ν•œ 자체 κ²€ν† κ°€ λλ‚˜λ©΄ 데이터 λͺ¨λΈκ³Ό ν”„λ‘œμ„ΈμŠ€ λͺ¨λΈμ˜ 톡합 κ²€ν† κ°€ ν•„μš”ν•˜λ‹€.
  • CRUD 맀트릭슀: create, read, update, deleteλ₯Ό μ˜λ―Έν•œλ‹€.
  • μ–΄λ–€ μ—”ν‹°ν‹°κ°€ μ˜¬λ°”λ₯Έ 엔티티라면 λ°˜λ“œμ‹œ κ·Έ μ—”ν‹°ν‹°λ₯Ό μƒμ„±ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€κ°€ μžˆμ–΄μ•Ό ν•˜κ³ , 쑰회(read)ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€κ°€ μžˆμ–΄μ•Ό ν•œλ‹€.
728x90
λ°˜μ‘ν˜•