๐นย ์ ๋ฆฌ by ์ฅ๋ฏธ(https://velog.io/@newbiekim/)
DDL์ **๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด(๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ ์ด๋ธ)**๋ฅผ ์์ฑํด์ค๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์๊ฐ ์ฌ์ฉํ๋ค.
CREATE TABLE ์ฌ์ (
์ฌ๋ฒ INTEGER NOT NULL;
์ด๋ฆ CHAR(10) NOT NULL;
๋ถ์ CHAR(10)
PRIMARY KEY(์ฌ๋ฒ),
FOREIGN KEY(๋ถ์)
REFERENCES ๋ถ์๋ชฉ๋ก(๋ถ์์ฝ๋)
ON DELETE SET NULL
ON UPDATE CASCADE
);
ํ ์ด๋ธ๋ฟ๋ง ์๋๋ผ ์คํค๋ง, ๋๋ฉ์ธ, ๋ทฐ, ์ธ๋ฑ์ค ๋ฑ์ ์์ฑํ ์ ์๋ค.
์ ์ฝ๋๋ฅผ ์ ๊น ์ค๋ช ํ์๋ฉด, ๋ถ์๋ชฉ๋ก์์ ์์ ๋ถ๊ฐ **์ญ์ (DELETE)**๋๋ค๋ฉด ์ฌ์ ํ ์ด๋ธ์ ์์ ๋ถ๋ ์ ๋ถ **๋น์นธ์ผ๋ก ๋์ฒด(SET NULL)**๋๊ณ , ์์ ๋ถ๊ฐ ํ๋งค๋ถ๋ก **๋ณ๊ฒฝ(UPDATE)**๋๋ค๋ฉด ์ฌ์ ํ ์ด๋ธ์ ์์ ๋ถ๋ **์ ๋ถ ํ๋งค๋ถ๋ก ๋์ฒด(CASCADE โ ์ฐ๊ด๋ ๊ฒ๋ค๋ ํจ๊ป ์คํ)**๋๋ค.
DDL์ ์์ฑ ์ธ์ ๋ณ๊ฒฝ(ALTER), ์ ๊ฑฐ(DROP) ๋ฑ์ ๊ธฐ๋ฅ๋ ์๋ค.
DML์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์กฐํ, ์ฝ์ , ์ญ์ , ๊ฐฑ์ ํ๋ ์์ ์ ํ๋ค.