Relational Model ์์ค์์ Referential Integrity์ Foreign Key Constraint๋ฅผ ์ค๋ช ํ๊ณ ์ฐจ์ด๋ฅผ ๋ช ํํ ํ๋ ๊ด์ ์ RDBMS์ ๊ตฌํ์ ๋ฐฐ์ ํ๊ณ ๊ด๊ณ ๋์๋ ๊ด๊ณ ์คํค๋ง ์ค๊ณ ์์ค์์ ์ ๊ทผํด์ผ ํฉ๋๋ค.
๊ฐ๋ :
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๊ด๊ณ ์คํค๋ง ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๋ ผ๋ฆฌ์ ์ผ๋ก ์ผ๊ด์ฑ์ ์ ์งํด์ผ ํ๋ค๋ ์์น์ ๋๋ค.
ํ ๊ด๊ณ(Relation)์ ์์ฑ(Attribute, ์: ์ธ๋ ํค)๊ฐ ๋ค๋ฅธ ๊ด๊ณ์ ๊ธฐ๋ณธ ํค ๋๋ ๊ณ ์ ์์ฑ์ ์ฐธ์กฐํ ๋, ์ฐธ์กฐ๋ ๊ฐ์ด ๋ฐ๋์ ์กด์ฌํด์ผ ํ๋ค๋ ๊ด๊ณ ๋ชจ๋ธ์ ๋ฌด๊ฒฐ์ฑ ๊ท์น์ ๋๋ค.
Relational Model ๊ด์ :
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๊ด๊ณ ์คํค๋ง ๊ฐ์ ๋ฐ์ดํฐ ๊ฐ์ ์๋ฏธ์ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ๋ ผ๋ฆฌ์ ์ ์ฝ์ ๋๋ค.
์๋ฅผ ๋ค์ด, ๊ด๊ณ $R_1$์ด ์์ฑ A๋ฅผ ํฌํจํ๊ณ , ์ด A๊ฐ ๊ด๊ณ $R_2$์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ๋ค๋ฉด:
ํต์ฌ ์์น:
Relational Model ๊ด์ :
Foreign Key Constraint๋ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ํํํ๋ ์คํค๋ง ์์ค์์์ ํ์์ ์ ์ธ์ ๋๋ค.
์ฆ, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๊ด๊ณ ์คํค๋ง ๊ฐ์ ์์ฑ ๊ฐ์ ์ ์ฝ์ ๊ตฌ์ฒด์ ์ผ๋ก ๋ช ์ํ ๊ฒ์ ๋๋ค.
์ ์:
์ฃผ์ด์ง ๊ด๊ณ $R_1$์ ์์ฑ A๊ฐ ๋ค๋ฅธ ๊ด๊ณ $R_2$์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ๋ค๊ณ ์ ์ธํ ๋, ์ด๊ฒ์ด ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ๋๋ค.
์ญํ :
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ ํํํ๊ณ ์ด๋ฅผ ๊ด๊ณ ์คํค๋ง์ ์ผ๋ถ๋ก ํฌํจํ์ฌ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๊ฐ์ ํฉ๋๋ค.
์:
ํน์ง | Referential Integrity | Foreign Key Constraint |
---|---|---|
๊ฐ๋ ์ ์์ค | ๊ด๊ณ ๋ชจ๋ธ์์ ๋ฐ์ดํฐ ๊ฐ ๋ ผ๋ฆฌ์ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ์์น | ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ํํํ๊ธฐ ์ํ ์คํค๋ง ์์ค์์์ ํ์์ ์ ์ธ |
์ด์ | ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ์ด๋ก ์ ์์น | ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๊ตฌ์ฒด์ ์ผ๋ก ๊ตฌํํ๊ธฐ ์ํด ๊ด๊ณ ์คํค๋ง์ ํฌํจ๋๋ ์ ์ฝ ์กฐ๊ฑด |
๊ด๊ณ ์คํค๋ง ๊ฐ ์ ์ | ๊ด๊ณ ์คํค๋ง R_1์ R_2 ๊ฐ ์ฐธ์กฐ ๊ด๊ณ๋ฅผ ๊ฐ๋ ์ ์ผ๋ก ์ค๋ช | ๊ด๊ณ ์คํค๋ง R_1์ ์์ฑ์ด R_2์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ๋ค๊ณ ๋ช ์์ ์ผ๋ก ์ ์ธ |
์ ์ฉ ๋ฐฉ์ | ๋ ผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ์์ ๊ณ ๋ ค๋๋ ์ถ์์ ์ ์ฝ | ๊ด๊ณ ์คํค๋ง์ ์ผ๋ถ๋ก ์ ์ธ๋์ด ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ |
ํํ ๋ฐฉ๋ฒ | ๊ด๊ณ ๋ชจ๋ธ์ ๋ ผ๋ฆฌ์ ๊ท์น์ผ๋ก, ์ฃผ๋ก ๊ด๊ณ ๋์์ ์งํฉ ์ด๋ก ์ผ๋ก ํํ | ๊ด๊ณ ์คํค๋ง ์ ์ ๋ด์์ ํน์ ์์ฑ ๊ฐ์ ํฌํจ ๊ด๊ณ๋ฅผ ํ์์ ์ผ๋ก ํํ |
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์:
๊ด๊ณ Student์ Department๊ฐ ์กด์ฌํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๋ค์๊ณผ ๊ฐ์ด ํํ๋ฉ๋๋ค:
$$ \pi_{department\id}(Student) \subseteq \pi{department\_id}(Department) $$
์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด:
์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์คํค๋ง์ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ธํ๋ ๊ฒ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ํํ๋ฉ๋๋ค:
$$ \text{FOREIGN KEY }(department\_id) \text{ REFERENCES } Department(department\_id) $$
์์ฝํ๋ฉด, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๊ด๊ณ ๊ฐ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ ์์น์ ๊ฐ๋ ์ด๊ณ , ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ์ด ์์น์ ๊ด๊ณ ์คํค๋ง์ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ธํ ๊ฒ์ ๋๋ค. Relational Model์์๋ ์ด ๋ ๊ฐ๋ ์ด ๋ ผ๋ฆฌ์ ์ค๊ณ์ ํ์์ ์ ์๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.