1. ์ธ๋ ํค
- ํ ๋ฆด๋ ์ด์ ์ ํค ์ค์์ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ ํฌํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ํค
- ํ ๋ฆด๋ ์ด์ ์ ํฌํ์์ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ ํฌํ์ ์ฐธ์กฐํ๊ธฐ ์ํด ์ฌ์ฉ
์ฆ, ์ฝ๊ฒ ๋งํด์ ๋ค๋ฅธ ํ ์ด๋ธ์ ์๋ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.
2. ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด

๋ง์ฝ ํ ์ด๋ธ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์ด๋ฌํ ์ฐ๊ด์ฑ์ ๊ฐ์ง ๋
mysql> DELETE FROM Category WHERE CategoryNo = 2;
์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๊ฒ ๋๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์ด ์ค๋ฅ๋ "๋ฌด๊ฒฐ์ฑ"๊ณผ ๊ด๋ จ์ด ์๋ค.
Productํ ์ด๋ธ์๋ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ํ ์ธ๋ ํค ์ ์ฝ์กฐ๊ฑด์ด ์ ์ฉ๋์ด์๊ณ , Productํ ์ด๋ธ์ CategoryNo ํ๋๋ Categoryํ ์ด๋ธ์ CategoryNo ํ๋๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ค. ๋ง์ฝ Categoryํ ์ด๋ธ์ CategoryNo์ด 2์ธ ํฌํ์ ์ญ์ ํ๊ฒ ๋๋ฉด Productํ ์ด๋ธ์ CategoryNo๊ฐ 2์ธ ํฌํ์ ๋ฌด๊ฒฐ์ฑ์ด ์ง์ผ์ง์ง ์๊ฒ ๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ ์ฝ ์กฐ๊ฑด์ ์ฌ๋ฌ๊ฐ์ง ์๋ค.
1. Restrict
๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝ/์ญ์ ํ ๋ ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ๋ณ๊ฒฝ/์ญ์ ํ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ณ ์์ ๊ฒฝ์ฐ์ ๋ณ๊ฒฝ/์ญ์ ๊ฐ ์ทจ์๋๋ค.
์ฆ, ๋ด๊ฐ ๋ณ๊ฒฝ/์ญ์ ํ๊ณ ์ถ์ ํฌํ์ ๋ค๋ฅธ ํฌํ์ด ์ฐธ์กฐํ๊ณ ์์ ๊ฒฝ์ฐ์ ๋ณ๊ฒฝ/์ญ์ ๋ฅผ ํ์ง ๋ชปํ๋ค๋ ์๋ฏธ์ธ๋ฐ,
์์ ์ฌ์ง์ ์์๋ก ๋ค์ด๋ณด๋ฉด, Categoryํ ์ด๋ธ์ CategoryNo์ด 2์ธ ํฌํ์ ๋ณ๊ฒฝ/์ญ์ ํ์ง ๋ชปํ๋ ๊ฒ์ด๋ค.
2. Cascade
๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝ/์ญ์ ํ ๋ ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ๋ณ๊ฒฝ/์ญ์ ํ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ณ ์์ ๊ฒฝ์ฐ ํจ๊ป ๋ณ๊ฒฝ/์ญ์ ๋๋ค.
์ฆ, ๋ด๊ฐ ๋ณ๊ฒฝ/์ญ์ ํ๊ณ ์ถ์ ํฌํ์ ๋ค๋ฅธ ํฌํ์ด ์ฐธ์กฐํ๊ณ ์์ ๊ฒฝ์ฐ ๊ฐ์ด ๋ณ๊ฒฝ/์ญ์ ๋๋ค๋ ์๋ฏธ์ธ๋ฐ,
์์ ์ฌ์ง์ ์์๋ก ๋ค์ด๋ณด๋ฉด, Categoryํ ์ด๋ธ์ CategoryNo์ด 2์ธ ํฌํ์ ์ญ์ ํ๋ฉด ์ฐธ์กฐํ๊ณ ์๋ ํฌํ์ ํ ์์ฒด๊ฐ ์ง์์ง๋ค.
๊ฒฐ๊ตญ์ ProductNo์ด 2312211์ธ ํ์ด ์ง์์ง๋ ๊ฒ์ด๋ค.
3. Set Null
๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝ/์ญ์ ํ ๋ ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ๋ณ๊ฒฝ/์ญ์ ํ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ณ ์์ ๊ฒฝ์ฐ์ ์ฐธ์กฐํ๊ณ ์๋ ๊ฐ์ด Null๋ก ์ธํ ๋๋ค.
์ฆ, ๋ด๊ฐ ๋ณ๊ฒฝ/์ญ์ ํ๊ณ ์ถ์ ํฌํ์ ๋ค๋ฅธ ํฌํ์ด ์ฐธ์กฐํ๊ณ ์์ ๊ฒฝ์ฐ Null๋ก ์ธํ ๋๋ค๋ ์๋ฏธ์ธ๋ฐ,
์์ ์ฌ์ง์ ์์๋ก ๋ค์ด๋ณด๋ฉด, Categoryํ ์ด๋ธ์ CategoryNo์ด 2์ธ ํฌํ์ ์ญ์ ํ๋ฉด, Product ํ ์ด๋ธ์ CategoryNo๊ฐ 2์ธ ํฌํ์ ๊ฐ์ด Null๋ก ๋ณํ๋ค. Cascade๋ ์ ๋ถ ๋ณ๊ฒฝ/์ญ์ ํ๋ ๊ฒ๊ณผ๋ ๋ค๋ฅด๊ฒ Set Null์ ์ฐธ์กฐํ๊ณ ์๋ ๊ฐ๋ง Null๋ก ๋ฐ๊ฟ์ฃผ์ด์,
ํด๋น ํ์์ CategoryNo์ ์ ์ธํ๋ฉด ์๋ ๊ฐ์ด ๋ค์ด์๊ฒ ๋๋ค.
4. No Action
๊ฐ์ฒด๋ฅผ ๋ณ๊ฒฝ/์ญ์ ํ ๋ ๋ค๋ฅธ ๊ฐ์ฒด๊ฐ ํด๋น ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ณ ์์ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ฒด๋ง ๋ณ๊ฒฝ/์ญ์ ๋๊ณ , ์ฐธ์กฐํ๊ณ ์๋ ๊ฐ์ฒด๋ ๋ณ๋์ด ์๋ค. (๋จ MySql์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก Restrict์ ๋์ผํ๊ฒ ๋์ํ๋ค.(์ทจ์))
'๐ฅ๏ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Design pattern] MVC (1) | 2024.01.23 |
|---|---|
| [Servlet] ์ ๋ํ ์ด์ (Annotaion) (0) | 2024.01.22 |
| [Servlet] ์๋ช ์ฃผ๊ธฐ(Life Cycle) (0) | 2024.01.19 |
| [JS] Hoisting(ํธ์ด์คํ ) (0) | 2024.01.16 |
| [SQL] ์ฟผ๋ฆฌ (0) | 2024.01.10 |