λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Database/SQLD & SQLP

[SQLD] 제 2절. μ—”ν„°ν‹°(Entity) - 3. μ—”ν„°ν‹°μ˜ νŠΉμ§•

[좜처 : SQL μ „λ¬Έκ°€ κ°€μ΄λ“œ(2013 EDITION)]

 

3. μ—”ν„°ν‹°μ˜ νŠΉμ§•

  • λ°˜λ“œμ‹œ ν•΄λ‹Ή μ—…λ¬΄μ—μ„œ ν•„μš”ν•˜κ³  κ΄€λ¦¬ν•˜κ³ μž ν•˜λŠ” 정보여야 ν•œλ‹€.
  • μœ μΌν•œ μ‹λ³„μžμ— μ˜ν•΄ 식별이 κ°€λŠ₯ν•΄μ•Ό ν•œλ‹€.
  • μ˜μ†μ μœΌλ‘œ μ‘΄μž¬ν•˜λŠ” μΈμŠ€ν„΄μŠ€μ˜ 집합이어야 ν•œλ‹€. ('ν•œ 개'κ°€ μ•„λ‹ˆλΌ '두 개 이상')
  • μ—”ν„°ν‹°λŠ” 업무 ν”„λ‘œμ„ΈμŠ€μ— μ˜ν•΄ μ΄μš©λ˜μ–΄μ•Ό ν•œλ‹€.
  • μ—”ν„°ν‹°λŠ” λ°˜λ“œμ‹œ 속성이 μžˆμ–΄μ•Ό ν•œλ‹€.
  • μ—”ν„°ν‹°λŠ” λ‹€λ₯Έ 엔터티와 μ΅œμ†Œ ν•œ 개 μ΄μƒμ˜ 관계가 μžˆμ–΄μ•Ό ν•œλ‹€.

κ°€. μ—…λ¬΄μ—μ„œ ν•„μš”λ‘œ ν•˜λŠ” 정보

  • μ‹œμŠ€ν…œ ꡬ좕 λŒ€μƒμΈ ν•΄λ‹Ή μ—…λ¬΄μ—μ„œ κ·Έ μ—”ν„°ν‹°λ₯Ό ν•„μš”λ‘œ ν•˜λŠ”κ°€λ₯Ό νŒλ‹¨ν•˜λŠ” 것이 μ€‘μš”
  • μ—”ν„°ν‹°λ₯Ό λ„μΆœν•  λ•ŒλŠ” 업무 μ˜μ—­ λ‚΄μ—μ„œ 관리할 ν•„μš”κ°€ μžˆλŠ”μ§€λ₯Ό λ¨Όμ € νŒλ‹¨ν•˜λŠ” 것이 μ€‘μš”

λ‚˜. 식별이 κ°€λŠ₯ν•΄μ•Ό 함

  • μ‹λ³„μž(Unique Identifier)에 μ˜ν•΄ 식별이 κ°€λŠ₯ν•΄μ•Ό ν•œλ‹€λŠ” 점
  • μ–΄λ–€ 엔터티이건 μž„μ˜μ˜ μ‹λ³„μž(일련번호)λ₯Ό λΆ€μ—¬ν•˜μ—¬ μœ μΌν•˜κ²Œ λ§Œλ“€ μˆ˜λŠ” μžˆμ§€λ§Œ, μ—”ν„°ν‹°λ₯Ό λ„μΆœν•˜λŠ” κ²½μš°μ— 각각의 μ—…λ¬΄μ μœΌλ‘œ 의미λ₯Ό κ°€μ§€λŠ” μΈμŠ€ν„΄μŠ€κ°€ μ‹λ³„μžμ— μ˜ν•΄ ν•œ κ°œμ”©λ§Œ μ‘΄μž¬ν•˜λŠ”μ§€ 검증해보아야 함
  • μœ μΌν•œ μ‹λ³„μžλŠ” κ·Έ μ—”ν„°ν‹°μ˜ μΈμŠ€ν„΄μŠ€λ§Œμ˜ κ³ μœ ν•œ 이름. 두 개 μ΄μƒμ˜ μ—”ν„°ν‹°λ₯Ό λŒ€λ³€ν•˜λ©΄ κ·Έ μ‹λ³„μžλŠ” 잘λͺ» μ„€κ³„λœ 것.ex. 직원을 κ΅¬λΆ„ν•˜λŠ” 방법 - 이름 or μ‚¬μ›λ²ˆν˜Έ. κ·Έλ ‡μ§€λ§Œ 이름은 동λͺ…이인이 μžˆμ„ 수 μžˆμœΌλ‹ˆ μœ μΌν•œ μ‹λ³„μžκ°€ 될 수 μ—†μŒ. μ‚¬μ›λ²ˆν˜ΈλŠ” νšŒμ‚¬μ— μž…μ‚¬ν•œ μ‚¬λžŒμ—κ²Œ κ³ μœ ν•˜κ²Œ λΆ€μ—¬λœ λ²ˆν˜Έμ΄λ―€λ‘œ μœ μΌν•œ μ‹λ³„μžκ°€ 될 수 있음.

λ‹€. μΈμŠ€ν„΄μŠ€μ˜ μ§‘ν•©

  • μ˜μ†μ μœΌλ‘œ μ‘΄μž¬ν•˜λŠ” μΈμŠ€ν„΄μŠ€μ˜ 집합이 λ˜μ–΄μ•Ό 함. 'ν•œ 개'κ°€ μ•„λ‹ˆλΌ '두 개 이상'
  • ν•˜λ‚˜μ˜ μ—”ν„°ν‹°λŠ” μ—¬λŸ¬ 개의 μΈμŠ€ν„΄μŠ€λ₯Ό 포함

μΈμŠ€ν„΄μŠ€κ°€ ν•œ 개 밖에 μ—†λŠ” 꽃 μ—”ν„°ν‹°λŠ” 집합이 μ•„λ‹ˆλ―€λ‘œ μ—”ν„°ν‹° 성립이 μ•ˆ 됨

라. 업무 ν”„λ‘œμ„ΈμŠ€μ— μ˜ν•΄ 이용

  • 첫 번째 μ •μ˜μ—μ„œμ²˜λŸΌ μ—…λ¬΄μ—μ„œ λ°˜λ“œμ‹œ ν•„μš”ν•˜λ‹€κ³  μƒγ…‡κ°ν•˜μ—¬ μ—”ν„°ν‹°λ‘œ μ„ μ •ν•˜μ˜€λŠ”λ° 업무 ν”„λ‘œμ„ΈμŠ€μ— μ˜ν•΄ μ „ν˜€ μ΄μš©λ˜μ§€ μ•ŠλŠ”λ‹€λ©΄ 업무 뢄석이 μ •ν™•ν•˜κ²Œ μ•ˆλ˜μ–΄ μ—”ν„°ν‹°κ°€ 잘λͺ» μ„ μ •λ˜κ±°λ‚˜ 업무 ν”„λ‘œμ„ΈμŠ€ λ„μΆœμ΄ μ μ ˆν•˜κ²Œ 이루어지지 μ•Šμ•˜μŒμ„ 의미
  • 업무 ν”„λ‘œμ„ΈμŠ€μ— μ˜ν•΄ CREATE, READ, UPDATE, DELETE 등이 λ°œμƒν•˜μ§€ μ•ŠλŠ” 고립된 μ—”ν„°ν‹°μ˜ 경우 μ—”ν„°ν‹°λ₯Ό μ œκ±°ν•˜κ±°λ‚˜ μ•„λ‹ˆλ©΄ λˆ„λ½λœ ν”„λ‘œμ„ΈμŠ€κ°€ μ‘΄μž¬ν•˜λŠ”μ§€ μ‚΄νŽ΄λ³΄κ³  ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€λ₯Ό μΆ”κ°€ν•΄μ•Ό 함

마. 속성을 포함

  • μ—”ν„°ν‹°μ—λŠ” λ°˜λ“œμ‹œ 속성(Attributes)이 ν¬ν•¨λ˜μ–΄μ•Ό 함
  • 속성을 ν¬ν•¨ν•˜μ§€ μ•Šκ³  μ—”ν„°ν‹°μ˜ μ΄λ¦„λ§Œ κ°€μ§€κ³  μžˆλŠ” κ²½μš°λŠ” 관계가 μƒλž΅λ˜μ–΄ μžˆκ±°λ‚˜ 업무 뢄석이 λ―Έμ§„ν•˜μ—¬ 속성정보가 λˆ„λ½λ˜λŠ” κ²½μš°μ— ν•΄λ‹Ή
  • λ˜ν•œ μ£Όμ‹λ³„μžλ§Œ μ‘΄μž¬ν•˜κ³  일반 속성은 μ „ν˜€ μ—†λŠ” κ²½μš°λ„ λ§ˆμ°¬κ°€μ§€λ‘œ μ μ ˆν•œ 엔터티라고 ν•  수 μ—†μŒ
  • 단, μ˜ˆμ™Έμ μœΌλ‘œ 관계엔터티(Associative Entity)의 κ²½μš°λŠ” μ£Όμ‹λ³„μž μ†μ„±λ§Œ κ°€μ§€κ³  μžˆμ–΄λ„ μ—”ν„°ν‹°λ‘œ μΈμ •ν•œλ‹€

λ°”. κ΄€κ³„μ˜ 쑴재

  • μ—”ν„°ν‹°λŠ” λ‹€λ₯Έ 엔터티와 μ΅œμ†Œ ν•œ 개 μ΄μƒμ˜ 관계가 μ‘΄μž¬ν•΄μ•Όν•¨
  • 기본적으둜 μ—”ν„°ν‹°κ°€ λ„μΆœλ˜μ—ˆλ‹€λŠ” 것은 ν•΄λ‹Ή μ—…λ¬΄λ‚΄μ—μ„œ 업무적인 μ—°κ΄€μ„±(쑴재적 μ—°κ΄€μ„±, ν–‰μœ„μ  μ—°κ΄€μ„±)을 κ°€μ§€κ³  λ‹€λ₯Έ μ—”ν„°ν‹°μ™€μ˜ μ—°κ΄€μ˜ 의미λ₯Ό κ°€μ§€κ³  μžˆμŒμ„ λ‚˜νƒ€λƒ„
  • 단, 데이터 λͺ¨λΈλ§μ„ ν•˜λ©΄μ„œ λ‹€μŒκ³Ό 같은 경우 관계λ₯Ό μƒλž΅ν•˜μ—¬ ν‘œν˜„
    1) 톡계성 μ—”ν„°ν‹° λ„μΆœ : 업무진행 μ—”ν„°ν‹°λ‘œλΆ€ν„° ν†΅κ³„μ—…λ¬΄λ§Œ(Read Only)λ₯Ό μœ„ν•΄ λ³„λ„λ‘œ μ—”ν„°ν‹°λ₯Ό λ‹€μ‹œ μ •μ˜ν•˜κ²Œ λ˜λ―€λ‘œ μ—”ν„°ν‹°κ°„μ˜ 관계가 μƒλž΅λ˜λŠ” 경우
    2) μ½”λ“œμ„± μ—”ν„°ν‹°μ˜ λ„μΆœ : μ½”λ“œλ₯Ό μœ„ν•œ μ—”ν„°ν‹°μ˜ 경우 λ„ˆλ¬΄ λ§Žμ€ 엔터티와 μ—”ν„°ν‹°κ°„μ˜ 관계 μ„€μ •μœΌλ‘œ 인해 데이터 μ½”λΈμ˜ 읽기 νš¨μœ¨μ„±μ΄ μ €ν•˜λ¨. λ˜ν•œ μ½”λ“œμ„± μ—”ν„°ν‹°λŠ” 물리적으둜 ν…Œμ΄λΈ”κ³Ό ν”„λ‘œκ·Έλž¨ κ΅¬ν˜„ 이후에도 외뢀킀에 μ˜ν•œ 참쑰무결성을 μ²΄ν¬ν•˜κΈ° μœ„ν•œ κ·œμΉ™μ„ λ°μ΄ν„°λ² μ΄μŠ€ κΈ°λŠ₯에 λ§‘κΈ°μ§€ μ•ŠλŠ” κ²½μš°κ°€ λŒ€λΆ€λΆ„μ΄κΈ° λ•Œλ¬Έμ— λ…Όλ¦¬μ μœΌλ‘œλ‚˜ 물리적으둜 관계λ₯Ό μ„€μ •ν•  μ΄μœ κ°€ μ—†μŒ
    3) μ‹œμŠ€ν…œ 처리 μ‹œ λ‚΄λΆ€ ν•„μš”μ— μ˜ν•œ μ—”ν„°ν‹° λ„μΆœ : μ‹œμŠ€ν…œ 처리 μ‹œ λ‚΄λΆ€ ν•„μš”μ— μ˜ν•œ μ—”ν„°ν‹°(ex. νŠΈλžœμž­μ…˜ 둜그 ν…Œμ΄λΈ”)의 경우 νŠΈλžœμž­μ…˜μ΄ μ—…λ¬΄μ μœΌλ‘œ μ—°κ΄€λœ ν…Œμ΄λΈ”κ³Ό 관계 섀정이 ν•„μš”ν•˜μ§€λ§Œ 이 μ—­μ‹œ 업무적인 ν•„μš”κ°€ μ•„λ‹ˆκ³  μ‹œμŠ€ν…œ 내뢀적인 ν•„μš”μ— μ˜ν•΄ μƒμ„±λœ μ—”ν„°ν‹°μ΄λ―€λ‘œ 관계λ₯Ό μƒλž΅ν•˜κ²Œ 됨