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

[DB] ๐Ÿ“š ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ ์กฐ๊ฑด ๐Ÿ•ต๏ธ ์ •๋ฆฌ

์ธํŒŒ_ 2021. 11. 5. 17:06

 

๋ฌด๊ฒฐ์„ฑ

  • ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ ๋˜๋Š” ์œ ํšจ์„ฑ์„ ์˜๋ฏธ
  • ์ผ๊ด€๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ทœ์น™๋“ค์„ ๋ฌต์‹œ์ ์œผ๋กœ ๋˜๋Š” ๋ช…์‹œ์ ์œผ๋กœ ์ •์˜ํ•จ


๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ ์กฐ๊ฑด

โ€‹

1. ๋„๋ฉ”์ธ ์ œ์•ฝ์กฐ๊ฑด(domain constraint)

  • ๊ฐ ์• ํŠธ๋ฆฌ๋ทฐํŠธ ๊ฐ’์ด ๋ฐ˜๋“œ์‹œ ์›์ž๊ฐ’์ด์–ด์•ผ ํ•จ
  • ์• ํŠธ๋ฆฌ๋ทฐํŠธ ๊ฐ’์˜ ๋””ํดํŠธ ๊ฐ’, ๊ฐ€๋Šฅํ•œ ๊ฐ’๋“ค์˜ ๋ฒ”์œ„ ๋“ฑ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ

 

2. ํ‚ค ์ œ์•ฝ์กฐ๊ฑด(key constraint)

  • ํ‚ค ์• ํŠธ๋ฆฌ๋ทฐํŠธ์— ์ค‘๋ณต๋œ ๊ฐ’์ด ์กด์žฌํ•ด์„œ๋Š” ์•ˆ๋จ
    -> ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹˜

 

3. ์—”ํ‹ฐํ‹ฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด(entity integrity constraint)

  • ์—”ํ‹ฐํ‹ฐ : ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ (์‚ฌ์›, ๋ถ€์„œ, ๊ณ ๊ฐ, ์ƒํ’ˆ...)
  • ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์–ด๋–ค ์• ํŠธ๋ฆฌ๋ทฐํŠธ๋„ ๋„๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์Œ
  • ๋Œ€์ฒด ํ‚ค์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Œ

 

4. ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด(referential integrity constraint)

  • ๋‘ ๋ฆด๋ ˆ์ด์…˜์˜ ์—ฐ๊ด€๋œ ํˆฌํ”Œ๋“ค ์‚ฌ์ด์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋จ
  • ๋ฆด๋ ˆ์ด์…˜ R2์˜ ์™ธ๋ž˜ ํ‚ค๊ฐ€ ๋ฆด๋ ˆ์ด์…˜ R1์˜ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ์ฐธ์กฐํ•  ๋•Œ, ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์€ ์•„๋ž˜์˜ ๋‘ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๊ฐ€ ์„ฑ๋ฆฝ๋˜๋ฉด ๋งŒ์กฑ๋จ.
     1) ์™ธ๋ž˜ ํ‚ค์˜ ๊ฐ’์€ R1์˜ ์–ด๋–ค ํˆฌํ”Œ์˜ ๊ธฐ๋ณธ ํ‚ค ๊ฐ’๊ณผ ๊ฐ™๋‹ค
     2) ์™ธ๋ž˜ ํ‚ค๊ฐ€ ์ž์‹ ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉด ๋„๊ฐ’์„ ๊ฐ€์ง„๋‹ค.

 


๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์˜ ์œ ์ง€

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๊ฐฑ์‹  ์—ฐ์‚ฐ : ์‚ฝ์ž…์—ฐ์‚ฐ, ์‚ญ์ œ์—ฐ์‚ฐ, ์ˆ˜์ •์—ฐ์‚ฐ
  • DBMS๋Š” ๊ฐ๊ฐ์˜ ๊ฐฑ์‹  ์—ฐ์‚ฐ์— ๋Œ€ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด๋“ค์„ ๋งŒ์กฑํ•˜๋„๋ก ํ•„์š”ํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•จ
  • DBMS๋Š” ์™ธ๋ž˜ ํ‚ค๊ฐ€ ๊ฐฑ์‹ ๋˜๊ฑฐ๋‚˜, ์ฐธ์กฐ๋œ ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ๊ฐฑ์‹ ๋˜์—ˆ์„ ๋•Œ ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์ด ์œ„๋ฐฐ๋˜์ง€ ์•Š๋„๋ก ์กฐ์น˜

DEPARTMENT : ์ฐธ์กฐ๋œ ๋ฆด๋ ˆ์ด์…˜ (๋ถ€๋ชจ)

EMPLOYEE : ์ฐธ์กฐํ•˜๋Š” ๋ฆด๋ ˆ์ด์…˜ (์ž์‹)

 

 

ex) ์™ธ๋ž˜ํ‚ค๊ฐ€ ์ƒ๊ฒผ๋‹ค -> 1 ๋Œ€ ๋‹ค ๊ด€๊ณ„

1 ๋Œ€ ๋‹ค์—์„œ ์ถ”๊ฐ€๋˜๋Š” ์—ด์„ ์ฐธ์กฐ ํ‚ค์— ๋งž์ถฐ์„œ ์ถ”๊ฐ€. ์‚ญ์ œ ๋  ๋•Œ๋Š” ์ƒ๊ด€์—†์Œ

- ์ž์‹์˜ ์‚ฝ์ž…, ์ˆ˜์ • ์ฐธ์กฐ๋ฌด๊ฒฐ์„ฑ ์‹ ๊ฒฝO (๋ถ€๋ชจ ๊ธฐ๋ณธํ‚ค์— ๋งž์ถฐ์„œ ํ•ด์•ผํ•จ)

- ์ž์‹์˜ ์‚ญ์ œ๋Š” ์ฐธ์กฐ๋ฌด๊ฒฐ์„ฑ ์‹ ๊ฒฝX

- ๋ถ€๋ชจ์˜ ์‚ญ์ œ๋Š” ์‹ ๊ฒฝO (์ž์‹ ์™ธ๋ž˜ํ‚ค์— ์˜ํ–ฅ)

- ๋ถ€๋ชจ์˜ ์‚ฝ์ž… ์‹ ๊ฒฝX

 

 

์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ DBMS๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์˜ต์…˜

 

1. ์ œํ•œ(restricted)

- ์œ„๋ฐฐ๋ฅผ ์•ผ๊ธฐํ•œ ์—ฐ์‚ฐ์„ ๋‹จ์ˆœํžˆ ๊ฑฐ์ ˆ

- ์˜ˆ: DEPARTMENT ๋ฆด๋ ˆ์ด์…˜์—์„œ (3, ๊ฐœ๋ฐœ, 9)๋ฅผ ์‚ญ์ œํ•˜๋ฉด ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์„ ์œ„๋ฐฐํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์‚ญ์ œ ์—ฐ์‚ฐ์„ ๊ฑฐ์ ˆ

โ€‹

2. ์—ฐ์‡„(cascade)

- ์ฐธ์กฐ๋˜๋Š” ๋ฆด๋ ˆ์ด์…˜์—์„œ ํˆฌํ”Œ์„ ์‚ญ์ œํ•˜๊ณ , ์ฐธ์กฐํ•˜๋Š” ๋ฆด๋ ˆ์ด์…˜์—์„œ ์ด ํˆฌํ”Œ์„ ์ฐธ์กฐํ•˜๋Š” ํˆฌํ”Œ๋“ค๋„ ํ•จ๊ป˜ ์‚ญ์ œ

- ์˜ˆ: DEPARTMENT ๋ฆด๋ ˆ์ด์…˜์—์„œ (3, ๊ฐœ๋ฐœ, 9)๋ฅผ ์‚ญ์ œํ•˜๋ฉด EMPLOYEE ๋ฆด๋ ˆ์ด์…˜์—์„œ ๋ถ€์„œ๋ฒˆํ˜ธ 3์„ ์ฐธ์กฐํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ํˆฌํ”Œ๊ณผ ๋‹ค์„ฏ ๋ฒˆ์งธ ํˆฌํ”Œ๋„ ํ•จ๊ป˜ ์‚ญ์ œ

- ๋ถ€์„œ 3์ด ์‚ญ์ œ๋˜๋ฉด ๋”ธ๋ ค์˜ค๋Š” ๊ฒƒ๋„ ๋‹ค ์‚ญ์ œ -> ์—ฐ์‡„
- ๋ถ€์„œ ๋ฒˆํ˜ธ๋ฅผ 5๋กœ ์ˆ˜์ •ํ•˜๋ฉด ์—ฐ๊ด€๋˜์–ด์ž‡๋Š” ๊ฑธ ๋‹ค 5๋กœ ์ˆ˜์ •
- ๊ธฐ๋ณธ ์‚ญ์ œ๋Š” ์ œํ•œ์ด ๋””ํดํŠธ๊ณ , ์ˆ˜์ •์€ ์—ฐ์‡„๊ฐ€ ๋””ํดํŠธ๋กœ ์ž‘์šฉํ•œ๋‹ค.

 

3. ๋„๊ฐ’(nullify)

- ์ฐธ์กฐ๋˜๋Š” ๋ฆด๋ ˆ์ด์…˜์—์„œ ํˆฌํ”Œ์„ ์‚ญ์ œํ•˜๊ณ , ์ฐธ์กฐํ•˜๋Š” ๋ฆด๋ ˆ์ด์…˜์—์„œ ์ด ํˆฌํ”Œ์„ ์ฐธ์กฐํ•˜๋Š” ํˆฌํ”Œ๋“ค์˜ ์™ธ๋ž˜ ํ‚ค์— ๋„๊ฐ’์„ ์‚ฝ์ž…

์˜ˆ: DEPARTMENT ๋ฆด๋ ˆ์ด์…˜์—์„œ (3, ๊ฐœ๋ฐœ, 9)๋ฅผ ์‚ญ์ œํ•˜๋ฉด EMPLOYEE ๋ฆด๋ ˆ์ด์…˜์—์„œ ๋ถ€์„œ๋ฒˆํ˜ธ 3์„ ์ฐธ์กฐํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ํˆฌํ”Œ๊ณผ ๋‹ค์„ฏ ๋ฒˆ์งธ ํˆฌํ”Œ์˜ ๋ถ€์„œ๋ฒˆํ˜ธ์— ๋„๊ฐ’์„ ์‚ฝ์ž…

 

4. ๋””ํดํŠธ๊ฐ’

- ๋„๊ฐ’์„ ๋„ฃ๋Š” ๋Œ€์‹ ์— ๋””ํดํŠธ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ฐ”๋กœ ์œ„์˜ ์˜ต์…˜๊ณผ ๋น„์Šทํ•จ