[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํค(Keys)
Keys
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํค๋ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ํน์ ํ๋ ์์ฑ์ ์งํฉ์ ์๋ฏธํฉ๋๋ค. ์ฌ๋ฌ ์ข ๋ฅ์ ํค๋ค์ด ์๊ณ , ํฌํจ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ด ๋จ๊ณ๋ณ๋ก ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
์ํผ ํค(Super Key)
์ํผ ํค(Super Key)๋ ํ ์ด๋ธ ๋ด์ ํน์ ํ ํํ์ ์๋ณํ ์ ์๊ฒ ํ๋ ์์ฑ๋ค์ ์งํฉ์ ์๋ฏธํฉ๋๋ค. ์งํฉ์ด๊ธฐ ๋๋ฌธ์ ์์ฑ์ ํ๋๋ง ์์ ์๋ ์๊ณ , ๋ค์ ์กด์ฌํ ์๋ ์์ต๋๋ค. ์ํผ ํค๋ ํญ์ ์ ์ผ์ฑ(uniquness) ๋ฅผ ๋ง์กฑํด์ผ ํ๋๋ฐ, ์ ์ผ์ฑ์ด๋ ์ด ํค ๊ฐ์ ํตํด ํํ์ ์๋ณํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
student_id | student_name | age | sex |
์์ ๊ฐ์ ํ ์ด๋ธ์ ์์ฑ๋ค์ด ์๋ค๊ณ ํ ๋, student_id ํ๋๋ง์ผ๋ก ํน์ ํํ์ ์๋ณํ ์ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด student_id๋ฅผ ํฌํจํ๋ ๋ค๋ฅธ ์งํฉ๋ค์ ์ด๋จ๊น์?
- { student_id }
- { student_id, student_name }
- { student_id, student_name, age }
- { student_id, student_name, age, sex }
์ ์์ฑ๋ค์ ์กฐํฉ์ ๋ชจ๋ ์ ์ผ์ฑ์ ์ถฉ์กฑ์ํค๊ธฐ ๋๋ฌธ์ ์ํผ ํค๊ฐ ๋ ์ ์์ต๋๋ค.
ํ๋ณด ํค(Candidate Key)
์ํผ ํค๋ ๋๋ฌด๋ ๊ด๋ฒ์ํด์ ๋นํจ์จ์ ์ผ ์๋ ์์ต๋๋ค. student_id ํ๋๋ก๋ง ์ด๋ค ํํ์ ํน์ ํ ์ ์๋ค๋ฉด, ๋ค๋ฅธ ์์ฑ๋ค์ ํ์ธํ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์๋ ์์ ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ํ๋ณด ํค๋ ์ํผ ํค์ฒ๋ผ ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ์์ฑ๋ค์ ์งํฉ ์ค ํํ์ ํน์ ํ๊ฒํ๋ ํค๋ฅผ ์๋ฏธํ๋ฉด์ ๋์์ ์ ์ผ์ฑ(Uniqeuness)๊ณผ ์ต์์ฑ(Minimality)์ ๋ชจ๋ ๋ง์กฑํด์ผํ๋ค๋ ์กฐ๊ฑด์ ํฌํจํฉ๋๋ค.
์ต์์ฑ์ด๋ ํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ๋ค ์ค ํ๋๋ง ์์ด๋ ํํ์ ์๋ณํ ์ ์๊ฒ ๋๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ํ ์ด๋ธ์์ ํํ์ ์๋ณํ๊ธฐ ์ํด์๋ ์งํฉ ๋ด์ ๋ชจ๋ ์์ฑ๋ค์ด ํ์ํ๊ณ ์ด๋ฐ ํค๊ฐ ์ต์์ฑ์ด ๋ง์กฑ๋๋ ํค์ ๋๋ค.
student_id | student_name | age | sex |
1 | A | 22 | M |
2 | A | 22 | F |
3 | B | 23 | F |
์ ํ ์ด๋ธ์ ๋ค์๊ณผ ๊ฐ์ ์ํผ ํค๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- { student_id }
- { student_id, student_name }
- { student_id, student_name, age }
- { student_id, student_name, age, sex }
- { student_id, age }
- { student_id, sex }
- { student_name, sex }
- { age, sex }
ํ์ง๋ง ์ด ์ค์์ ์ต์์ฑ์ ๋ง์กฑํ๋ ํค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- { student_id }
- { student_name, sex }
- { age, sex }
์ด ์ธ ๊ฐ์ ํค๋ ๋ด๋ถ์ ์๋ ์์ฑ ์ค ํ๋๋ง ์์ด๋ ์ ์ผ์ฑ์ ๋ง์กฑ์ํค์ง ๋ชปํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๋ชจ๋ ๋ง์กฑ์ํค๋ ํ๋ณด ํค๊ฐ ๋ฉ๋๋ค.
๊ธฐ๋ณธ ํค(Primary Key)
๊ธฐ๋ณธ ํค๋ ํ๋ณด ํค๋ค ์ค์์ ํด๋น ํ ์ด๋ธ์์ ํํ์ ์๋ณํ๋ ๊ธฐ์ค์ผ๋ก ์ผ๋ ํค ํ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ธฐ๋ณธ ํค๋ ํํ์ ์๋ณํ๋ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์, NULL ๊ฐ์ด ์ ๋๋ก ํ์ฉ๋์ง ์์ต๋๋ค. ์๋ํ๋ฉด, ๋ง์ฝ์ ์ฌ๋ฌ ํํ์ ๊ธฐ๋ณธํค์ ๊ฐ์ด NULL์ด๋ผ๋ฉด, ํํ์ ์๋ณํ ์ ์๊ฒ ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋์ฒด ํค(Alternate Key)
๋์ฒด ํค๋ ๊ธฐ๋ณธ ํค๋ก ์ง์ ๋์ง ์์ ๋ชจ๋ ํ๋ณด ํค๋ฅผ ์๋ฏธํฉ๋๋ค.
์ธ๋ ํค(Foreign Key)
์ธ๋ ํค๋ ํน๋ณํ ๋ค๋ฅธ ํ ์ด๋ธ๊ณผ ์ฐ๊ณ๋์ด ๊ด๊ณ๋ฅผ ๋งบ๋ ๋ฐ ์ฌ์ฉ๋๋ ํค์ ๋๋ค. ์ธ๋ ํค๋ ๋ค๋ฅธ ํ ์ด๋ธ์ ์กด์ฌํ๋ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ๊ฒ ๋ฉ๋๋ค.
์ ์์์์๋ Student_id๋ฅผ ๊ธฐ๋ณธ ํค๋ก ๊ฐ์ง ํ ์ด๋ธ์ด Professor๋ฅผ ์ธ๋ ํค๋ก ์ผ์ ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค์ธ Professor๋ฅผ ์ฐธ์กฐํ๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ ๊ฒ ์ธ๋ ํค๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ํ ์ด๋ธ๋ค์ ์ฐ๊ฒฐ์์ผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์์ ๊ฐ์ด ํ ์ด๋ธ ์ค์ค๋ก์ ๊ธฐ๋ณธ ํค๋ฅผ ์ฐธ์กฐํ๋ ์ธ๋ ํค๋ ์์ฑํ ์ ์์ต๋๋ค. ์์ ๊ฒฝ์ฐ์์๋ ์ด๋ค ๊ต์์ ์ง๋๊ต์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด์ advisor_id ๊ฐ professor_id๋ฅผ ์ฐธ์กฐํ๋๋ก ํ๊ณ ์์ต๋๋ค.
'๐ฎ ์จ-์์ค > ๐ ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ํธ๋์ญ์ (Transaction) (0) | 2021.09.05 |
---|---|
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ์กฐ์ธ์ฐ์ฐ(Join Operation) (0) | 2021.09.05 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ์ ๊ทํ(Normalization) (0) | 2021.09.05 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ์ด์ ํ์(Anomaly) (0) | 2021.09.05 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote