์ ์ฝ์กฐ๊ฑด์ ๊ฐ๋
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ง๋ฅผ ์ํ์ฌ ์ฌ์ฉํจ
- ์ ์ฝ์กฐ๊ฑด์ ๋ง๋ ์ด์ : DB๋ณดํธ(์๋ชป๋ ๋ฐ์ดํฐ ์ ๋ ฅ์ด๋ ์ค์๋ฑ์ ๋ฐฉ์งํจ)
- ํ ์ด๋ธ๊ณผ ๋ฐ๋ก ์์ฑ๋จ
- ๋ชจ๋ ์ ์ฝ์กฐ๊ฑด์ ๋ฐ์ดํฐ์ฌ์ ์ ์ ์ฅ๋จ
- ์๋ฏธ์ด๋ฆ ๋ถ์ฌํ๋ฉด ์ข์
- ์ ์ฝ์กฐ๊ฑด ์ ์ ๋ ๋ฒจ: โ ์นผ๋ผ โกํ ์ด๋ธ
Constraint ์ ์ฝ์กฐ๊ฑด์ ์ข ๋ฅ
โ PK
- Primary Key. ํ ์ด๋ธ์ ๋จ ํ๋๋ง ํ์ฉ.
- PK๋ ๋จ์ผ์นผ๋ผ์ด๊ฑฐ๋๋ ์ฌ๋ฌ์นผ๋ผ์ ์กฐํฉ๋ ๊ฐ๋ฅ.
- ๋ฌ์นผ๋ผ์ ์กฐํฉ์ผ ๋ ๋ชจ๋ ์นผ๋ผ์ด ๊ฐ์ด ์์ด์ผํจ.
- NULL๊ฐ ํ์ฉX. Java์ Map-Key์ ๊ฐ์ ๊ฒ.
- PK๋ก ์ค์ ๋ ์นผ๋ผ์ ๋ํด UNIQUE ์ธ๋ฑ์ค ์๋
- ์์ฑํจ. ์ธ๋ฑ์ค=๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ ๋ ์ค๋ณต ๊ฐ์ด ์๋์ง ํ์ธํ๋ ์๊ฐ์ ์ค์ผ ์ ์์.
โก NOT NULL
- NULL๊ฐ ํ์ฉX
โข UNIQUE
- ๋ชจ๋ ํ์์ ๊ณ ์ ํ ๊ฐ์ ๊ฐ์ง๋ ๊ฒ(=์ค๋ณตX)
โฃ FK
- FOREIGN KEY. ์์ํ ์ด๋ธ์ ์ ์ํจ.
- ๋ถ๋ชจ์ ๊ฐ๊ณผ ์ผ์น or NULL
- ์ ์ฝ์กฐ๊ฑด ์ค ๋ ON DELETE CASCDE ์ต์ ์ค ์ ์์(์ฐธ์กฐํ๋ ํ๋ ์๋ ์ญ์ ๊ฐ๋ฅ)
โค CHECK
- ๋ฐ์ดํฐ ์ ๋ ฅ ์กฐ๊ฑด ์ค์ . ์กฐ๊ฑด ๋ง์ผ๋ฉด ์ ๋ ฅ ๋๋ฆผ
- CHECK ์กฐ๊ฑด์ ๋ง์กฑ ์ํ๋ ๋ฐ์ดํฐ๋ INSERT X, UPDATE X
๋ฐ์ดํฐ ์กฐ์์ ์ ์ฝ์กฐ๊ฑด์ ์ ์ฉ
- ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํด DML๋ช ๋ น ์ ์ ์ฝ์กฐ๊ฑด์ ํจ๋ ฅ์ด ๋ฐ์ํจ.
- ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด ์ค๋ฅ ๋ฐ์ํ๋ ๊ฒฝ์ฐ
- *์์ํ ์ด๋ธ์ ์ ๋ ฅ/์์ ํ๋ ค๋ ๊ฐ์ด ๋ถ๋ชจํ ์ด๋ธ์ ์์
- *๋ถ๋ชจํ ์ด๋ธ์์ ์ญ์ ํ๋ ค๋๊ฐ์ด ์์ํ ์ด๋ธ์์ ์ฐธ์กฐํ
- ๊ทธ ์ธ์ ๊ธฐํ ์ ์ฝ์กฐ๊ฑด์ ์๋ฐฐ๋๋ ๋ฐ์ดํฐ์ ์ ๋ ฅ/์์ /์ญ์ ์ ๊ฒฝ์ฐ ์ ์ฝ์กฐ๊ฑด์ค๋ฅ ๋ฐ์ํจ
์ ์ฝ์กฐ๊ฑด์ด ๊ฐ๋ฅํ ๋ ๋ฒจ
'๐ฅ๏ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค > SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Oracle] DICTIONARY ๋ฐ์ดํฐ ์ฌ์ (0) | 2024.01.05 |
---|---|
[Oracle] TRANSACTION CONTROL ํธ๋์ญ์ ์ปจํธ๋กค (1) | 2024.01.05 |
[Oracle] SubQuery ์๋ธ์ฟผ๋ฆฌ (0) | 2024.01.05 |
[Oracle] Join์ผ๋ก ๋ฐ์ดํฐ ์ฐ๊ฒฐ, Set ์ฐ์ฐ์ (1) | 2024.01.05 |
[Oracle] SubGroup์ผ๋ก ๋ฐ์ดํฐ ๋ถ๋ฅ (0) | 2024.01.05 |