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

Database/SQLD & SQLP

[SQLD] 제 3절. 속성(Attribute) - 4. μ†μ„±μ˜ λΆ„λ₯˜

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

 

4. μ†μ„±μ˜ λΆ„λ₯˜

κ°€. μ†μ„±μ˜ νŠΉμ§•μ— λ”°λ₯Έ λΆ„λ₯˜

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

  1) 기본속성 (Basic Attribute) - 업무뢄석을 톡해 λ°”λ‘œ μ •μ˜ν•œ 속성

  • μ—…λ¬΄λ‘œλΆ€ν„° μΆ”μΆœν•œ λͺ¨λ“  속성
  • 엔터티에 κ°€μž₯ 일반적이고 λ§Žμ€ 속성을 μ°¨μ§€
  • μ½”λ“œμ„± 데이터, μ—”ν„°ν‹°λ₯Ό μ‹λ³„ν•˜κΈ° μœ„ν•΄ λΆ€μ—¬λœ 일련번호, 그리고 λ‹€λ₯Έ 속성을 κ³„μ‚°ν•˜κ±°λ‚˜ 영ν–₯을 λ°›μ•„ μƒμ„±λœ 속성을 μ œμ™Έν•œ λͺ¨λ“  속성은 기본속성
  • μ£Όμ˜ν•΄μ•Όν•  것은 μ—…λ¬΄λ‘œλΆ€ν„° λΆ„μ„ν•œ 속섣ㅇ이라도 이미 업무상 μ½”λ“œλ‘œ μ •μ˜ν•œ 속성이 λ§Žλ‹€λŠ” 것. μ΄λŸ¬ν•œ κ²½μš°λ„ μ†μ„±μ˜ 값이 μ›λž˜ 속성을 λ‚˜νƒ€λ‚΄μ§€ λͺ»ν•˜λ―€λ‘œ 기본속성이 λ˜μ§€ μ•ŠλŠ”λ‹€

  2) 섀계속성 (Designed Attribute) - μ›λž˜ 업무상 μ‘΄μž¬ν•˜μ§€λŠ” μ•Šμ§€λ§Œ 섀계λ₯Ό ν•˜λ©΄μ„œ λ„μΆœν•΄λ‚΄λŠ” 속성

  • 업무상 ν•„μš”ν•œ 데이터 이외에 데이터 코델링을 μœ„ν•΄, 업무λ₯Ό κ·œμΉ™ν™”ν•˜κΈ° μœ„ν•΄ 속성을 μƒˆλ‘œ λ§Œλ“€κ±°λ‚˜ λ³€ν˜•ν•˜μ—¬ μ •μ˜ν•˜λŠ” 속성
  • λŒ€κ°œ μ½”λ“œμ„± 속성은 μ›λž˜ 속성을 업무상 ν•„μš”μ— μ˜ν•΄ λ³€ν˜•ν•˜μ—¬ λ§Œλ“  섀계속성이고 μΌλ ¨λ²ˆν˜Έμ™€ 같은 속성은 단일(Unique)ν•œ μ‹λ³„μžλ₯Ό λΆ€μ—¬ν•˜κΈ° μœ„ν•΄ λͺ¨λΈ μƒμ—μ„œ μƒˆλ‘œ μ •μ˜ν•˜λŠ” 섀계속성이닀

  3) νŒŒμƒμ†μ„± (Derived Attribute) - λ‹€λ₯Έ μ†μ„±μœΌλ‘œλΆ€ν„° κ³„μ‚°μ΄λ‚˜ λ³€ν˜•μ΄ λ˜μ–΄ μƒμ„±λ˜λŠ” 속성

  • λ‹€λ₯Έ 속성에 영ν–₯을 λ°›μ•„ λ°œμƒν•˜λŠ” μ†μ„±μœΌλ‘œμ„œ 보톡 κ³„μ‚°λœ 값듀이 이에 ν•΄λ‹Ή
  • λ‹€λ₯Έ 속성에 영ν–₯을 λ°›κΈ° λ•Œλ¬Έμ— ν”„λ‘œμ„ΈμŠ€ 섀계 μ‹œ 데이터 정합성을 μœ μ§€ν•˜κΈ° μœ„ν•΄ μœ μ˜ν•΄μ•Όν•  점이 많으며 가급적 νŒŒμƒμ†μ„±μ„ 적게 μ •μ˜ν•˜λŠ” 것이 μ’‹μŒ
  • 예λ₯Ό λ“€μ–΄ '이자'λΌλŠ” 속성이 μ‘΄μž¬ν•œλ‹€κ³  ν•˜λ©΄ μ΄μžλŠ” μ›κΈˆ, μ˜ˆμΉ˜κΈ°κ°„, μ΄μžμœ¨μ—μ„œ κ³„μ‚°λ˜λŠ” 속성값이닀. κ·Έλ ‡λ‹€λ©΄ μ›κΈˆμ΄ 1,000μ›μ—μ„œ 2,000μ›μœΌλ‘œ λ³€ν•˜μ—¬λ„ 영ν–₯을 λ°›κ³  μ˜ˆμΉ˜κΈ°κ°„μ΄ 5κ°œμ›”μ—μ„œ 7κ°œμ›”λ‘œ 증가해도 값이 λ³€ν•˜λ©° 이자율이 5.0%μ—μ„œ 5.1%κ°€ λ˜μ–΄λ„ 값이 λ³€ν•  것이닀. ν•œ 번 값이 변해도 또 λ‹€μ‹œ 영ν–₯을 λ―ΈμΉ˜λŠ” μ†μ„±κ°’μ˜ 쑰건이 λ³€ν•œλ‹€λ©΄ 이자의 값은 μ§€μ†μ μœΌλ‘œ 변경될 것이닀.

 

  • νŒŒμƒμ†μ„±μ€ 될 수 있으면 κΌ­ ν•„μš”ν•œ κ²½μš°μ—λ§Œ μ •μ˜ν•˜λ„λ‘ ν•˜μ—¬ μ—…λ¬΄λ‘œμ§μ΄ 속성 내뢀에 μˆ¨μ§€ μ•Šλ„λ‘ ν•˜λŠ” 것이 μ’‹λ‹€
  • νŒŒμƒμ†μ„±μ„ μ •γ„·μ˜ν•œ κ²½μš°λŠ” μ†μ„±μ •μ˜μ„œμ— νŒŒμƒμ†μ„±μ΄ κ°€μ§€λŠ” μ—…λ¬΄λ‘œμ§μ„ κΈ°μˆ ν•˜μ—¬ λ°μ΄ν„°μ˜ 정합성이 μœ μ§€λ  수 μžˆλ„λ‘ ν•΄μ•Ό ν•˜λ©° κ·Έ νŒŒμƒμ†μ„±μ— 원이이 λ˜λŠ” 속성을 μ΄μš©ν•˜λŠ” λͺ¨λ“  μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œλŠ” 값을 μƒμ„±ν•˜κ³ , μˆ˜μ •ν•˜κ³  μ‚­μ œν•  λ–„ νŒŒμƒμ†μ„±λ„ ν•¨κ»˜ κ³ λ €ν•΄μ£Όμ–΄μ•Ό ν•œλ‹€.

λ‚˜. μ—”ν„°ν‹° ꡬ성방식에 λ”°λ₯Έ λΆ„λ₯˜

  • PK속성 : μ—”ν„°ν‹°λ₯Ό 식별할 수 μžˆλŠ” 속성
  • FK속성 : λ‹€λ₯Έ μ—”ν„°ν‹°μ™€μ˜ κ΄€κ³„μ—μ„œ ν¬ν•¨λœ 속성
  • μΌλ°˜μ†μ„± : 엔터티에 ν¬ν•¨λ˜μ–΄ 있고 PK, FK에 ν¬ν•¨λ˜μ§€ μ•Šμ€ 속성

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

λ‹€. κ·Έ μ™Έ λΆ„λ₯˜λ°©μ‹

  1) 속성 λ‚΄μ—μ„œ μ„ΈλΆ€ 의미λ₯Ό μͺΌκ°€ 수 μžˆλŠ”μ§€ μ—¬λΆ€

  • λ‹¨μˆœ 속성 : 더 이상 λ‹€λ₯Έ μ†μ„±λ“€λ‘œ ꡬ성될 수 μ—†λŠ” λ‹¨μˆœν•œ 속성(ex. λ‚˜μ΄, 성별)
  • 볡합 속성 : μ—¬λŸ¬ μ„ΈλΆ€ μ†μ„±λ“€λ‘œ ꡬ성 ꡬ성될 수 μžˆλŠ” 속성(ex. μ£Όμ†Œ 속성은 μ‹œ, ꡬ, 동, λ²ˆμ§€ λ“±μ˜ μ„ΈλΆ€ μ†μ„±μœΌλ‘œ ꡬ성)

  2) 속성값에 λŒ€ν•œ λΆ„λ₯˜

     - 일반적으둜 속성은 ν•˜λ‚˜μ˜ 값을 κ°€μ§€κ³  μžˆμœΌλ‚˜, κ·Έ μ•ˆμ— λ™μΌν•œ μ„±μ§ˆμ˜ μ—¬λŸ¬ 개의 값이 λ‚˜νƒ€λ‚˜λŠ” κ²½μš°κ°€ 있음

  • 단일값 속성 : 속성 ν•˜λ‚˜μ— ν•œ 개의 값을 κ°€μ§€λŠ” 경우 (ex. μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ)
  • 닀쀑값 속성 : μ—¬λŸ¬ 개의 값을 κ°€μ§€λŠ” 경우 (ex. μ–΄λ–€ μ‚¬λžŒμ˜ μ „ν™”λ²ˆν˜Έμ™€ 같은 속성은 μ§‘, νœ΄λŒ€μ „ν™”, νšŒμ‚¬ μ „ν™”λ²ˆν˜Έ λ“± μ—¬λŸ¬ 개의 값을 κ°€μ§ˆ 수 있음. μžλ™μ°¨μ˜ 색상 속성도 μ°¨ μ§€λΆ•, 차체, μ™ΈλΆ€μ˜ 색이 λ‹€λ₯Ό 수 있음)
  • 닀쀑값 μ†μ„±μ˜ 경우 ν•˜λ‚˜μ˜ 엔터티에 포함될 수 μ—†μœΌλ―€λ‘œ 1μ°¨ μ •κ·œν™”λ₯Ό ν•˜κ±°λ‚˜, μ•„λ‹ˆλ©΄ λ³„λ„μ˜ μ—”ν„°ν‹°λ₯Ό λ§Œλ“€μ–΄ κ΄€κ³„λ‘œ μ—°κ²°ν•΄μ•Ό ν•œλ‹€.