๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ”ฌapplication/- Database

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์— ๊ด€ํ•œ ๋ชจ๋“  ๊ฒƒ.

by Wonit 2020. 7. 6.

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์—๋Š” ํฌ๊ฒŒ 5๊ฐ€์ง€์˜ ์„ค๊ณ„ ์ฒด๊ณ„๊ฐ€ ์กด์žฌํ•œ๋‹ค.

  1. ์š”๊ตฌ ์‚ฌํ•ญ ๋ถ„์„
  2. ๊ฐœ๋…์  ์„ค๊ณ„
  3. ๋…ผ๋ฆฌ์  ์„ค๊ณ„
  4. ๋ฌผ๋ฆฌ์  ์„ค๊ณ„(์ •๊ทœํ™”)
  5. ๊ตฌํ˜„

์šฐ๋ฆฌ๋Š” ์ด๋ฒˆ ์‹œ๊ฐ„์— ๋ชจ๋“  ์„ค๊ณ„์— ๋ชจ๋“  ๊ฒƒ์„ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค.


์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ•ด๋‹น ๋งํฌ์— ๊ฐ€์„œ ๋‚˜๋ฌด๋ฅผ ํ™•์ธํ•˜๊ณ  ๋Œ์•„์™€์„œ ์ˆฒ์„์ดํ•ดํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ•ด๋ณด์ž.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์˜ ๊ฐœ๋…

๋งŒ์•ฝ

์šฐ๋ฆฌ๊ฐ€ ํšŒ์‚ฌ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ์–ด๋–ค ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ• ๊นŒ?


๋งŒ์•ฝ ๋‹น์‹ ์ด ํšŒ์‚ฌ์—์„œ ์—…๋ฌด๋ฅผ ๋ฐ›์•˜๋Š”๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ํŒŒํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ํŒ€์˜ ํŒ€์žฅ์ด ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.


๋‹น์‹ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ์ „๋ฌดํ•œ ์ƒํƒœ๋กœ ๋ˆˆ ์•ž์— ์—…๋ฌด๊ฐ€ ๋‚ด๋ ค์ง„๋‹ค๋ฉด ๋ˆˆ ์•ž์ด ์บ„์บ„ํ•ด์งˆ ๊ฒƒ์ด๋‹ค.

 

๋ฌผ๋ก  ์„ค๊ณ„์˜ ๊ฐœ๋…๋„ ๋ชจ๋ฅธ ์ƒํƒœ์—์„œ ์ž…์‚ฌ๋ฅผ ํ•˜์ง„ ์•Š๊ฒ ์ง€๋งŒ

 

์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์–ด๋–ค ์ฃผ์ œ๋กœ ์‚ฌ๋žŒ๋“ค์„ ๋‚˜๋ˆ„๊ณ  ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๋ฉฐ ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ• ์ง€.

 

๋‹ค์–‘ํ•œ ์ฃผ์ œ๊ฐ€ ๋จธ๋ฆฟ์†์— ์Šค์ณ ์ง€๋‚˜๊ฐˆ ๊ฒƒ์ธ๋ฐ, ์ด๋ฅผ ํ•˜๋‚˜์˜ ์ฒด๊ณ„๋กœ ๋งŒ๋“  ๊ฒƒ์ด ๋ฐ”๋กœ ์˜ค๋Š˜ ์ด์•ผ๊ธฐ ํ•  ์ฃผ์ œ์ด๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ 5๊ฐ€์ง€.

์š”๊ตฌ ์‚ฌํ•ญ(์กฐ๊ฑด) ๋ถ„์„

์ฒซ ๋ฒˆ์งธ๋กœ ํ•ด์•ผํ•  ์ผ์€ ๋ฐ”๋กœ, ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค.


์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค ์ผ์„ ํ•˜๋”๋ผ๋„ ์ƒ๋Œ€๋ฐฉ์ด ์›ํ•˜๋Š” ๊ฒƒ๊ณผ ์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ„๋ฅผ ํ™•์‹คํžˆ ํ•˜์—ฌ ์—…๋ฌด๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผํ•œ๋‹ค.

 

๊ทธ๋Ÿฐ ์˜๋ฏธ์—์„œ ์š”๊ตฌ ์‚ฌํ•ญ ๋ถ„์„์€ ์‹ค์„ธ๊ณ„์—์„œ ์ผ์–ด๋‚˜๋Š” ์‚ฌ๊ฑด์„ ์ „์‚ฐํ™”ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์ด์ž ๊ฒฝ๊ณ„์ธ ์ƒ˜์ด๋‹ค.

 

 

์š”๊ตฌ ์‚ฌํ•ญ ๋ถ„์„ ๋‹จ๊ณ„์—์„œ๋Š” ๋‘ ๊ฐ€์ง€์˜ ๊ธฐ์ค€์œผ๋กœ ๋ถ„์„์„ ์‹œ๋„ํ•œ๋‹ค.

  1. ์—…๋ฌด ๋‹จ์œ„
  2. ํ”„๋กœ์„ธ์Šค ๋‹จ์œ„

์ด๋ ‡๊ฒŒ ๋ถ„์„์ด ๋๋‚œ๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” Data์˜ ๊ด€์ ์—์„œ ์ด๋ฅผ ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜์„œ์— ์ •์˜ํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค.

 

๊ฐœ๋…์  ์„ค๊ณ„

๊ฐœ๋…์  ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์ค‘์ ์ ์œผ๋กœ ํ™•์ธํ•ด์•ผํ•  ๊ฒƒ์€ ๋ฐ”๋กœ ERD ์ด๋‹ค.

 

์ „ ๋‹จ๊ณ„์—์„œ ์‚ฐ์ถœ๋˜์—ˆ๋˜ ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜์„œ๋ฅผ ํ† ๋Œ€๋กœ ๊ฐœ๋…์ ์œผ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•  ๊ฒƒ์ด๋‹ค ๋ผ๋Š” ๋ช…์„ธ๋ฅผ ํ•˜๋Š” ๋‹จ๊ณ„๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

๊ฐœ๋…์  ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ธ ๊ฐ€์ง€์˜ ์ดํ•ด๊ฐ€ ์ „์ œ๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค.

 

  1. ์—”ํ‹ฐํ‹ฐ
  2. ๊ด€๊ณ„
  3. ์†์„ฑ

์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ•˜์œ„ ํฌ์ŠคํŒ…์—์„œ ์ด์•ผ๊ธฐํ•˜๊ฒ ์ง€๋งŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œ๋กœ ์ž‘์„ฑํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

Entity ๊ฐœ๋…์ด๋‚˜ ์–ด๋–ค Object์˜ ์ •๋ณด ๋‹จ์œ„
RELATION ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋…ผ๋ฆฌ์  ๋‹จ์œ„
ATTRIBUTE ์—”ํ‹ฐํ‹ฐ์™€ ์—”ํ‹ฐํ‹ฐ, ํ˜น์€ ์—”ํ‹ฐํ‹ฐ์™€ ์†์„ฑ ๊ฐ„์˜ ์—ฐ๊ด€์„ฑ

ERD

๋ฌผ๋ฆฌ์  ์„ค๊ณ„

๋ฌผ๋ฆฌ์  ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ๋Š” ๋…ผ๋ฆฌ์  ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์‚ฐ์ถœ๋˜๋Š” ERD๋ฅผ ํ† ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ์™€ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์„ค๊ณ„๋ฅผ ํ•˜๋Š” ๋‹จ๊ณ„ ์ด๋‹ค.


์ด ๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๋Š” ํŠน์ • DB๋ฅผ ์„ ์ •ํ•ด์„œ ์‹ค์ œ DATA๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ERD๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค.

 

์ด์™€ ๊ฐ™์ด ERD๋ฅผ ํ† ๋Œ€๋กœ ์‹ค์ œ ํ…Œ์ด๋ธ”์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ Mysql์˜ ReverseEngineering์ด ๋ฐ”๋กœ ์ด ๊ณผ์ •์— ํ•ด๋‹นํ•œ๋‹ค.

 

ERD๋ฅผ ์‹ค์ œ ํ…Œ์ด๋ธ”๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋งคํ•‘์ด ์กด์žฌํ•œ๋‹ค.

 

๋…ผ๋ฆฌ์  ์„ค๊ณ„ ๋ฌผ๋ฆฌ์  ์„ค๊ณ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
Entity Table Table
Attribute Column Column
Primary identifier Primary Key ๊ธฐ๋ณธ ํ‚ค

๊ตฌํ˜„

๋ถˆ์ฝ”๋”ฉ.

 

 

 

 

 

 

 

 

 

 

 

 

๋„ ๋งž๋Š” ๋ง์ด์ง€๋งŒ ๊ตฌํ˜„ ๋‹จ๊ณ„์—์„œ๋Š” DBMS์˜ DDL๋กœ ๊ธฐ์ˆ ๋œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

๋Œ“๊ธ€