๐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํค(Key): ์ํผํค, ํ๋ณดํค, ๊ธฐ๋ณธํค, ์ธ๋ํค | ๐์ ์ฒ๊ธฐ ์ค๊ธฐ ๋๋น ๋ฌธ์ ํฌํจ
์์ฝ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํต์ฌ ๊ฐ๋ ์ธ ํค(Key)์ ๋ชจ๋ ๊ฒ์ ์์๋ด ๋๋ค. ํค์ ํน์ฑ์ธ ์ ์ผ์ฑ๊ณผ ์ต์์ฑ๋ถํฐ ์ํผํค, ํ๋ณดํค, ๊ธฐ๋ณธํค, ๋์ฒดํค, ์ธ๋ํค์ ๊ฐ๋ ๊ณผ ๊ด๊ณ๋ฅผ ์์ ์ ํจ๊ป ์ฝ๊ฒ ์ค๋ช ํ๊ณ , ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ๋๋น ๋ฌธ์ ๋ก ๋ง๋ฌด๋ฆฌํฉ๋๋ค.
๐ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ํค(Key) ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํต์ฌ ๊ฐ๋ ์ผ๋ก, ํ ์ด๋ธ์ ํ(Row)์ ๊ณ ์ ํ๊ฒ ์๋ณํ๊ณ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ ์ฒ๊ธฐ ์ํ์์๋ ๋จ๊ณจ๋ก ์ถ์ ๋๋ ๊ฐ ํค์ ํน์ง๊ณผ ๊ด๊ณ๋ฅผ ๋ช ํํ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
ํค ์ข ๋ฅ | ํน์ง | ์ค๋ช |
---|---|---|
๊ธฐ๋ณธํค (Primary Key) | ํ๋ณดํค ์ค ์ ํ, Not Null | ํ๋ณดํค ์ค์์ ์ ํ๋ ํ ์ด๋ธ ๋ํ ํค |
๋์ฒดํค (Alternate Key) | ํ๋ณดํค ์ค ๋๋จธ์ง | ๊ธฐ๋ณธํค๋ก ์ ํ๋์ง ์์ ํ๋ณดํค |
ํ๋ณดํค (Candidate Key) | ์ ์ผ์ฑ O, ์ต์์ฑ O | ํํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์ต์ํ์ ์์ฑ ์งํฉ |
์ํผํค (Super Key) | ์ ์ผ์ฑ O, ์ต์์ฑ X | ํํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์์ฑ ๋๋ ์์ฑ๋ค์ ์งํฉ |
์ธ๋ํค (Foreign Key) | ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค ์ฐธ์กฐ | ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ๊ณ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅ |
๐ฏ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํค๋?
ํค(Key) ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํํ(Tuple, ํ)์ ์ฐพ๊ฑฐ๋, ์์๋๋ก ์ ๋ ฌํ ๋ ๋ค๋ฅธ ํํ๊ณผ ๊ตฌ๋ณํ ์ ์๋ ์ ์ผํ ๊ธฐ์ค์ด ๋๋ ์์ฑ(Attribute) ๋๋ ์์ฑ์ ์งํฉ์ ๋๋ค. ํค๋ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ณ , ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
โจ ํค์ ์ฃผ์ ํน์ฑ
๋ชจ๋ ํค๊ฐ ์ด ๋ ๊ฐ์ง ํน์ฑ์ ํญ์ ๋ง์กฑํ๋ ๊ฒ์ ์๋์ง๋ง, ํนํ ํ๋ณดํค๋ฅผ ์ ์ํ๋ ๋ฐ ์์ด ํต์ฌ์ ์ธ ์ฑ์ง์ ๋๋ค.
- ์ ์ผ์ฑ(Uniqueness): ํ๋์ ํค ๊ฐ์ผ๋ก ํ๋์ ํํ๋ง์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 'ํ์' ํ ์ด๋ธ์์ 'ํ๋ฒ'์ ๊ฐ ํ์์ ์ ์ผํ๊ฒ ๊ตฌ๋ถํ๋ฏ๋ก ์ ์ผ์ฑ์ ๋ง์กฑํฉ๋๋ค.
- ์ต์์ฑ(Minimality): ์ ์ผ์ฑ์ ๋ง์กฑํ๋ ์์ฑ๋ค ์ค ๊ฐ์ฅ ์ ์ ์์ ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋์ด์ผ ํฉ๋๋ค. ์ฆ, ํค๋ฅผ ๊ตฌ์ฑํ๋ ์ด๋ค ์์ฑ์ ์ ๊ฑฐํ๋ฉด ๋ ์ด์ ์ ์ผ์ฑ์ ๋ง์กฑํ์ง ๋ชปํ๊ฒ ๋๋ ์ํ๋ฅผ ์๋ฏธํฉ๋๋ค.
๐ ํค์ ์ข ๋ฅ์ ๊ด๊ณ
๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ์ฌ๋ฌ ์ข ๋ฅ์ ํค๊ฐ ์์ผ๋ฉฐ, ์๋ก ํฌํจ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋๋ค.
๊ธฐ๋(ํ)์
๊ธฐ๋ณธํค + ๋์ฒดํค = ํ๋ณดํค โ ์ํผํค

๊ธฐ๋ณธํค + ๋์ฒดํค = ํ๋ณดํค โ ์ํผํค
1. ๊ธฐ๋ณธํค (Primary Key, PK)
- ์ ์: ํ๋ณดํค ์ค์์ ์ ํ๋ ๋จ ํ๋์ ํค์ ๋๋ค. ํ ์ด๋ธ์ ๋ํํ๋ ํค๋ผ๊ณ ํ ์ ์์ต๋๋ค.
- ํน์ฑ:
- NULL ๊ฐ์ ๊ฐ์ง ์ ์์ต๋๋ค.
- ์ค๋ณต๋ ๊ฐ์ ๊ฐ์ง ์ ์์ต๋๋ค.
- ํ ์ด๋ธ ๋น ์ค์ง ํ๋์ ๊ธฐ๋ณธํค๋ง ์กด์ฌํฉ๋๋ค.
- ์ ์ ๊ธฐ์ค: ๋ณดํต ๊ธธ์ด๊ฐ ์งง๊ณ , ๊ฐ์ด ์์ฃผ ๋ณ๊ฒฝ๋์ง ์์ผ๋ฉฐ, NULL ๊ฐ์ ๊ฐ์ง ์๋ ํ๋ณดํค๋ฅผ ๊ธฐ๋ณธํค๋ก ์ ์ ํฉ๋๋ค.
- ์์:
{ํ๋ฒ}
๊ณผ{์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ}
๋ ํ๋ณดํค ์ค์์, ์ผ๋ฐ์ ์ผ๋กํ๋ฒ
์ ๊ธฐ๋ณธํค๋ก ์ ํํฉ๋๋ค.
2. ๋์ฒดํค (Alternate Key)
- ์ ์: ๊ธฐ๋ณธํค๋ก ์ ํ๋์ง ๋ชปํ ๋๋จธ์ง ํ๋ณดํค๋ค์ ๋๋ค.
- ํน์ฑ: ํ๋ณดํค์ ์ฑ์ง(์ ์ผ์ฑ, ์ต์์ฑ)์ ๊ทธ๋๋ก ๊ฐ์ง๋๋ค.
- ์์:
ํ๋ฒ
์ด ๊ธฐ๋ณธํค๋ก ์ ํ๋์๋ค๋ฉด,์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ
๋ ๋์ฒดํค๊ฐ ๋ฉ๋๋ค.
3. ํ๋ณดํค (Candidate Key)
- ์ ์: ํ ์ด๋ธ์ ๊ฐ ํ์ ์ ์ผํ๊ฒ ์๋ณํ๋ฉด์ ์ต์ํ์ ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋ ํค์ ๋๋ค.
- ํน์ฑ: ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๋ชจ๋ ๋ง์กฑํด์ผ ํฉ๋๋ค.
- ์์: ์ 'ํ์' ํ
์ด๋ธ ์์์์,
{ํ๋ฒ}
: ํ๋ณดํค (์ ์ผ์ฑ O, ์ต์์ฑ O){์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ}
: ํ๋ณดํค (์ ์ผ์ฑ O, ์ต์์ฑ O){ํ๋ฒ, ์ด๋ฆ}
: ํ๋ณดํค๊ฐ ์๋ (์ต์์ฑ X -์ด๋ฆ
์ ๋นผ๋ํ๋ฒ
๋ง์ผ๋ก ์ ์ผ์ฑ์ ๋ง์กฑํจ)
4. ์ํผํค (Super Key)
- ์ ์: ํ ์ด๋ธ์ ๊ฐ ํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ํ๋์ ์์ฑ ๋๋ ์์ฑ์ ์งํฉ์ ๋๋ค.
- ํน์ฑ: ์ ์ผ์ฑ์ ๋ง์กฑํ์ง๋ง, ์ต์์ฑ์ ๋ง์กฑํ์ง ์์ ์ ์์ต๋๋ค.
- ์์: 'ํ์' ํ
์ด๋ธ์
(ํ๋ฒ, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ, ์ด๋ฆ)
์์ฑ์ด ์๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค.{ํ๋ฒ}
: ์ํผํค (์ ์ผ์ฑ O){์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ}
: ์ํผํค (์ ์ผ์ฑ O){ํ๋ฒ, ์ด๋ฆ}
: ์ํผํค (์ ์ผ์ฑ O){ํ๋ฒ, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ}
: ์ํผํค (์ ์ผ์ฑ O)
5. ์ธ๋ํค (Foreign Key, FK)
- ์ ์: ํ ํ ์ด๋ธ์ ์์ฑ ์ค, ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค(PK)๋ฅผ ์ฐธ์กฐํ๋ ์์ฑ์ ๋๋ค.
- ๋ชฉ์ : ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ(Relationship) ๋ฅผ ๋งบ๊ณ , ๋ฐ์ดํฐ์ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
- ํน์ฑ:
- ์ฐธ์กฐํ๋ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค์ ์กด์ฌํ๋ ๊ฐ์ด๋ NULL ๊ฐ๋ง ๊ฐ์ง ์ ์์ต๋๋ค.
- ์ธ๋ํค ๊ฐ์ ์ฐธ์กฐํ๋ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค์ ๋์ผํ ๋๋ฉ์ธ์ ๊ฐ์ ธ์ผ ํฉ๋๋ค.
- ์์: '์๊ฐ' ํ
์ด๋ธ์
ํ๋ฒ
์์ฑ์ 'ํ์' ํ ์ด๋ธ์ ๊ธฐ๋ณธํค์ธํ๋ฒ
์ ์ฐธ์กฐํ๋ ์ธ๋ํค์ ๋๋ค. ์ด๋ฅผ ํตํด ์ด๋ค ํ์์ด ์ด๋ค ๊ณผ๋ชฉ์ ์๊ฐํ๋์ง ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์์ต๋๋ค.
๐ ์ ์ฒ๊ธฐ ์ค๊ธฐ ๋๋น ๋ฌธ์
๋ฌธ์ | ํํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์์ฑ ๋๋ ์์ฑ๋ค์ ์งํฉ์ผ๋ก, ์ ์ผ์ฑ์ ๋ง์กฑํ์ง๋ง ์ต์์ฑ์ ๋ง์กฑํ์ง ์์๋ ๋๋ ํค๋ ๋ฌด์์ธ๊ฐ? |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๋ชจ๋ ๋ง์กฑํ๋ ํค๋ก, ๊ธฐ๋ณธํค๊ฐ ๋ ์ ์๋ ํ๋ณด๊ฐ ๋๋ ํค๋ ๋ฌด์์ธ๊ฐ? |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | ํ๋ณดํค ์ค์์ ํ๋๋ฅผ ์ ํํ์ฌ ํ ์ด๋ธ์ ๋ํํ๋ ํค๋ก ์ฌ์ฉํ๋ ๊ฒ์ ๋ฌด์์ธ๊ฐ? ์ด ํค๋ NULL ๊ฐ์ ๊ฐ์ง ์ ์๋ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | ๊ธฐ๋ณธํค๋ก ์ ํ๋์ง ์์ ๋๋จธ์ง ํ๋ณดํค๋ฅผ ๋ฌด์์ด๋ผ๊ณ ํ๋๊ฐ? |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ์ฌ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋งบ๊ณ , ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํค๋ ๋ฌด์์ธ๊ฐ? |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |