DataBaseSQLD

๐Ÿ“Œ Entity Relation Model, ํ˜„์‹ค ์„ธ๊ณ„๊ฐ€ ๊ฐ๊ฐ์˜ Entity์™€ ๊ทธ๋“ค ๊ฐ„์˜ Relation์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค๊ณ  ๋ณด๋Š” ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ•

  • ERD๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„๋จ

๊ตฌ์„ฑ ์š”์†Œ

(Strong) Entity Set

= โˆ‘ Entity, ๊ฐ™์€ Type์˜ Entity์˜ Set

  • ์ฃผ๋กœ ์ถ”๊ฐ€์  ์†์„ฑ์„ ๊ฐ€์ง€๋Š” ๋ช…์‚ฌ ๋ชจ๋ธ๋ง์— ์‚ฌ์šฉ
  • Weak Entity Set: ์กด์žฌ ์ž์ฒด๊ฐ€ ๋‹ค๋ฅธ Strong Entity Set์— ์˜์กดํ•˜๋Š” Entity Set โžก Identifying Relationship์„ ๊ฐ€์ ธ์•ผ ํ•จ
    • ๐Ÿ”Ž ๊ต๊ณผ ๊ณผ์ •ํ‘œ์— ์žˆ๋Š” ์ˆ˜์—…๋งŒ ๊ฐœ์„ค๋  ์ˆ˜ ์žˆ์Œ
    • Weak์˜ PK = Strong์˜ PK + Weak์˜ Discriminator (๊ตฌ๋ถ„์ž)

Entity

๐Ÿ“Œ ์‘์šฉ ๋ถ„์•ผ ํ˜„์‹ค ์„ธ๊ณ„์˜ ๊ณ ์œ  ์‹๋ณ„์„ฑ์„ ๊ฐ–๋Š” Object
= โˆ‘ Attribute

Relationship Set

= โˆ‘ Relationship

  • ํŠน์ง•
    1. ์ฃผ๋กœ ๋™์ž‘ ๋ชจ๋ธ๋ง์— ์‚ฌ์šฉ
    2. Attribute ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ
    3. Role: ์—ฐ๊ฒฐ๋œ Entity Set์— Lable์ฒ˜๋Ÿผ ์ด๋ฆ„์„ ๋ถ™์ผ ์ˆ˜ ์žˆ์Œ โžก Integrity Constraint (๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ) ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ ๊ฐ€๋Šฅ
    4. Degree: Relationship Set์— ์—ฐ๊ฒฐ๋œ Entity Set์˜ ๊ฐœ์ˆ˜
    5. Mapping Cardinality (๊ด€๊ณ„์ฐจ์ˆ˜, ์ฐธ์—ฌ๋„): ํ•œ Entity์—์„œ Relationship์„ ํ†ตํ•ด ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” Entity์˜ ๊ฐœ์ˆ˜ ์ œ์•ฝ
      • 1 : 1 โžก PK = ์–ด๋А ํ•œ ์ชฝ์˜ PK/ํ›„๋ณดํ‚ค
      • 1 : ๅคš โžก PK = ๅคš์ชฝ์˜ PK/ํ›„๋ณดํ‚ค
      • ๅคš : ๅคš โžก PK = ์–‘์ชฝ์˜ PK/ํ›„๋ณดํ‚ค์˜ Union

Relationship

๐Ÿ“Œ Entity ๊ฐ„์˜ ๊ด€๊ณ„

Attribute

  1. Composite (ํ•ฉ์„ฑ): ๋‹ค๋ฅธ ์†์„ฑ๋“ค์ด ๊ณ„์ธต์ ์œผ๋กœ ๋ฌถ์—ฌ ํ˜•์„ฑ๋œ ํ•˜๋‚˜์˜ ์†์„ฑ, ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋ถ„ํ•ดํ•ด์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์š”๊ฑด์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ
      Composite์†์„ฑ๋ช…
    	  Component์†์„ฑ๋ช…1
    	  Component์†์„ฑ๋ช…2
    
  2. Multi-value (๋‹ค์ค‘๊ฐ’): ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ, { ์†์„ฑ๋ช… }
  3. Derived (๋„์ถœ): DB์— ์ง์ ‘ ์ €์žฅํ•˜์ง€ ์•Š์•„๋„ ๊ณ„์‚ฐ๋  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ, ์†์„ฑ๋ช…()

Specialization

๐Ÿ“Œ Top-Down ์„ค๊ณ„ ๋ฐฉ์‹, ์ƒ์œ„ Entity Set์˜ ์†์„ฑ๊ณผ Relationship Set์„ ์ƒ์†๋ฐ›์•„, IS-A Relationship ๊ด€๊ณ„์— ์žˆ๋Š” ํ•˜์œ„ Entity Set์„ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋ถ„๋ฅ˜
    1. Overlapping: ๊ฐ™์€ Entity Set์„ ์ƒ์†๋ฐ›๋Š” ํ•˜์œ„ Entity Set๋“ค ๊ฐ„ ๊ต์ง‘ํ•ฉ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ
    2. Disjoint: ๊ต์ง‘ํ•ฉ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
      • Total (= โˆ‘ ํ•˜์œ„ Entity Set)
        • ERD ์ƒ์— ํ‘œํ˜„ ํ•„์š”
      • Patrial (!= โˆ‘ ํ•˜์œ„ Entity Set)
  • ๋ฐฉ๋ฒ•
    1. ์ƒ์œ„ Entity Set์˜ PK๋งŒ ํฌํ•จ, ๋‚˜๋จธ์ง€ ์ƒ์†๋ฐ›์€ ์†์„ฑ์€ ํ•˜์œ„ Entity Set์—์„œ ์ œ์™ธ โžก Redundancy (์ค‘๋ณต์„ฑ)์€ ์—†์ง€๋งŒ, ๋งค๋ฒˆ Join ์—ฐ์‚ฐ์ด ํ•„์š”
    2. ํ•˜์œ„ Entity Set์— ์ค‘๋ณต ์ €์žฅ

Generalization

๐Ÿ“Œ Bottom-up ์„ค๊ณ„ ๋ฐฉ์‹, Specialization์™€ ๋ฐ˜๋Œ€ ์ˆœ์„œ์ผ ๋ฟ ํ˜„์‹ค ์„ธ๊ณ„์˜ ๊ฐ™์€ ๊ฐœ๋…์„ ๊ฐ™์€ ๋ฐฉ์‹(ERD)์œผ๋กœ ํ‘œํ˜„

Aggregation (์ง‘ํ•ฉ์ฒด)

๐Ÿ“Œ ๋ณต์žกํ•œ ๊ตฌ์กฐ์˜ Relationship์„ ํ•˜๋‚˜์˜ ์ถ”์ƒํ™”๋œ Entity Set์œผ๋กœ ๊ฐ„์ฃผํ•˜๋Š” ์„ค๊ณ„ ๋ฐฉ์‹, ์—ฌ๋Ÿฌ Set๋“ค์„ ํ•˜๋‚˜์˜ ํฐ ๊ฐœ๋…์œผ๋กœ ์ƒ๊ฐ

  • Relationship์ด ๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ณ  Redundancy (์ค‘๋ณต์„ฑ)๋ฅผ ์•ผ๊ธฐํ•˜๋Š” ๊ฒฝ์šฐ, ์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ