software engineering/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์„ค๊ณ„

[DB] ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ

jjingle 2023. 10. 7. 18:34

์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ(Referential Integrity)

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

 

* ์œ ์˜์‚ฌํ•ญ

  • ์™ธ๋ž˜ํ‚ค๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ๋ถ€๋ชจํ…Œ์ด๋ธ”์ด ๋จผ์ € ์ƒ์„ฑ๋˜์–ด์•ผํ•œ๋‹ค
  • ์ฐธ์กฐ๋˜๋Š” ๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์€ ๋ฐ˜๋“œ์‹œ ๊ธฐ๋ณธํ‚ค ๋˜๋Š” Unique ์ด์–ด์•ผํ•œ๋‹ค
  • ํ•œ ๊ฐœ ์ด์ƒ์˜ ์ปฌ๋Ÿผ์œผ๋กœ ์™ธ๋ž˜ํ‚ค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ
  • ์ž์‹ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ๊ฐ’์„ ๋ถ€๋ชจํ…Œ์ด๋ธ”์—์„œ ์‚ญ์ œํ•  ์ˆ˜ ์—†์Œ
  • ์ž…๋ ฅ ์‹œ์—๋Š” ๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ์ž…๋ ฅํ•˜๊ณ  ์ž์‹ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ

 

* ON DELETE  ์˜ต์…˜

  • ์ฐธ์กฐ๋˜๊ณ  ์žˆ๋Š” ๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜์—ˆ์„ ๋•Œ,
    • ON DELETE CASCADE : ์ž์‹ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜
    • ON DELETE SET NULL : ๊ฐ’์„  NULL๋กœ ์ˆ˜์ •ํ•˜๋„๋ก ์„ ์–ธ