DBMS/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ก 

[DB] ๐Ÿ“š ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ‚ค(KEY) ์ข…๋ฅ˜ ๐Ÿ•ต๏ธ ์ •๋ฆฌ

์ธํŒŒ_ 2021. 11. 5. 14:54

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค-ํ‚ค

Key์˜ ์ข…๋ฅ˜

  • ์Šˆํผ ํ‚ค(Super Key): ์œ ์ผ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ํ‚ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, {ํ•™๋ฒˆ + ์ด๋ฆ„}, {์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ + ํ•™๋ฒˆ}
  • ๋ณตํ•ฉ ํ‚ค(Composite Key): 2๊ฐœ ์ด์ƒ์˜ ์†์„ฑ(attribute)๋ฅผ ์‚ฌ์šฉํ•œ ํ‚ค.
  • ํ›„๋ณด ํ‚ค(Candidate key): ์œ ์ผ์„ฑ๊ณผ ์ตœ์†Œ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ํ‚ค. ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ํ›„๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ํ›„๋ณดํ‚ค๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ, ํ•™๋ฒˆ ๋“ฑ
  • ๊ธฐ๋ณธ ํ‚ค(Primary key): ํ›„๋ณด ํ‚ค์—์„œ ์„ ํƒ๋œ ํ‚ค. NULL๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†์œผ๋ฉฐ, ๊ธฐ๋ณธํ‚ค๋กœ ์„ ํƒ๋œ ์†์„ฑ(Attribute)์€ ๋™์ผํ•œ ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์ˆ˜๊ฐ€ ์—†๋‹ค.
  • ๋Œ€์ฒด ํ‚ค(Surrogate key): ํ›„๋ณด ํ‚ค ์ค‘์— ๊ธฐ๋ณธ ํ‚ค๋กœ ์„ ํƒ๋˜์ง€ ์•Š์€ ํ‚ค.
  • ์™ธ๋ž˜ ํ‚ค(Foreign Key): ์–ด๋–ค ํ…Œ์ด๋ธ”(Relation) ๊ฐ„์˜ ๊ธฐ๋ณธ ํ‚ค(Primary key)๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์†์„ฑ์ด๋‹ค. ํ…Œ์ด๋ธ”(Relation)๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋œ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค-ํ‚ค


์Šˆํผํ‚ค(Super Key)

- 7์กฐ๋ผ๋Š” ํŒ€์— ํŒ€์›์€ 4๋ช…์ด ์žˆ๋‹ค. ์ด 4๋ช…์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์ ˆ๋Œ€ ๊ฒน์น˜์ง€ ์•Š๋Š” ํ•™๋ฒˆ ์ผ์ˆ˜๋„ ์žˆ๊ณ , ์ฃผ๋ฏผ๋ฒˆํ˜ธ์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

- ์ด๋ฆ„๊ณผ ๋‚˜์ด๋ฅผ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ์†์„ฑ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ฆ„๊ณผ ๋‚˜์ด๋ฅผ ํ•ฉ์ณ์„œ 7์กฐ์•ˆ์—์„œ ์ค‘๋ณต๋งŒ ๋˜์ง€ ์•Š์œผ๋ฉด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ฆ„๊ณผ ๋‚˜์ด๋ฅผ ํ•ฉ์ณ์„œ 4๋ช…์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์Šˆํผํ‚ค๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

- ํ•™๋ฒˆ๊ณผ ์ฃผ๋ฏผ๋ฒˆํ˜ธ๋ฅผ ๋ฌถ์–ด์„œ ์Šˆํผํ‚ค๋กœ ๋งŒ๋“ค์ˆ˜๋„ ์žˆ๊ณ , ํ•™๋ฒˆ๊ณผ ์ฃผ๋ฏผ๋ฒˆํ˜ธ๊ณผ ์ด๋ฆ„์„ ํ•ฉ์ณ์„œ ์Šˆํผํ‚ค๋กœ๋„ ๋งŒ๋“ค์ˆ˜ ์žˆ๊ณ , ํ•™๋ฒˆ๊ณผ ์ฃผ๋ฏผ๋ฒˆํ˜ธ๊ณผ ์ด๋ฆ„๊ณผ ๋‚˜์ด๋ฅผ ํ•ฉ์ณ์„œ ์Šˆํผํ‚ค๋ฅผ ๋งŒ๋“ค์ˆ˜๋„ ์žˆ๋‹ค. ์–ด๋–ค ์†์„ฑ๋ผ๋ฆฌ ๋ฌถ๋˜ ์ค‘๋ณต๊ฐ’์ด ์•ˆ๋‚˜์˜ค๊ณ  ์„œ๋กœ ๊ตฌ๋ณ„๋งŒ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ๋œ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค-ํ‚ค


ํ›„๋ณดํ‚ค(Candidate Key)

- ์œ„์—์„œ ๋งํ–ˆ๋“ฏ์•„, ์ด 4๋ช…์„ ๊ตฌ๋ถ„ํ•˜๋Š” ์Šˆํผํ‚ค๋“ค์ด ๋ชจ์—ฌ ์žˆ๋Š”๋ฐ, ์Šˆํผํ‚ค๋“ค ์ค‘์—์„œ ์†์„ฑ์€ ์ตœ์†Œํ•œ์˜ ๊ฐฏ์ˆ˜๋กœ 4๋ช…์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ›„๋ณดํ‚ค๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

- ํ•™๋ฒˆ ์Šˆํผํ‚ค์™€ ์ฃผ๋ฏผ๋ฒˆํ˜ธ ์Šˆํผํ‚ค๋Š” ์†์„ฑ๋“ค์ด ๊ฐ 1๊ฐœ์”ฉ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฆ„+๋‚˜์ด ์Šˆํผํ‚ค๋Š” ์ด๋ฆ„๊ณผ ๋‚˜์ด๋ฅผ ๋ฌถ์–ด์„œ 2๊ฐœ์˜ ์†์„ฑ์œผ๋กœ ๋˜์–ด ์žˆ๋‹ค. ์ด๋ฆ„+๋‚˜์ด ์Šˆํผํ‚ค๋Š” 2๊ฐœ ์ด๋ฏ€๋กœ ๊ฐ 1๊ฐœ์˜ ์†์„ฑ์ธ ์ฃผ๋ฏผ๋ฒˆํ˜ธ์™€ ํ•™๋ฒˆ ์Šˆํผํ‚ค๊ฐ€ ์ตœ์†Œ์„ฑ์„ ๋งŒ์กฑํ•œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

- ๋”ฐ๋ผ์„œ ์ด๋ฆ„+๋‚˜์ด ์Šˆํผํ‚ค๋Š” ๊ฐฏ์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์†Œ์„ฑ์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•ด์„œ ํ›„๋ณดํ‚ค๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค-ํ‚ค


๊ธฐ๋ณธํ‚ค(Primary Key)

- ํ›„๋ณดํ‚ค๋“ค ์ค‘์—์„œ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•œ ํ‚ค๋กœ ์ตœ์†Œ์„ฑ๊ณผ ์œ ์ผ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ์†์„ฑ์ด๋‹ค.

- ํ…Œ์ด๋ธ”์—์„œ ๊ธฐ๋ณธํ‚ค๋Š” ์˜ค์ง 1๊ฐœ๋งŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

- ๊ธฐ๋ณธํ‚ค๋Š” NULL ๊ฐ’์„ ์ ˆ๋Œ€ ๊ฐ€์งˆ์ˆ˜ ์—†๊ณ , ์ค‘๋ณต๋œ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.

๊ธฐ๋ณธํ‚ค(Primary Key)


๋Œ€์ฒดํ‚ค(Alternate Key)

- ํ›„๋ณดํ‚ค๊ฐ€ ๋‘๊ฐœ ์ด์ƒ์ผ ๊ฒฝ์šฐ ๊ทธ ์ค‘์—์„œ ์–ด๋Š ํ•˜๋‚˜๋ฅผ ๊ธฐ๋ณธํ‚ค๋กœ ์ง€์ •ํ•˜๊ณ  ๋‚จ์€ ํ›„๋ณดํ‚ค๋“ค์„ ๋Œ€์ฒดํ‚ค๋ผํ•œ๋‹ค.

- ํ›„๋ณดํ‚ค๋กœ ํ•™๋ฒˆ๊ณผ ์ฃผ๋ฏผ๋ฒˆํ˜ธ๊ฐ€ ๋ฝ‘ํ˜”๊ณ , ๋‘˜ ์ค‘์—์„œ ๊ธฐ๋ณธํ‚ค๋Š” ํ•™๋ฒˆ์ด ๋˜์—ˆ๋‹ค. ํ•™๋ฒˆ์ด ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋˜๊ณ  ๋‚จ์€ ํ›„๋ณดํ‚ค์ธ ์ฃผ๋ฏผ๋ฒˆํ˜ธ๋Š” ๋Œ€์ฒดํ‚ค๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ํ•™๋ฒˆ ๊ธฐ๋ณธํ‚ค๊ฐ€ ์—†์–ด์ง€๊ฒŒ ๋˜๋ฉด ์ฃผ๋ฏผ๋ฒˆํ˜ธ๋Š” ์—†์–ด์ง„ ๊ธฐ๋ณธํ‚ค๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค-ํ‚ค


์™ธ๋ž˜ํ‚ค(Foreign Key)

- ์ฐธ์กฐ ๋  ํ…Œ์ด๋ธ”(A)์ด ๋จผ์ € ๋งŒ๋“ค์–ด์ง€๊ณ  ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”(B)์— ๊ฐ’์ด ์ž…๋ ฅ๋˜์–ด์•ผ ํ•œ๋‹ค.

- ์ด๋•Œ, ์ฐธ์กฐ๋ (A) ์—ด์˜ ๊ฐ’์€ ์ฐธ์กฐ๋ (A) ํ…Œ์ด๋ธ”์—์„œ ๊ธฐ๋ณธํ‚ค(Primary Key)๋กœ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผํ•œ๋‹ค.

- ์™ธ๋ž˜ํ‚ค๋Š” ์ฐธ์กฐ๋˜๋Š” ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธํ‚ค์™€ ๋™์ผํ•œ ํ‚ค ์†์„ฑ์„ ๊ฐ€์ง„๋‹ค.

- ์ฐธ์กฐ๋˜๋Š” ๋ถ€๋ชจํ…Œ์ด๋ธ”์ด ๋จผ์ € ์ƒ์„ฑ๋œ ๋’ค ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ , ์ฐธ์กฐํ•˜๋Š” ์ž์‹ ํ…Œ์ด๋ธ”์ด ๋‹ค์Œ์— ์ƒ๊ฒจ์•ผ๋œ๋‹ค.

- ๋ถ€๋ชจ ํ…Œ์ด๋ธ” ๋จผ์ € ์‚ญ์ œ๋  ์ˆ˜ ์—†๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋ถ€๋ชจํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜๋Š”๋ฐ ๋ถ€๋ชจํ…Œ์ด๋ธ”์ด ์‚ญ์ œ๋˜๋ฉด ์ž์‹ํ…Œ์ด๋ธ”์€ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด ์—†์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์™ธ๋ž˜ํ‚ค ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธด๋‹ค. ๋”ฐ๋ผ์„œ ์™ธ๋ž˜ํ‚ค ๊ด€๊ณ„์—์„œ ๋ถ€๋ชจํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•˜๋ ค๋ฉด ์ž์‹ํ…Œ์ด๋ธ” ๋จผ์ € ์‚ญ์ œํ•œ ํ›„ ๋ถ€๋ชจํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•ด์•ผํ•œ๋‹ค.

 

- ์•„๋ž˜ ์‚ฌ์ง„์„ ๋ณด์ž. ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์€ ํ•™์ƒ ํ…Œ์ด๋ธ”์ด๊ณ , ์ž์‹ ํ…Œ์ด๋ธ”์€ ์ˆ˜๊ฐ• ํ…Œ์ด๋ธ”์ด๋‹ค.

- ํ•™์ƒํ…Œ์ด๋ธ”์€ ํ•™๋ฒˆ์ด ๊ธฐ๋ณธํ‚ค์ด์ž ์ฐธ์กฐ๋˜๋Š” ์ฐธ์กฐํ‚ค์ด๋‹ค.

- ์ˆ˜๊ฐ•ํ…Œ์ด๋ธ”์€ ํ•™๋ฒˆ์ด ์ฐธ์กฐํ•˜๋Š” ํ‚ค์ด์ž ์™ธ๋ž˜ํ‚ค์ด๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค-ํ‚ค
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค-ํ‚ค