๋ฐ์ดํฐ์ ๊ฒฐํจ์ด ์๋ ์ํ, ์ฆ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ณ ์ผ๊ด๋๊ฒ ์ ์งํ๋ ๊ฒ
์ผ๊ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ฅผ ์ ์ํ๋ ๊ท์น๋ค์ ๋ฌต์์ ์ผ๋ก ๋๋ ๋ช
์์ ์ผ๋ก ์ ์ํจ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ํ์ฑ, ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ ์ฅ, ์ญ์ , ์์ ๋ฑ์ ์ ์ฝํ๊ธฐ ์ํ ์กฐ๊ฑด
๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด(domain integrity constraint)
๊ฐ ์์ฑ๋ค์ ๊ฐ์ ์ ์๋ ๋๋ฉ์ธ์ ์ํ ๊ฐ์ด์ด์ผ ํจ
'์ฑ๋ณ'์ด๋ผ๋ ์์ฑ์์ '๋จ', '์ฌ'๋ฅผ ์ ์ธํ ๋ฐ์ดํฐ๋ ์ ํ๋์ด์ผ ํ๋ค.
ํค ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด(key integrity constraint)
๋ฆด๋ ์ด์
์๋ ์ต์ํ ํ๋์ ํค๊ฐ ์กด์ฌํด์ผ ํจ (๋ฆด๋ ์ด์
์ ํํ์ ๊ตฌ๋ถํด์ผ ํ๊ธฐ ๋๋ฌธ์)
NULL ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด
๋ฆด๋ ์ด์
์ ํน์ ์์ฑ ๊ฐ์ NULL์ด ๋ ์ ์์
[ํ์] ๋ฆด๋ ์ด์ ์ ์ ์ '๊ณผ๋ชฉ' ์์ฑ์ NULL ๊ฐ์ด ์ฌ ์ ์๋๋ก ์ ํํ๋ค๋ฉด '๊ณผ๋ชฉ' ์์ฑ์ NULL์ด ์์ด์๋ ์๋๋ค.
๊ณ ์ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด
ํน์ ์์ฑ์ ๋ํด ๊ณ ์ ํ ๊ฐ์ ๊ฐ์ง๋๋ก ์กฐ๊ฑด์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ, ๋ฆด๋ ์ด์
์ ๊ฐ ํํ์ด ๊ฐ์ง๋ ์์ฑ ๊ฐ๋ค์ ์๋ก ๋ฌ๋ผ์ผ ํจ
[ํ์] ๋ฆด๋ ์ด์ ์์ '์ด๋ฆ', '๋์ด' ๋ ์๋ก ๊ฐ์ ๊ฐ์ ๊ฐ์ง ์ ์์ง๋ง 'ํ๋ฒ'์ ๊ฒฝ์ฐ, ๊ฐ ํํ์ ์๋ก ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ ธ์ผ ํ๋ค. (UNIQUE ํด์ผ ํ๋ค!)
๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด(entity integrity constraint)
๊ฐ ๋ฆด๋ ์ด์
์ ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์ ํธ๋ฆฌ๋ทฐํธ๋ NULL๊ฐ์ด๋ ์ค๋ณต๋ ๊ฐ์ ๊ฐ์ง ์ ์์ (๋์ฒดํค์๋ ์ ์ฉ๋์ง ์์)
[ํ์] ๋ฆด๋ ์ด์ ์์ 'ํ๋ฒ'์ ๊ธฐ๋ณธํค๋ก ์ง์ ํ๋ค๋ฉด 'ํ๋ฒ' ์์ฑ์ NULL์ด ๋์ด์๋ ์๋๋ค.
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด(referential integrity constraint)
์ธ๋ํค ๊ฐ์ NULL์ด๊ฑฐ๋ ์ฐธ์กฐํ๋ ๋ฆด๋ ์ด์
์ ๊ธฐ๋ณธํค ๊ฐ๊ณผ ๋์ผํด์ผํ ํจ
์ฆ, ๊ฐ ๋ฆด๋ ์ด์
์ ์ฐธ์กฐํ ์ ์๋ ์ธ๋ํค ๊ฐ์ ๊ฐ์ง ์ ์์!
๋ฆด๋ ์ด์ R2์ ์ธ๋ํค๊ฐ ๋ฆด๋ ์ด์ R1์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ ๋, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์๋์ ๋ ์กฐ๊ฑด ์ค ํ๋๊ฐ ์ฑ๋ฆฝ๋๋ฉด ๋ง์กฑ๋๋ค.
1) ์ธ๋ํค ๊ฐ์ ๋ถ๋ชจ ๋ฆด๋ ์ด์ ์ ์ด๋ค ํํ์ ๊ธฐ๋ณธํค ๊ฐ๊ณผ ๊ฐ๋ค.
2) ์ธ๋ํค๊ฐ ์ฐธ์กฐํ๊ณ ์๋ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๊ฐ ์๋ค๋ฉด, ์ธ๋ํค๋ NULL๊ฐ์ ๊ฐ์ง๋ค.
ํ์ ๋ฆด๋ ์ด์ ์์ ๋ฑ๊ธ์ ์ฐธ์กฐํ์ฌ ์ฌ์ฉํ ์๋ ์์ง๋ง, ๋ฑ๊ธ๋ณ ํ ์ธ๋ฅ ๋ฆด๋ ์ด์ ์ ๋ฑ๊ธ ์์ฒด๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ญ์ ํ ์๋ ์๋ค.
์ฆ, ์ฐธ์กฐ๋ ๊ฐ๋ฅํ๋ ์ญ์ ๋ ๋ณ๊ฒฝ์ ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค.