Published on

๐Ÿ—„๏ธ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - ์–ดํŠธ๋ฆฌ๋ทฐํŠธ(Attribute)

DB_Attribute

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์†์„ฑ๊ฐ’

์ต์ˆ™ํ•œ ํ‘œํ˜„์œผ๋กœ ๋ฐ์ดํ„ฐ ํƒ€์ž…Data Type, ์˜๋ฏธ์ƒ ๋” ์ด์ƒ ๋ถ„๋ฆฌ๋˜์ง€ ์•Š๋Š” ์ตœ์†Œ์˜ ๋ฐ์ดํ„ฐ ๋‹จ์œ„์ด๋‹ค.

  • ์—”ํ‹ฐํ‹ฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์ž‘์—…์— ํ•„์š”ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ •๋ณด์—ฌ์•ผํ•œ๋‹ค.
  • ์ •๊ทœํ™” ์ด๋ก ์— ๊ทผ๊ฑฐํ•˜์—ฌ ์ •ํ•ด์ง„ ์ฃผ ์‹๋ณ„์ž์— ํ•จ์ˆ˜์  ์ข…์†์„ฑ์„ ๊ฐ€์ ธ์•ผํ•œ๋‹ค.
  • ํ•˜๋‚˜์˜ ์†์„ฑ์—๋Š” ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ์žˆ์–ด์•ผํ•œ๋‹ค.

Entity - Instance - Attribute์˜ ๊ด€๊ณ„

  • 1 ๊ฐœ์˜ Entity - n ๊ฐœ์˜ Instance
  • 1 ๊ฐœ์˜ entity - n ๊ฐœ์˜ Attribute
  • 1 ๊ฐœ์˜ Attribute - n ๊ฐœ์˜ Attribute Values

๋ถ„๋ฅ˜

์†์„ฑ์˜ ํŠน์„ฑ๊ณผ ์—”ํ‹ฐํ‹ฐ์˜ ๊ตฌ์„ฑ ๋ฐฉ์‹, ์„ธ๋ถ€ ์˜๋ฏธ์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ ๋œ๋‹ค.

ํŠน์„ฑ์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜

  • ๊ธฐ๋ณธ ์†์„ฑ(Basic Attribute) : ์—…๋ฌด ๋ถ„์„ ์ค‘ ๋ฐ”๋กœ ์ •์˜ํ•œ, ์ฒ˜์Œ ์ •์˜ํ•œ ๊ธฐ๋ณธ ์†์„ฑ. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ด๊ณ  ๋งŽ์€ ์†์„ฑ์„ ์ฐจ์ง€. ๊ทธ๋Ÿฌ๋‚˜, ์ฝ”๋“œ์„ฑ ๋ฐ์ดํ„ฐ, Entity ์‹๋ณ„ ์ผ๋ จ ๋ฒˆํ˜ธ, ๋‹ค๋ฅธ ์†์„ฑ ๊ณ„์‚ฐ์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ ์ƒ์„ฑ๋œ ์†์„ฑ์€ ๊ธฐ๋ณธ ์†์„ฑ์ด ์•„๋‹ˆ๋‹ค.
  • ์„ค๊ณ„ ์†์„ฑ(Designed Attribute) : ์ž‘์—…์— ๋ฐ”๋กœ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์„ ์œ„ํ•ด, ํ˜น์€ ์ž‘์—…์„ ๊ทœ์น™ํ™” ํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ง€๊ฑฐ๋‚˜ ๋ณ€ํ˜•๋œ ์†์„ฑ. ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ์ฝ”๋“œ์„ฑ ๋ฐ์ดํ„ฐ๋“ฑ์ด ์—ฌ๊ธฐ ์†ํ•œ๋‹ค.
  • ํŒŒ์ƒ ์†์„ฑ(Derived Attribute) : ๋‹ค๋ฅธ ์†์„ฑ์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ ๋ฐœ์ƒํ•˜๋Š” ์†์„ฑ. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณ„์‚ฐ๋œ ๊ฐ’๋“ค์ด ์—ฌ๊ธฐ ์†ํ•œ๋‹ค.

์—”ํ‹ฐํ‹ฐ ๊ตฌ์„ฑ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜

  • PK(Primary Key) ์†์„ฑ : Entity๋ฅผ ์œ ์ผํ•˜๊ฒŒ ๊ตฌ๋ถ„ ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ
  • FK(Foreign Key) ์†์„ฑ : ๋‹ค๋ฅธ Entity์™€์˜ ๊ด€๊ณ„์— ์žˆ์–ด์„œ ํฌํ•จ๋œ ์†์„ฑ
  • ์ผ๋ฐ˜ ์†์„ฑ : PK ๋˜๋Š” FK์— ํฌํ•จ๋˜์ง€ ์•Š์€, ๋‚˜๋จธ์ง€ ์†์„ฑ๋“ค

์„ธ๋ถ€ ์˜๋ฏธ์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜

  • ๋‹จ์ˆœ ์†์„ฑ(Simple Attribute) : ๋‚˜์ด, ์„ฑ๋ณ„๋“ฑ๊ณผ ๊ฐ™์ด ๋‹ค๋ฅธ ์†์„ฑ๋“ค๋กœ ๊ตฌ์„ฑ ๋  ์ˆ˜ ์—†๋Š” ๋‹จ์ˆœํ•œ ์†์„ฑ
  • ๋ณตํ•ฉ ์†์„ฑ(Composite Attribute) : ์ฃผ์†Œ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ์„ธ๋ถ€ ์†์„ฑ ๋“ค๋กœ ๊ตฌ์„ฑ ๋  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ. ์˜ˆ๋ฅผ๋“ค์–ด) ์ฃผ์†Œ ์†์„ฑ ์•„๋ž˜ ์‹œ, ๊ตฌ, ๋™๋“ฑ์˜ ์„ธ๋ถ€ ์†์„ฑ์„ ๋ถ„๋ฅ˜ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒฝ์šฐ.

๋„๋ฉ”์ธDomain

๊ฐ ์†์„ฑ์ด ๊ฐ€์ง€๋Š” ๊ฐ’์€ ๋ฒ”์œ„๊ฐ€ ์žˆ๋‹ค. ์†์„ฑ๊ฐ’์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋ฅผ ๊ทธ ์†์„ฑ์˜ ๋„๋ฉ”์ธ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋งŒ์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํฌ๊ธฐ ๋ฐ ์ถ”๊ฐ€์ ์ธ ์ œ์•ฝ์‚ฌํ•ญ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

Attribute Naming

  • ์ž‘์—…์— ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฆ„
  • ์„œ์ˆ ์‹ Naming์€ X
  • ์•ฝ์–ด ์‚ฌ์šฉ ์ง€์–‘
  • ์œ ์ผ์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.