๐ Goal : Relation Model Constraints ์ ๋ํด ์์๋ณด์
์ ์ฝ์กฐ๊ฑด์ ์ด๋ค ๊ฐ์ด ํ์ฉ ๊ฐ๋ฅํ๊ณ ์ด๋ค ๊ฐ์ด ํ์ฉ ๋ถ๊ฐ๋ฅํ์ง ๊ฒฐ์ ํ๋ค. DB์ ๋ฌด๊ฒฐ์ฑ์ ์ํด ์ ์ฝ์กฐ๊ฑด์ ์ค์ ํ๋ค.
์ฃผ์ ์นดํ ๊ณ ๋ฆฌ :
Inherent or implicit constraints
Schema-based or explicit constraints
Application-based or semantic constraints
๐ ์ดํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋จ ๋ด์์ ํน์ ํ ๋ ์ ์๋ค.
Relational ๋ชจ๋ธ์์๋ ์์ ๋ ๋ฒ์งธ ์ ์ฝ์กฐ๊ฑด์ ์ง์คํ๋ค.
์ ์ฝ์กฐ๊ฑด์ ๋ชจ๋ relation state์์ ์ ํจํด์ผํ๋ค.
๋ฌด๊ฒฐ์ฑ(integrity)์ ๋ฐ์ดํฐ์ ๊ฒฐํจ์ด ์๋ ์ํ, ์ฆ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ณ ์ ํจํ๊ฒ ์ ์งํ๋ ๊ฒ์ด๋ค.
๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ฃผ์ ๋ชฉ์ ์ย ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ฅผ ์ผ๊ด๋๊ฒ ์ ์งํ๋ ๊ฒ ์ด๋ค.
๐ 1) Key ์ ์ฝ ์กฐ๊ฑด: Unique constraints( ์ ์ผ ์ ์ฝ ์กฐ๊ฑด)
2) Entity ์ ์ฝ์กฐ๊ฑด: ๊ธฐ๋ณธ ํค(pk)์์ฑ์ NULL์ด ๋ ์ ์๋ค.
3) Referential ingegrity(์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ) ์ ์ฝ์กฐ๊ฑด: ์ธ๋ ํค(FK)์ ๊ฐ์ ๋ฐ๋์ ์ฐธ์กฐํ๋ relation์ ๊ธฐ๋ณธ ํค(pk)์ด์ด์ผ ํ๋ค. ํน์ NULL ์ผ ์๋ ์๋ค.
Realtion์ ๋ชจ๋ ํํ๋ค์ ๋ชจ๋ ์๋ณ๋์ด์ผํ๋ค. "distinct"
Super key : ์ ์ผ์ฑ์ ๋ง์กฑํ๋ ์ดํธ๋ฆฌ๋ทฐํธ๋ค์ ์งํฉ
Candidate key : Super key ์ค์์ ์ต์์ฑ์ ๋ง์กฑํ๋ ๊ฒ๋ค
Key (primary key) : Candidate ์ค์์ ํ๊ฐ
๋ชจ๋ key๋ super key์ด์ง๋ง, ๊ทธ ๋ฐ๋๋ ์๋๋ค.
Primary key(๊ธฐ๋ณธ ํค)๋ ํ๋ณด ํค ์ค ํ๋๋ฅผ ์ ํํ ๊ฒ์ด๊ณ , ๋๋จธ์ง ํค๋ alternate key(๋์ฒด ํค)๊ฐ ๋๋ค.
Primary key(๊ธฐ๋ณธ ํค)๋ relation์์ ๊ฐ ํํ๋ค์ ๊ณ ์ ํ๊ฒ ์๋ณํด์ฃผ๋ ์ญํ ์ ํ๋ค. ๋ํ, ๋ค๋ฅธ ํํ์ด ํํ์ ์ฐธ์กฐํ ๋ ์ฌ์ฉํ๋ค. ์ด๋ ์ฐธ์กฐ๋๋ ํค๋ฅผ โforeign key(์ธ๋ ํค)โ๋ผ๊ณ ํ๋ค.
Primary Key(PK)๋ NULL๊ฐ์ ๊ฐ์ง ์ ์๋ ์ ์ฝ์กฐ๊ฑด์ด๋ค.ย ์ด๋ ํํ์ ์ด๋ค ๊ธฐ๋ณธ ํค๋ผ๋ NULL ๊ฐ์ ๊ฐ์ง ์ ์๋ค. ์๋ํ๋ฉด ๊ธฐ๋ณธ ํค๋ ์ด๋ค ํํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๋ ๊ฐ ์ด์์ ๊ด๊ณ์ ๋ํ ์ ์ฝ์กฐ๊ฑด์ด๋ค.ย ์ฐธ์กฐํ๋ relation์ ํํย R1์ ์ฐธ์กฐ๋๋ ํํ์ PK๋ฅผ ์์ฑ(FK)์ผ๋ก ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค. ๋ ๊ด๊ณ ๊ฐ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
์ฐธ์กฐ : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด ๋ ์์๋ณด๊ธฐ
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ ๋์ผํ DB์ ์ํ๋ relational schema์ ์งํฉย S๋ค.
S: ์ ์ฒด ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ด๋ฆ (e.g COMPANY)
S={R1,R2,....,Rn} + set of INTEGRITY CONSTRAINTS(ICs)
R1,R2,....,Rn๋ S์ ์๋ relation schema ์ ์ด๋ฆ์ด๋ค.
์ ์ฒด์ ๊ณผ์ ๋ค์ด ์๋ฒฝํ๊ฒ ํ๋์ ์ฐ์ฐ์ฒ๋ผ ์ผ์ด๋์ผ ํ๋ ์์ ์ ๋จ์์ด๋ค.
OLTP(online transcation processing )
์ฟผ๋ฆฌ ์์ฒด๋ transaction ๋์ง๋ง ์ฟผ๋ฆฌ ์ด์ธ์ ์ฝ์ ,์ญ์ ,๋ณ๊ฒฝ ๋ฅผ ํฌ๊ดํ๊ณ ์๋ ํ์๋ค์ด ํ๋์ ์์ ๋จ์์ฒ๋ผ ์ด๋ฃจ์ด์ ธ์ผํจ.
์ฐธ์กฐ ๋ฌธ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ / Abraham Silberschatz, Henry F. Korth, S. Sudarshan ์ง์ ; ์ ์ฐ๋ [์ธ]์ฎ๊น