๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด
๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ด๋ ํ ์ด๋ธ์ ๋ถ์ ์ ํ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฅ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ํ ์ด๋ธ์ ์ค๊ณํ ๋, ๊ฐ ์ปฌ๋ผ์ ๋ํด์ ์ ์ํ ์ฌ๋ฌ ๊ฐ์ง ๊ท์น์ ๋งํ๋ค.
๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ (๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ ์๋ ๋ฐ์ดํฐ์ ์ ํ์ฑ ์ ์ง) + ์ ์ฝ ์กฐ๊ฑด (๋ฐ๋์งํ์ง ์์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ ์กฐ๊ฑด)
๐ ์ฆ, ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๊ฐ ์ฝ์ , ์ญ์ , ์์ ๋ฑ์ ์ฐ์ฐ์ ํตํ์ฌ ๋ณํ๋๋ผ๋ ์ง์์ ์ผ๋ก ๋ง์กฑํด์ผ ํ๋ค!
๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์๋ ํฌ๊ฒ “๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด”, “๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด”, “์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด”์ด ์์ต๋๋ค.
๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด
๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด์ด๋ ๊ฐ ์์ฑ์ ๊ฐ์ ๋ฐ๋์ ๋๋ฉ์ธ์ ์ง์ ๋ ๊ฐ๋ง์ ๊ฐ์ ธ์ผ ํ๋ค๋ ์กฐ๊ฑด์ ๋๋ค.
- ๋ ๊ฐ์ ํ์ฉ ์ฌ๋ถ - NOT NULL
๐ NULL์ ํ์ฉํ์ง ์๋ ์กฐ๊ฑด
- ๊ณ ์ ํ ๊ฐ - UNIQUE
๐ ํด๋น ์ปฌ๋ผ์ ๊ฐ์ด ํ ์ด๋ธ ์์์ ์ค๋ณต๋์ง ์์ ํญ์ ์ ์ผํ ๊ฐ์ด ๋๋๋ก ํ๋ NULL์ ํ์ฉํ๋ค.
๐ NULL ๊ฐ์ ์ฌ๋ฌ ๊ฐ๊ฐ ์ ๋ ฅ๋์ด๋ ์๊ด์์ผ๋ฉฐ ๊ธฐ๋ณธ ํค๋ ํ ์ด๋ธ๋น 1๊ฐ๋ง ์ค์ ํ ์ ์๋ ๋ฐ๋ฉด์ ๊ณ ์ ํค๋ ์ฌ๋ฌ๊ฐ ์ค์ ํ ์ ์๋ค.
- ์ฒดํฌ - CHECK
๐ CHECK ์ ์ฝ ์กฐ๊ฑด์ ํน์ ์ปฌ๋ผ์ ์ ๋ ฅ ๊ฐ๋ฅํ ๊ฐ์ ๋ฒ์๋ฅผ ์ง์ ํ ๋ ์ฌ์ฉํ๋ค.
๐ ๋ง์ฝ ํน์ ์ปฌ๋ผ์ CHECK ์ ์ฝ ์กฐ๊ฑด์ ์ค์ ํ ๋ค์, ๋ ์ฝ๋๋ฅผ ์ ๋ ฅํ ๋ ํด๋น ํ๋์ ๊ฐ์ด CHECK ์ ์ฝ ์กฐ๊ฑด์ ํด๋นํ์ง ์์ผ๋ฉด ์๋ฌ๊ฐ ๋ฐ์!
- ์์ฑ์ ๊ธฐ๋ณธ ๊ฐ - DEFAULT
๐ DEFAULT ์ ์ฝ ์กฐ๊ฑด์ ํด๋น ํ๋์ ๊ธฐ๋ณธ ๊ฐ์ ์ค์ ํ ์ ์๊ฒ ํด์ฃผ๋ฉฐ, ๋ ์ฝ๋๋ฅผ ์ ๋ ฅํ ๋ ํด๋น ํ๋ ๊ฐ์ ์ ๋ฌํ์ง ์์ผ๋ฉด ์๋์ผ๋ก ์ค์ ๋ ๊ธฐ๋ณธ๊ฐ์ ์ ์ฅํ๋ค.
๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด - PRIMARY KEY (๊ธฐ๋ณธ ํค)
๊ธฐ๋ณธ ํค๋ฅผ ๊ตฌ์ฑํ๋ ์ด๋ค ์์ฑ๋ ๋ ๊ฐ์ ๊ฐ์ง ์ ์์ผ๋ฉฐ, ์ค์ง ํ๋์ ๊ฐ๋ง ์กด์ฌํด์ผ ํ๋ค๋ ์กฐ๊ฑด์ ๋๋ค.
๊ธฐ๋ณธ ํค๋ ํ ์ด๋ธ์ ์ ์ฅ๋ ํ ๋ฐ์ดํฐ๋ฅผ ์์๋ก ์๋ณํ๊ธฐ ์ํ ๊ฒ์ด๋ฉฐ, ํ๋์ ํ ์ด๋ธ์ ํ๋์ ๊ธฐ๋ณธ ํค ์ ์ฝ์ ์ ์ํ ์ ์์ต๋๋ค.
์ถ๊ฐ์ ์ผ๋ก ๊ธฐ๋ณธ ํค ์ค์ ์, ์๋์ผ๋ก ๊ธฐ๋ณธ ํค์ ํด๋นํ๋ ์ปฌ๋ผ์ผ๋ก ์ธ๋ฑ์ค๊ฐ ์์ฑ๋ฉ๋๋ค.
๐ ๊ธฐ๋ณธ ํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ์๋ Null ์ ๋ ฅ X + ์ค๋ณต ํ์ฉ X → PK = UNIQUE + NOT NULL
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด - FOREIGN KEY (์ธ๋ ํค)
์์ ๋ฆด๋ ์ด์ ์ ์ธ๋ ํค์ ๊ฐ์ ์ฐธ์กฐ๋ ๋ถ๋ชจ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธ ํค ๊ฐ๊ณผ ๊ฐ์์ผ ํ๋ฉฐ, ์์ ๋ฆด๋ ์ด์ ์ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๋ ๋ถ๋ชจ ๋ฆด๋ ์ด์ ์ ์ ์ฝ์ ๋ฐ๋๋ค๋ ์กฐ๊ฑด์ ๋๋ค.
RDBMS์์๋ ์ปฌ๋ผ์ ๊ฐ์ ๋ฐ๋ผ ํ ์ด๋ธ๋ผ๋ฆฌ ์ฐ๊ฒฐํ๋๋ฐ ๊ฐ์ ์ฐธ์กฐํ๋ ์ชฝ์ ํ ์ด๋ธ์ ์์ ํ ์ด๋ธ, ๊ฐ์ ๊ฐ์ง ์ปฌ๋ผ์ ์ธ๋ ํค ๋ผ๊ณ ํฉ๋๋ค.
์ฐธ์กฐ๋๋ ์ชฝ์ ํ ์ด๋ธ์ ๋ถ๋ชจ ํ ์ด๋ธ, ๊ฐ์ ๊ฐ์ง ์ปฌ๋ผ์ ๋ถ๋ชจ ํค ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ๋ถ๋ชจ ํค๋ ๊ธฐ๋ณธ ํค ๋๋ ๊ณ ์ ํค์ฌ์ผ ํฉ๋๋ค.
์ฆ, ์ฐธ์กฐํ๋ ํ
์ด๋ธ (์์ ํ
์ด๋ธ)์ ๊ฐ์ด ์ฐธ์กฐ๋๋ ํ
์ด๋ธ (๋ถ๋ชจ ํ
์ด๋ธ)์ ์ปฌ๋ผ์ ๊ฐ์ ์กด์ฌํ๋ฉด ๋๋ค๋ ๊ฒ์
๋๋ค.
(์ธ๋ ํค๋ NULL ๊ฐ์ด๊ฑฐ๋ ๋๋ ๋ถ๋ชจ ํ
์ด๋ธ์ ๊ธฐ๋ณธ ํค or ๊ณ ์ ํค ๊ฐ๊ณผ ๋์ผํด์ผ ํ๋ค)
'๐จโ๐ป Back End > MySQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํธ๋์ญ์ ๊ฒฉ๋ฆฌ์ฑ ์์ค (0) | 2023.07.25 |
---|---|
ํธ๋์ญ์ (Transaction) (0) | 2023.07.22 |
Join (์กฐ์ธ) - ๋ด๋ถ ์กฐ์ธ (Inner Join) & ์ธ๋ถ ์กฐ์ธ (Outer Join) (0) | 2023.07.22 |
SubQuery (์๋ธ์ฟผ๋ฆฌ) (0) | 2023.07.22 |
SELECT๋ฌธ ๊ตฌ์กฐ ๋ฐ ์คํ ์์ (0) | 2023.07.22 |