๊ณ๋จ์ ์ญ์
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์ Cascade Delete์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ๋ํด ์์๋ณด์ญ์์ค. ๊ฐ์ด๋๋ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ ๊ตฌํ, ์ด์ ๋ฐ ์ํ์ ๋ค๋ฃน๋๋ค.

๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ ์ค๋๋ ์ ๋์งํธ ํ๊ฒฝ์์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ฅ์ธ ๊ณ๋จ์ ์ญ์ ๋ ์์-ํ์ ๊ด๊ณ์์ ๊ด๋ จ ๋ ์ฝ๋ ์ฒ๋ฆฌ๋ฅผ ๋จ์ํํ์ฌ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ด ํ ๋ก ์ Cascade Delete, ๊ตฌํ, ์ฅ์ , ๋จ์ ๋ฐ ํจ์จ์ฑ์ ๊ทน๋ํํ๊ธฐ ์ํ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ ์ฌ์ธต์ ์ธ ์ดํด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ๊ธฐ๋ณธ ์ฌํญ, ๊ธฐ๋ณธ ํค ๋ฐ ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด, ๊ณ๋จ์ ์ญ์ ๋ฉ์ปค๋์ฆ์ ์ดํด๋ด ๋๋ค. ์ ์ฌ์ ํจ์ ๋ฐ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์๊ณผ ํจ๊ป MySQL, PostgreSQL ๋ฐ SQL Server์ ๊ฐ์ ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ์ด ๊ธฐ๋ฅ์ ์ค์ ๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ๋ ๋ ผ์ํฉ๋๋ค.
Cascade Delete์ ๋ํ ๋ชจ๋ฒ ์ฌ๋ก ์ ์ ๋ต์ ํ๊ตฌํจ์ผ๋ก์จ ๋ ์๋ ์ ๋ณด์ ์ ๊ฐํ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ณ ์ํ์ ์ํํ๋ฉด์ ์ด์ ์ ๊ทน๋ํํ ์ ์์ต๋๋ค. ์ด ํฌ๊ด์ ์ธ ๋ถ์์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์, ๊ฐ๋ฐ์ ๋ฐ IT ์ ๋ฌธ๊ฐ๋ ๊ด๋ จ ๋ ์ฝ๋๋ฅผ ๋ ์ ๊ด๋ฆฌํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ ํฅ์ํ ์ ์์ต๋๋ค.
SQL Server์์ Cascade DELETE ์ฌ์ฉํ๋ ์ธ๋ ํค๋ ๋ฌด์์ ๋๊น?
SQL Server์์ Cascade DELETE ์ฌ์ฉํ๋ ์ธ๋ ํค๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์์ ๊ด๋ จ ํ ์ด๋ธ ๊ฐ์ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ๋๋ค. ์ธ๋ ํค๋ ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ์ฌ ๋ ํ ์ด๋ธ ๊ฐ์ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ์ด ๋๋ ์ด ์งํฉ์ ๋๋ค. Cascade DELETE ์ต์ ์ ์์ ๋ ์ฝ๋๊ฐ ์ญ์ ๋ ๋ ํด๋น ํ์ ๋ ์ฝ๋๋ฅผ ์๋์ผ๋ก ์ ๊ฑฐํ๋ ๊ท์น์ ์ ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค์ด, 'Orders' ์ 'Order_Items'๋ผ๋ ๋ ๊ฐ์ ํ ์ด๋ธ์ด ์๋ ์ ์ ์๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ฐํด ๋ณด์ญ์์ค 'Order_Items.''Orders' ํ ์ด๋ธ์๋ ์ผ๋ฐ ์ฃผ๋ฌธ ์ ๋ณด๊ฐ ํฌํจ๋๋ฉฐ 'Order_Items' ํ ์ด๋ธ์๋ ๊ฐ ์ฃผ๋ฌธ๊ณผ ๊ด๋ จ๋ ๊ฐ๋ณ ํญ๋ชฉ์ด ํฌํจ๋ฉ๋๋ค. 'Order_Items' ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ์ฌ 'Order_Items' ํ ์ด๋ธ์์ Cascade DELETE ๋ก ์ธ๋ ํค๋ฅผ ์ ์ํ๋ฉด 'Orders''Orders' ' ํ ์ด๋ธ์์ ์ฃผ๋ฌธ์ด ์ญ์ ๋ ๋ 'Order_Items' ํ ์ด๋ธ์ ๋ชจ๋ ๊ด๋ จ ํญ๋ชฉ์ด ๋ ์๋์ผ๋ก ์ ๊ฑฐ๋ฉ๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ์์ ํ ์ด๋ธ์ ๋ํ ์ ์ ํ ์ฐ๊ฒฐ์ด ์๋ ๊ณ ์ ๋ ์ฝ๋๋ฅผ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๊ณ๋จ์ ๋์์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ
์ํํธ์จ์ด ๊ฐ๋ฐ ์์ ๊ณ๋จ์ ๋์์ ์ผ๋ฐ์ ์ผ๋ก ์์คํ ์ ํ ๋ถ๋ถ์์์ ์์ ๋๋ ๋ณ๊ฒฝ์ด ์์คํ ์ ๋ค๋ฅธ ๋ถ๋ถ์์ ์ผ๋ จ์ ๊ด๋ จ ์์ ๋๋ ๊ฒฐ๊ณผ๋ฅผ ํธ๋ฆฌ๊ฑฐํ ๋ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ๋์์ ์ผ๋ฐ์ ์ผ๋ก ์น ๊ฐ๋ฐ ์ CSS (Cascading Style Sheets), ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ๊ณ๋จ์ ์ ๋ฐ์ดํธ ๋ฐ ์ญ์ ๋๋ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฒคํธ ์ ํ์ ๊ฐ์ ๋ค์ํ ์ปจํ ์คํธ์์ ๊ด์ฐฐ๋ฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปจํ ์คํธ์์ ๊ณ๋จ์ ๋์์ ์ ๋ฐ์ดํธ ๋๋ ์ญ์ ์ ๊ฐ์ ํน์ ๋ฐ์ดํฐ ์กฐ์ ์์ ์ด ์์ ํ ์ด๋ธ์์ ์ํ๋์ด ๊ด๋ จ ํ์ ํ ์ด๋ธ์์ ํด๋น ๋ณ๊ฒฝ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ํ๋ก์ ํธ ๊ด๋ฆฌ ์์ฉ ํ๋ก๊ทธ๋จ์๋ ๊ฐ ์์ ์ด ํน์ ํ๋ก์ ํธ์ ์ฐ๊ฒฐ๋์ด ์๋ "Projects" ํ ์ด๋ธ๊ณผ "Tasks" ํ ์ด๋ธ์ด ์์ ์ ์์ต๋๋ค. ์ด๋ฌํ ํ ์ด๋ธ ๊ฐ์ ๊ณ๋จ์ ๋์์ด ์๋ ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ์ฌ์ฉํ๋ฉด "Projects" ํ ์ด๋ธ์์ ํ๋ก์ ํธ๋ฅผ ์ญ์ ํ๋ฉด "Tasks" ํ ์ด๋ธ์์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์์ ์ด ์๋์ผ๋ก ์ ๊ฑฐ๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ณ ์ ๋ ์ฝ๋๋ฅผ ๋ฐฉ์งํ๊ณ ๋ณ๊ฒฝ์ด ๋ฐ์ํ ๋ ์ํธ ๊ด๋ จ๋ ๋ฐ์ดํฐ๊ฐ ๋๊ธฐํ๋ ์ํ๋ฅผ ์ ์งํ๋๋ก ํ์ฌ ์์คํ ์ ์ฒด์์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
PostgreSQL DELETE ์บ์ค์ผ์ด๋
PostgreSQL DELETE CASCADE๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ์์ ํ ์ด๋ธ์ ๋ ์ฝ๋ ์ญ์ ๋ฅผ ํ์ ํ ์ด๋ธ์ ๊ด๋ จ ๋ ์ฝ๋๋ก ์๋ ์ ํํ์ฌ ๊ณ ์ ๋ ์ฝ๋๊ฐ ๋จ์ง ์๋๋ก ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ๋ถ๋ชจ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ๋ CASCADE ์ต์ ์ ์ฌ์ฉํ์ฌ ์์ ํ ์ด๋ธ์ ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ์ ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด "Authors" ๋ฐ "Posts" ๋ผ๋ ๋ ๊ฐ์ ํ ์ด๋ธ์ด ์๋ ๋ธ๋ก๊ทธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ฐํด ๋ณด์ญ์์ค. "Authors" ํ ์ด๋ธ์๋ ๊ฐ๋ณ ์์ฑ์์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋๋ฉฐ "Posts" ํ ์ด๋ธ์๋ ํด๋น ์์ฑ์๊ฐ ์์ฑํ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ์ธ๋ถ ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค. "Posts" ํ ์ด๋ธ์์ DELETE CASCADE๋ก ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ์ ์ํ์ฌ "Authors" ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ๋ฉด ์์ฑ์๊ฐ "Authors" ํ ์ด๋ธ์์ ์ญ์ ๋ ๋ "Posts" ์ ๋ชจ๋ ๊ด๋ จ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ด "Posts" ํ ์ด๋ธ๋ ์๋์ผ๋ก ์ ๊ฑฐ๋ฉ๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ ์์ฉ ํ๋ก๊ทธ๋จ ์ ์ฒด์์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ๊ณ ์ ๊ฒ์๋ฌผ์ ๋ฐฉ์งํ๊ณ ๊ด๋ จ ๋ฐ์ดํฐ๊ฐ ์์ ํ ์ด๋ธ์ ๋ณ๊ฒฝ ์ฌํญ๊ณผ ํจ๊ป ์ ๋ฐ์ดํธ๋๊ฑฐ๋ ์ ๊ฑฐ๋๋๋ก ํฉ๋๋ค.
Postgres์์ DELETE Cascade๋ฅผ ์ธ์ ์ฌ์ฉํฉ๋๊น?
Postgres์ DELETE CASCADE๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ด๋ จ ํ ์ด๋ธ ๊ฐ์ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ๋ฐ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๋ ค๋ ๊ฒฝ์ฐ, ํนํ ์์ ํ ์ด๋ธ์์ ๋ ์ฝ๋๋ฅผ ์ญ์ ํ๋ฉด ์ ์ฌ์ ์ผ๋ก ํ์ ํ ์ด๋ธ์ ๊ณ ์ ๋ ์ฝ๋๊ฐ ๋จ์ ์ ์๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. DELETE CASCADE๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ๋ ์ฝ๋๊ฐ ์ ๊ฑฐ๋ ๋ ํ์ ํ ์ด๋ธ์ ๋ชจ๋ ๊ด๋ จ ๋ ์ฝ๋๋ ์๋์ผ๋ก ์ญ์ ๋์ด ๋ฐ์ดํฐ ๋ถ์ผ์น๋ฅผ ๋ฐฉ์งํ๊ณ ์ํฐํฐ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด "Courses" ๊ณผ "Enrollments.""Courses" ํ ์ด๋ธ์๋ ๊ฐ๋ณ ์ฝ์ค์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋๋ฉฐ "Enrollments" ํ ์ด๋ธ์๋ ๊ฐ ์ฝ์ค์ ๋ฑ๋กํ ํ์์ด ๊ธฐ๋ก๋ฉ๋๋ค. ์ฝ์ค๊ฐ "Courses" ํ ์ด๋ธ์์ ์ญ์ ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด "Enrollments" ํ ์ด๋ธ์์ ๋ชจ๋ ๊ด๋ จ ๋ฑ๋ก ๋ ์ฝ๋๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. "Enrollments" ํ ์ด๋ธ์์ DELETE CASCADE๋ฅผ ์ฌ์ฉํ์ฌ ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ๊ตฌํํ๊ณ "Courses" ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ๋ฉด ์ฝ์ค๋ฅผ ์ญ์ ํ๋ฉด ์ฐ๊ฒฐ๋ ๋ชจ๋ ๋ฑ๋ก ๋ ์ฝ๋๋ ์ ๊ฑฐ๋ฉ๋๋ค.
์ฃผ์ํด์ ๋ค๋ฃจ์ง ์์ผ๋ฉด ์๋ํ์ง ์์ ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก DELETE CASCADE ์ฌ์ฉ์ ์๋ฏธ๋ฅผ ์ ์คํ๊ฒ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ๊ณ๋จ์ ์ญ์ ๋ฅผ ๊ตฌํํ๊ธฐ ์ ์ ํญ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์๊ตฌ ์ฌํญ๊ณผ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ํ๊ฐํ์ญ์์ค.
Postgres์์ DELETE Cascade๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ?
Postgres์์ DELETE CASCADE๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํ์ ํ ์ด๋ธ๊ณผ ์์ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ ๋ CASCADE ์ต์ ์ ์ง์ ํ์ฌ ํ์ ํ ์ด๋ธ์ ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์์ ํ ์ด๋ธ์ ๋ ์ฝ๋๊ฐ ์ญ์ ๋ ๋ ํ์ ํ ์ด๋ธ์ ๋ชจ๋ ๊ด๋ จ ๋ ์ฝ๋๋ ์๋์ผ๋ก ์ ๊ฑฐ๋ฉ๋๋ค. ๋ค์์ Postgres์์ DELETE CASCADE๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋จ๊ณ๋ณ ํ๋ก์ธ์ค์ ๋๋ค.
-
๋จผ์ ์์ ๋ฐ ํ์ ํ ์ด๋ธ์ ์ ์ํ์ญ์์ค. ์๋ฅผ ๋ค์ด "Authors" ์ "Books.""Authors" ํ ์ด๋ธ์๋ ๊ฐ๋ณ ์ ์์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์๊ณ "Books" ํ ์ด๋ธ์๋ ํด๋น ์ ์๊ฐ ์ด ์ฑ ์ ์ธ๋ถ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
-
๊ธฐ๋ณธ ํค ์ด์ด ์๋ ์์ ํ ์ด๋ธ(์: "Authors," ์ ๋ง๋ญ๋๋ค.

- ์์ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ๋ ์ธ๋ ํค ์ด์ด ์๋ ํ์ ํ ์ด๋ธ(์: "Books" ์ ๋ง๋ค๊ณ DELETE CASCADE ์ต์ ์ ์ง์ ํฉ๋๋ค.

์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด๊ณผ DELETE CASCADE๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์๊ฐ "Authors" ํ ์ด๋ธ์์ ์ญ์ ๋ ๋ "Books" ํ ์ด๋ธ์ ๋ชจ๋ ๊ด๋ จ ์ฑ ์ด ์๋์ผ๋ก ์ ๊ฑฐ๋์ด ๋ฐ์ดํฐ ์ผ๊ด์ฑ๊ณผ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ด ์ ์ง๋ฉ๋๋ค.
์ ์คํ๊ฒ ๊ด๋ฆฌํ์ง ์์ผ๋ฉด ์๋ํ์ง ์์ ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก DELETE CASCADE๋ฅผ ์ฃผ์ํด์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๊ณ๋จ์ ์ญ์ ๋ฅผ ๊ตฌํํ๊ธฐ ์ ์ ํญ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์๊ตฌ ์ฌํญ๊ณผ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ํ๊ฐํ์ญ์์ค.
DELETE Cascade๋ Postgres์์ ์ด๋ป๊ฒ ์๋ํฉ๋๊น?
Postgres์ DELETE CASCADE๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ๊ณผ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ ํ์ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ์์ ํ ์ด๋ธ์์ ๋ ์ฝ๋๊ฐ ์ญ์ ๋๋ฉด ํ์ ํ ์ด๋ธ์ ๋ชจ๋ ๊ด๋ จ ๋ ์ฝ๋๋ ์๋์ผ๋ก ์ ๊ฑฐ๋ฉ๋๋ค. Postgres์์ DELETE CASCADE๊ฐ ์๋ํ๋ ๋ฐฉ์์ ์ค๋ช ํ๋ ์ค์ฉ์ ์ธ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
"Professors" ๋ฐ "Courses" ๋ผ๋ ๋ ๊ฐ์ ํ ์ด๋ธ์ด ์๋ ๋ํ ๊ด๋ฆฌ ์์คํ ์ ์์ํด ๋ณด์ญ์์ค. "Professors" ํ ์ด๋ธ์ ๊ฐ๋ณ ๊ต์์ ๋ํ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ "Courses" ํ ์ด๋ธ์ ์ด๋ฌํ ๊ต์๊ฐ ๊ฐ๋ฅด์น๋ ๊ณผ์ ์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค. ๊ฐ ๊ณผ์ ์ ํ ๋ช ์ ๊ต์์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
- ๊ธฐ๋ณธ ํค ์ด์ด ์๋ "Professors" ํ ์ด๋ธ์ ๋ง๋ญ๋๋ค.

- " "Professors""Courses" " ํ ์ด๋ธ์ ๋ง๋ค๊ณ DELETE CASCADE ์ต์ ์ ์ง์ ํฉ๋๋ค.

- ์ด์ ๋ ๋ช ์ ๊ต์์ ๋ช ๊ฐ์ ๊ณผ์ ์ ๊ฐ๊ฐ์ ํ ์ด๋ธ์ ์ฝ์ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.

์ด ์์ ์์ "Courses" ํ ์ด๋ธ์๋ ํด๋น ๊ต์์ ์ฐ๊ฒฐ๋ ์ธ ๊ฐ์ ๋ ์ฝ๋๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. "Professors" ํ ์ด๋ธ์์ ๊ต์ John Doe(ID: 1)๋ฅผ ์ ๊ฑฐํ๊ธฐ๋ก ๊ฒฐ์ ํ ๊ฒฝ์ฐ:

DELETE CASCADE ์ ์ฝ ์กฐ๊ฑด์ผ๋ก ์ธํด Postgres๋ "Courses" ํ ์ด๋ธ์์ ๊ด๋ จ ๊ณผ์ ( 'Math 101' and 'Physics 101')์ ์๋์ผ๋ก ์ ๊ฑฐํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ถ๋ฆฌ๋ ๊ณผ์ ๋ ์ฝ๋๋ฅผ ๋จ๊ธฐ์ง ์๊ณ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ์ ์งํ๋๋ก ํฉ๋๋ค.
๊ฒฐ๋ก
๊ฒฐ๋ก ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ ์ ์ ๋ ๋์งํธํ๋๋ ์ธ์์์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ณ๋จ์ ์ญ์ ๋ ์์-ํ์ ๊ด๊ณ์์ ๊ด๋ จ ๋ ์ฝ๋ ์ฒ๋ฆฌ๋ฅผ ๊ฐ์ํํ์ฌ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ๋๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ๊ธฐ๋ณธ ์ฌํญ, ๊ธฐ๋ณธ ํค ๋ฐ ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด, ๊ณ๋จ์ ์ญ์ ๋ฉ์ปค๋์ฆ์ ํ์ํ์ฌ ๊ตฌํ, ์ฅ์ , ๋จ์ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ ํฌ๊ด์ ์ธ ์ดํด๋ฅผ ์ ๊ณตํ์ต๋๋ค.
MySQL, PostgreSQL ๋ฐ SQL Server์ ๊ฐ์ ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ๋ํ ์ค์ฉ์ ์ธ ์์ ์ค๋ช ์ ํตํด ๋ ์๋ ์ ์ฌ์ ์ํ์ ์ํํ๋ฉด์ Cascade Delete์ ํจ์จ์ฑ์ ๊ทน๋ํํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ฌ์ธต ๋ถ์์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์, ๊ฐ๋ฐ์ ๋ฐ IT ์ ๋ฌธ๊ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ ํฅ์ํ๊ณ ๊ด๋ จ ๋ ์ฝ๋๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ์ฌ ๊ถ๊ทน์ ์ผ๋ก ๋ณด๋ค ๊ฐ๋ ฅํ๊ณ ์์ ์ ์ธ ๋ฐ์ดํฐ ์ธํ๋ผ์ ๊ธฐ์ฌํ ์ ์์ต๋๋ค.


