[SQLD] 1. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด

2023. 3. 6. 22:09ยท์ž๊ฒฉ์ฆ/SQLD

 

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง 

 

ํ˜„์‹ค์‹œ๊ณ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ์ˆœํ™”(์ถ”์ƒํ™”)์‹œ์ผœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด๋‹ค. 

 

๋‹จ์ง€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งŒ์„ ๊ตฌ์ถ• ํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์“ฐ์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ

 

๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง ์ž์ฒด๋กœ์„œ ์—…๋ฌด๋ฅผ ์„ค๋ช…ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ๋„ ๋งค์šฐ ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ์ž์ง€๊ณ  ์žˆ๋‹ค.

 

์•ฝ์†๋œ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. 

 

 

๋ชจ๋ธ๋ง ์‹œ ์œ ์˜์‚ฌํ•ญ 

 

์ค‘๋ณต์„ฑ

 

  • ์—ฌ๋Ÿฌ ์žฅ์†Œ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ฐ™์€ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค. 

 

๋น„์œ ์—ฐ์„ฑ 

 

  • ๋ฐ์ดํ„ฐ์˜ ์ •์˜๋ฅผ ๋ฐ์ดํ„ฐ์˜ ์‚ฌ์šฉ ํ”„๋กœ์„ธ์Šค์™€ ๋ถ„๋ฆฌํ•œ๋‹ค. 
  • ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์€ ๋ณ€ํ™”๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ค‘๋Œ€ํ•œ ๋ณ€ํ™”๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ธ๋‹ค.

 

๋น„์ผ๊ด€์„ฑ 

  • ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์ด ์—†๋”๋ผ๋„ ๋น„์ผ๊ด€์„ฑ์€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ๊ฐ„์˜ ์ƒํ˜ธ ์—ฐ๊ด€ ๊ด€๊ณ„์— ๋Œ€ํ•ด ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•˜์—ฌ์•ผ ํ•œ๋‹ค.
  • ์‚ฌ์šฉ์ž๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ํ˜น์€ ์ด์™€ ๊ด€๋ จ๋œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ…Œ์ด๋ธ”์˜ ์—ฐ๊ณ„์„ฑ์„ ๋†’์ด๋Š” ๊ฒƒ์€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์—…๋ฌด ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด ์ทจ์•ฝํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋‹จ์ .

 

 

๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

 

์ถ”์ƒํ™”์˜ ์ˆ˜์ค€์ด ๋†’์Œ 

 

์—…๋ฌด์ค‘์‹ฌ์ ์ด๊ณ  ํฌ๊ด„์ ์ธ ์ˆ˜์ค€์˜ ๋ชจ๋ธ๋ง ์ง„ํ–‰

 

์ „์‚ฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋งŽ์ด ํ•œ๋‹ค. 

 

๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

 

์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๊ณ ์ž ํ•˜๋Š” ์—…๋ฌด์— ๋Œ€ํ•ด 

 

key, ์†์„ฑ, ๊ด€๊ณ„ ๋“ฑ์„ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ 

 

์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์Œ

 

๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

 

์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ด์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก 

 

์„ฑ๋Šฅ, ์ €์žฅ ๋“ฑ ๋ฌผ๋ฆฌ์ ์ธ ์„ฑ๊ฒฉ์„ ๊ณ ๋ คํ•˜์—ฌ ์„ค๊ณ„

 

 

์Šคํ‚ค๋งˆ(Schema)๋ž€?

 

์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ์™€ ์ œ์•ฝ์กฐ๊ฑด์— ๊ด€ํ•œ ์ „๋ฐ˜์ ์ธ ๋ช…์„ธ๋ฅผ ๊ธฐ์ˆ ํ•œ ๊ฒƒ์ด๋‹ค.

 

์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐœ์ฒด(Entity), ๊ฐœ์ฒด์˜ ํŠน์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์†์„ฑ(Attribute),

 

๊ฐœ์ฒด ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ๊ด€๊ณ„(Relationship) ๋ฐ ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์‹œ ๋ฐ์ดํ„ฐ ๊ฐ’๋“ค์ด ๊ฐ–๋Š” ์ œ์•ฝ ์กฐ๊ฑด ๋“ฑ์— ๊ด€ํ•˜์—ฌ ๊ธฐ์ˆ ํ•œ๋‹ค.  

 

์‰ฝ๊ฒŒ ๋งํ•ด DB ๋‚ด์— ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ๊ตฌ์กฐ๋กœ ์ €์žฅ๋˜๋Š”๊ฐ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๋ฅผ ์Šคํ‚ค๋งˆ๋ผ๊ณ  ํ•œ๋‹ค.

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๊ตฌ์กฐ 3๋‹จ๊ณ„

 

 

๊ฐœ๋… ์Šคํ‚ค๋งˆ

  • ๋ชจ๋“  ์‚ฌ์šฉ์ž ๊ด€์ ์„ ํ†ตํ•ฉํ•œ ์กฐ์ง ์ „์ฒด ๊ด€์ ์˜ ํ†ตํ•ฉ์  ํ‘œํ˜„
  • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์€ ํ†ตํ•ฉ ๊ด€์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐœ๋… ์Šคํ‚ค๋งˆ(Conceptual Schema)๋ฅผ ๋งŒ๋“ค์–ด ๊ฐ€๋Š” ๊ณผ์ •

 

์™ธ๋ถ€ ์Šคํ‚ค๋งˆ

  • ์‚ฌ์šฉ์ž ๋ทฐ(View)
  • ์‚ฌ์šฉ์ž๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ฐ ๊ฐœ์ธ์˜ ์ž…์žฅ์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ๋ฅผ ์ •์˜
  • ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ•œ ๋…ผ๋ฆฌ์ ์ธ ๋ถ€๋ถ„ (์„œ๋ธŒ ์Šคํ‚ค๋งˆ)
  • ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด์„œ๋„ ์„œ๋กœ ๋‹ค๋ฅธ ๊ด€์ ์„ ์ •์˜ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉ
  • ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋Š” SQL์„ ์‚ฌ์šฉํ•˜์—ฌ DB๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ

  • ๋ฌผ๋ฆฌ์  ์ €์žฅ์žฅ์น˜ ์ž…์žฅ์—์„œ ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ, ๋ฌผ๋ฆฌ์ ์ธ ์ €์žฅ ์žฅ์น˜์™€ ๋ฐ€์ ‘ํ•œ ๊ณ„์ธต
  • ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋  ๋ ˆ์ฝ”๋“œ์˜ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ •์˜
  • ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์˜ ํ‘œํ˜„๋ฐฉ๋ฒ•, ๋‚ด๋ถ€ ๋ ˆ์ฝ”๋“œ์˜ ๋ฌผ๋ฆฌ์  ์ˆœ์„œ ๋“ฑ์„ ๋‚˜ํƒ€๋ƒ„
  • ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋จธ, ์„ค๊ณ„์ž๊ฐ€ ๋ณด๋Š” ๊ด€์ ์˜ ์Šคํ‚ค๋งˆ

 

 

https://code-lab1.tistory.com/114

 

[DB] ์Šคํ‚ค๋งˆ(Schema)๋ž€? ์™ธ๋ถ€์Šคํ‚ค๋งˆ, ๊ฐœ๋…์Šคํ‚ค๋งˆ, ๋‚ด๋ถ€์Šคํ‚ค๋งˆ

์Šคํ‚ค๋งˆ(Schema)๋ž€? ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ์™€ ์ œ์•ฝ์กฐ๊ฑด์— ๊ด€ํ•œ ์ „๋ฐ˜์ ์ธ ๋ช…์„ธ๋ฅผ ๊ธฐ์ˆ ํ•œ ๊ฒƒ์ด๋‹ค. ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐœ์ฒด(Entity), ๊ฐœ์ฒด์˜ ํŠน์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์†์„ฑ(Attribut

code-lab1.tistory.com

 

 

 

ERD(Entity Relationship Diagram)

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๋ฅผ ํ•œ๋ˆˆ์— ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด์„œ ์“ฐ์ธ๋‹ค.

 

1976๋…„ Peter Chen ์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง„ ํ‘œ๊ธฐ๋ฒ•

 

 

 

์ž‘์„ฑ ํ๋ฆ„ : ์—”ํ‹ฐํ‹ฐ ๋„์ถœ -> ์—”ํ‹ฐํ‹ฐ ๋ฐฐ์น˜ -> ๊ด€๊ณ„ ์„ค์ • -> ๊ด€๊ณ„๋ช… ๊ธฐ์ˆ  

 

์—”ํ‹ฐํ‹ฐ์˜ ํŠน์ง•

  • ๋ฐ˜๋“œ์‹œ ํ•ด๋‹น ์—…๋ฌด์—์„œ ํ•„์š”ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ •๋ณด์ด์–ด์•ผ ํ•œ๋‹ค.
  • ์œ ์ผํ•œ ์‹๋ณ„์ž์— ์˜ํ•ด ์‹๋ณ„์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค.
  • ์˜์†์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ธ์Šคํ„ด์Šค ์ง‘ํ•ฉ์ด์–ด์•ผ ํ•œ๋‹ค.
  • ์—”ํ‹ฐํ‹ฐ๋Š” ๋ฐ˜๋“œ์‹œ ์†์„ฑ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • ์—”ํ‹ฐํ‹ฐ๋Š” ๋‹ค๋ฅธ ์—”ํ‹ฐํ‹ฐ์™€ ์ตœ์†Œ ํ•œ ๊ฐœ ์ด์ƒ์˜ ๊ด€๊ณ„๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

 

 

๋ฐœ์ƒ ์‹œ์ ์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜ 

์—”ํ„ฐํ‹ฐ์˜ ๋ฐœ์ƒ ์‹œ์ ์— ๋”ฐ๋ผ ๊ธฐ๋ณธ/ํ‚ค ์—”ํ„ฐํ‹ฐ(Fundamental Entity, Key Entity), ์ค‘์‹ฌ ์—”ํ„ฐํ‹ฐ(Main Entity), ํ–‰์œ„ ์—”ํ„ฐํ‹ฐ(Active Entity)๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ๋ณธ ์—”ํ„ฐํ‹ฐ 

๊ธฐ๋ณธ ์—”ํ„ฐํ‹ฐ๋ž€ ๊ทธ ์—…๋ฌด์— ์›๋ž˜ ์กด์žฌํ•˜๋Š” ์ •๋ณด๋กœ์„œ ๋‹ค๋ฅธ ์—”ํ„ฐํ‹ฐ์™€ ๊ด€๊ณ„์— ์˜ํ•ด ์ƒ์„ฑ๋˜์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ  ์ž์‹ ์€ ํƒ€ ์—”ํ„ฐํ‹ฐ์˜ ๋ถ€๋ชจ์˜ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋œ๋‹ค. ๋‹ค๋ฅธ ์—”ํ„ฐํ‹ฐ๋กœ๋ถ€ํ„ฐ ์ฃผ์‹๋ณ„์ž๋ฅผ ์ƒ์†๋ฐ›์ง€ ์•Š๊ณ  ์ž์‹ ์˜ ๊ณ ์œ ํ•œ ์ฃผ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.

๊ด€๊ณ„๋กœ ์ƒ์„ฑ๋˜์ง€ ์•Š๊ณ  ๋…๋ฆฝ์ ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ  ์ž์‹ ์€ ํƒ€ ์—”ํ„ฐํ‹ฐ์˜ ๋ถ€๋ชจ์˜ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋œ๋‹ค. ๋‹ค๋ฅธ ์—”ํ„ฐํ‹ฐ๋กœ๋ถ€ํ„ฐ ์ฃผ์‹๋ณ„ ์ž๋ฅผ ์ƒ์†๋ฐ›์ง€ ์•Š๊ณ  ์ž์‹ ์˜ ๊ณ ์œ ํ•œ ์ฃผ์‹๋ณ„ ์ž๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.

์ค‘์‹ฌ ์—”ํ„ฐํ‹ฐ 

์ค‘์‹ฌ ์—”ํ„ฐํ‹ฐ๋ž€ ๊ธฐ๋ณธ ์—”ํ„ฐํ‹ฐ๋กœ๋ถ€ํ„ฐ ๋ฐœ์ƒํ•˜๊ณ  ๊ทธ ์—…๋ฌด์— ์žˆ์–ด์„œ ์ค‘์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ๊ณ  ๋ฐœ์ƒํ•˜๊ณ  ๋‹ค๋ฅธ ์—”ํ„ฐํ‹ฐ์™€์˜ ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด ๋งŽ์€ ํ–‰์œ„์—”ํ„ฐํ‹ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

ํ–‰์œ„ ์—”ํ„ฐํ‹ฐ 

ํ–‰์œ„ ์—”ํ„ฐํ‹ฐ๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ถ€๋ชจ์—”ํ„ฐํ‹ฐ๋กœ๋ถ€ํ„ฐ ๋ฐœ์ƒํ•˜๊ณ  ์ž์ฃผ ๋‚ด์šฉ์ด ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ์–‘์ด ์ฆ๊ฐ€ํ•œ๋‹ค. ๋ถ„์„ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ๋Š” ์ž˜ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์œผ๋ฉฐ ์ƒ์„ธ ์„ค๊ณ„๋‹จ๊ณ„๋‚˜ ํ”„๋กœ์„ธ์Šค์™€ ์ƒ๊ด€๋ชจ๋ธ๋ง์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋„์ถœ๋  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์†์„ฑ

์—…๋ฌด์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ์ธ์Šคํ„ด์Šค์—์„œ ๊ด€๋ฆฌํ•˜๊ณ ์ž ํ•˜๋Š” ์˜๋ฏธ์ƒ ๋” ์ด์ƒ ๋ถ„๋ฆฌ๋˜์ง€ ์•Š๋Š” ์ตœ์†Œ์˜ ๋ฐ์ดํ„ฐ ๋‹จ์œ„ 

 

ํ•œ ๊ฐœ์˜ ์—”ํ‹ฐํ‹ฐ๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ์†์„ฑ์„ ๊ฐ–๋Š”๋‹ค.

 

ํ•œ ๊ฐœ์˜ ์†์„ฑ์€ ํ•œ ๊ฐœ์˜ ์†์„ฑ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. 

 

 

1) ๊ธฐ๋ณธ์†์„ฑ
๊ธฐ๋ณธ ์†์„ฑ์€ ์—…๋ฌด๋กœ๋ถ€ํ„ฐ ์ถ”์ถœํ•œ ๋ชจ๋“  ์†์„ฑ์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•˜๋ฉฐ ์—”ํ„ฐํ‹ฐ์— ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ด๊ณ  ๋งŽ์€ ์†์„ฑ์„ ์ฐจ์ง€ํ•œ๋‹ค. ์ฝ”๋“œ์„ฑ ๋ฐ์ดํ„ฐ, ์—”ํ„ฐํ‹ฐ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ถ€์—ฌ๋œ ์ผ๋ จ๋ฒˆํ˜ธ, ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์†์„ฑ์„ ๊ณ„์‚ฐํ•˜๊ฑฐ๋‚˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ ์ƒ์„ฑ๋œ ์†์„ฑ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์†์„ฑ์€ ๊ธฐ๋ณธ์†์„ฑ์ด๋‹ค. ์ฃผ์˜ํ•ด์•ผ ํ•  ๊ฒƒ์€ ์—…๋ฌด๋กœ๋ถ€ํ„ฐ ๋ถ„์„ํ•œ ์†์„ฑ์ด๋ผ๋„ ์ด๋ฏธ ์—…๋ฌด์ƒ ์ฝ”๋“œ๋กœ ์ •์˜ํ•œ ์†์„ฑ์ด ๋งŽ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๋„ ์†์„ฑ์˜ ๊ฐ’์ด ์›๋ž˜ ์†์„ฑ์„ ๋‚˜ํƒ€๋‚ด์ง€ ๋ชปํ•˜๋ฏ€๋กœ ๊ธฐ๋ณธ์†์„ฑ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

2) ์„ค๊ณ„์†์„ฑ
์„ค๊ณ„์†์„ฑ์€ ์—…๋ฌด์ƒ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ด์™ธ์— ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์„ ์œ„ํ•ด, ์—…๋ฌด๋ฅผ ๊ทœ์น™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์†์„ฑ์„ ์ƒˆ๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋ณ€ํ˜•ํ•˜์—ฌ ์ •์˜ํ•˜๋Š” ์†์„ฑ์ด๋‹ค. ๋Œ€๊ฐœ ์ฝ”๋“œ์„ฑ ์†์„ฑ์€ ์›๋ž˜ ์†์„ฑ์„ ์—…๋ฌด์ƒ ํ•„์š”์— ์˜ํ•ด ๋ณ€ํ˜•ํ•˜์—ฌ ๋งŒ๋“  ์„ค๊ณ„์†์„ฑ์ด๊ณ  ์ผ๋ จ๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ์†์„ฑ์€ ๋‹จ์ผ(Unique)ํ•œ ์‹๋ณ„์ž๋ฅผ ๋ถ€์—ฌํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋ธ ์ƒ์—์„œ ์ƒˆ๋กœ ์ •์˜ํ•˜๋Š” ์„ค๊ณ„์†์„ฑ์ด๋‹ค.

 

3) ํŒŒ์ƒ์†์„ฑ
ํŒŒ์ƒ์†์„ฑ์€ ๋‹ค๋ฅธ ์†์„ฑ์— ์˜ํ–ฅ์„ ๋ฐ›์•„ ๋ฐœ์ƒํ•˜๋Š” ์†์„ฑ์œผ๋กœ์„œ ๋ณดํ†ต ๊ณ„์‚ฐ๋œ ๊ฐ’๋“ค์ด ์ด์— ํ•ด๋‹น๋œ๋‹ค. 

 

 

๋„๋ฉ”์ธ(Domain)

๊ฐ ์—”ํ‹ฐํ‹ฐ(ํ…Œ์ด๋ธ”)์˜ ์†์„ฑ์— ๋Œ€ํ•ด์„œ ์–ด๋–ค ์œ ํ˜•์˜ ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š”์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฐœ๋…

 

๊ฐ ์†์„ฑ์˜ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ๋ฒ”์œ„ 

 

์†์„ฑ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐํƒ€์ž…, ํฌ๊ธฐ ์ง€์ • / ์ œ์•ฝ์‚ฌํ•ญ ์ง€์ • 

 

 

๊ด€๊ณ„

 

ERD์—์„œ๋Š” ๊ด€๊ณ„๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ , ์กด์žฌ์™€ ํ–‰์œ„๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ผํ™”๋œ ํ‘œ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

UML์˜ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์—์„œ๋Š” ์—ฐ๊ด€๊ด€๊ณ„์™€ ์˜์กด๊ด€๊ณ„์— ๋Œ€ํ•ด ๋‹ค๋ฅธ ํ‘œ๊ธฐ๋ฒ•์„ ๊ฐ€์ง€๊ณ  ํ‘œํ˜„ํ•œ๋‹ค. 

 

 

 

๊ด€๊ณ„์˜ ํ‘œ๊ธฐ๋ฒ•

 

๊ด€๊ณ„๋ช… : ๊ด€๊ณ„์˜ ์ด๋ฆ„

๊ด€๊ณ„์ฐจ์ˆ˜ : 1:1 , 1:M , M:N

๊ด€๊ณ„์„ ํƒ์‚ฌ์–‘ : ํ•„์ˆ˜๊ด€๊ณ„ , ์„ ํƒ๊ด€๊ณ„ 

 

 

๊ด€๊ณ„๋ฅผ ์ •์˜ํ•  ๋•Œ ์ฒดํฌ์‚ฌํ•ญ

 

  1. ์—ฐ๊ด€๊ทœ์น™์ด ์กด์žฌํ•˜๋Š”๊ฐ€?
  2. ์ •๋ณด์กฐํ•ฉ์ด ๋ฐœ์ƒํ•˜๋Š”๊ฐ€?
  3. ๊ด€๊ณ„์—ฐ๊ฒฐ์— ๋Œ€ํ•œ ๊ทœ์น™์ด ์„œ์ˆ ๋˜์–ด ์žˆ๋Š”๊ฐ€?
  4. ๊ด€๊ณ„์—ฐ๊ฒฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋™์‚ฌ๊ฐ€ ์žˆ๋Š”๊ฐ€?

 

์ฃผ์‹๋ณ„์ž

 

์ฃผ์‹๋ณ„์ž์˜ ํŠน์ง•

 

1. ์œ ์ผ์„ฑ : ์œ ์ผํ•˜๊ฒŒ ๊ตฌ๋ถ„

2. ์ตœ์†Œ์„ฑ : ์†์„ฑ์˜ ์ˆ˜ ์œ ์ผ์„ฑ์„ ๋งŒ์กฑํ•˜๋ฉฐ ์ตœ์†Œ์˜ ์ˆ˜ 

3. ๋ถˆ๋ณ€์„ฑ : ์‹๋ณ„์ž์˜ ๊ฐ’์€ ๋ณ€ํ•˜์ง€ ์•Š์•„์•ผ ํ•จ

4. ์กด์žฌ์„ฑ : not Null

 

 ์ฃผ์‹๋ณ„์ž๋ฅผ ์ง€์ •ํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์€?

 

1) ์ฃผ์‹๋ณ„์ž์— ์˜ํ•ด ์—”ํ„ฐํ‹ฐ ๋‚ด์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋“ค์ด ์œ ์ผํ•˜๊ฒŒ ๊ตฌ๋ถ„๋˜์–ด์•ผ ํ•œ๋‹ค.

2) ์ฃผ์‹๋ณ„์ž๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ์˜ ์ˆ˜๋Š” ์œ ์ผ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ์ตœ์†Œ์˜ ์ˆ˜๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค.

3) ์ง€์ •๋œ ์ฃผ์‹๋ณ„์ž์˜ ๊ฐ’์€ ์ž์ฃผ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด์–ด์•ผ ํ•œ๋‹ค.

4) ์ฃผ์‹๋ณ„์ž๊ฐ€ ์ง€์ •๋˜๋ฉด ๋ฐ˜๋“œ์‹œ ๊ฐ’์ด ๋“ค์–ด์™€์•ผ ํ•œ๋‹ค.

 

 

  • ์‹๋ณ„์ž
    : ๋ฐ์ดํ„ฐ๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ

 

  • ๋Œ€์ฒด์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜๊ฐ€๋Šฅ
    • ๋ณธ์งˆ์‹๋ณ„์ž : ์—…๋ฌด์— ์˜ํ•ด ๋งŒ๋“ค์–ด์ง„ ์‹๋ณ„์ž
    • ์ธ์กฐ์‹๋ณ„์ž : ์—…๋ฌด์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง€์ง€๋Š” ์•Š์•˜์ง€๋งŒ  ์ธ์œ„์ ์œผ๋กœ ๋งŒ๋“  ์‹๋ณ„์ž (์‹œ์Šคํ…œ์ ์œผ๋กœ ๋ถ€์—ฌ๋œ ์‹๋ณ„์ž)

 

 

 

์‹๋ณ„์ž์™€ ๋น„์‹๋ณ„์ž๊ด€๊ณ„

 

- ์‹๋ณ„์ž๊ด€๊ณ„(identifying relationship)๋งŒ์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์„ ์ „๊ฐœํ•  ๊ฒฝ์šฐ,

 

pk ์†์„ฑ์˜ ์ˆซ์ž๊ฐ€ ๊ด€๊ณ„์— ๋”ฐ๋ผ ๊ณ„์† ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ๊ฐœ๋ฐœ๋œ sql๊ตฌ๋ฌธ์ด ๋ณต์žกํ•ด์ง€๊ณ  ์ด๋Ÿฌํ•œ ๊ตฌ๋ฌธ์˜ ๋ณต์žก์„ฑ์œผ๋กœ ๊ฐœ๋ฐœ์˜ค๋ฅ˜๊ฐ€ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

 


- ๋น„์‹๋ณ„์ž ๊ด€๊ณ„(non-identifying relationship)๋งŒ์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์„ ์ „๊ฐœํ•  ๊ฒฝ์šฐ,

 

ํ…Œ์ด๋ธ”๊ฐ„์˜ ๊ณผ๋‹คํ•œ ์กฐ์ธ์„ ์œ ๋ฐœํ•ด ์กฐ์ธ์— ์˜ํ•œ ์„ฑ๋Šฅ์ €ํ•˜๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.




“๋ฐ์ดํ„ฐ๋ชจ๋ธ๊ด€๊ณ„ ๋„์ถœ ์‹œ ์‹๋ณ„์ž๊ด€๊ณ„์™€ ๋น„์‹๋ณ„์ž๊ด€๊ณ„์˜ ์˜๋ฏธ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ ,

 

์—…๋ฌด์  ํŠน์ง•๊ณผ ์กฐ์ธ๊ด€๊ณ„ ๊ทธ๋ฆฌ๊ณ  pk ๊ตฌ์„ฑ์„ ๊ณ ๋ คํ•ด ์‹๋ณ„์ž๊ด€๊ณ„/๋น„์‹๋ณ„์ž๊ด€๊ณ„๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.”

 

 

์ €์ž‘์žํ‘œ์‹œ

'์ž๊ฒฉ์ฆ > SQLD' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[SQLD] 5. SQL ํ™œ์šฉ - 1  (0) 2023.03.16
[SQLD] 4. SQL ๊ธฐ๋ณธ - 2  (0) 2023.03.15
[SQLD] 3. SQL ๊ธฐ๋ณธ - 1  (0) 2023.03.14
[SQLD] 2. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ  (0) 2023.03.13
[SQLD] 2023.03.19 ์‹œํ—˜  (0) 2023.03.04
'์ž๊ฒฉ์ฆ/SQLD' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [SQLD] 4. SQL ๊ธฐ๋ณธ - 2
  • [SQLD] 3. SQL ๊ธฐ๋ณธ - 1
  • [SQLD] 2. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ
  • [SQLD] 2023.03.19 ์‹œํ—˜
hello_u
hello_u
  • hello_u
    ๐Ÿ˜œ
    hello_u
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐Ÿ˜œ (345)
      • Hardware (2)
        • BMC (2)
      • Spring (109)
        • Spring ์ž…๋ฌธ (20)
        • Spring ๊ธฐ๋ณธ (27)
        • Spring MVC (18)
        • Spring DB (22)
        • Spring JPA ๊ธฐ๋ณธ (16)
        • Spring JPA ํ™œ์šฉ (6)
      • Develop (27)
        • DB (8)
        • JAVA (4)
        • Web (2)
        • Python (7)
        • OSS (2)
        • Git (2)
        • API (2)
      • Algorithm (155)
        • CodeUp ๊ธฐ์ดˆ (44)
        • ํŒŒ์ด์ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (64)
        • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (4)
        • SWEA (30)
        • Softeer (10)
        • BOJ (2)
      • CS (9)
        • ์ปดํ“จํ„ฐ์ผ๋ฐ˜ (3)
        • ์šด์˜์ฒด์ œ (3)
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (0)
        • ์ •๋ณดํ†ต์‹  (1)
        • ์ž๋ฃŒ๊ตฌ์กฐ (1)
        • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ (1)
        • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (0)
        • ์ตœ์‹  ๋””์ง€ํ„ธ, ์ผ๋ฐ˜์ƒ์‹ (0)
      • ์ž๊ฒฉ์ฆ (41)
        • ์ •๋ณด๋ณด์•ˆ๊ธฐ์‚ฌ (9)
        • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (22)
        • ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 1๊ธ‰ (3)
        • SQLD (7)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
hello_u
[SQLD] 1. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”