Skip to content

Latest commit

ย 

History

History
40 lines (18 loc) ยท 1.46 KB

File metadata and controls

40 lines (18 loc) ยท 1.46 KB

[DB] Anomaly


์ •๊ทœํ™”๋ฅผ ํ•ด์•ผํ•˜๋Š” ์ด์œ ๋Š” ์ž˜๋ชป๋œ ํ…Œ์ด๋ธ” ์„ค๊ณ„๋กœ ์ธํ•ด Anomaly (์ด์ƒ ํ˜„์ƒ)๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด ํŽ˜์ด์ง€์—์„œ๋Š” Anomaly๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์‚ดํŽด๋ณธ๋‹ค.

์˜ˆ) {Student ID, Course ID, Department, Course ID, Grade}

  1. ์‚ฝ์ž… ์ด์ƒ (Insertion Anomaly)

    ๊ธฐ๋ณธํ‚ค๊ฐ€ {Student ID, Course ID} ์ธ ๊ฒฝ์šฐ -> Course๋ฅผ ์ˆ˜๊ฐ•ํ•˜์ง€ ์•Š์€ ํ•™์ƒ์€ Course ID๊ฐ€ ์—†๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•จ. ๊ฒฐ๊ตญ Course ID๋ฅผ Null๋กœ ํ•  ์ˆ˜๋ฐ–์— ์—†๋Š”๋ฐ, ๊ธฐ๋ณธํ‚ค๋Š” Null์ด ๋  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, Table์— ์ถ”๊ฐ€๋  ์ˆ˜ ์—†์Œ.

    ๊ตณ์ด ์‚ฝ์ž…ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” '๋ฏธ์ˆ˜๊ฐ•'๊ณผ ๊ฐ™์€ Course ID๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•จ.

    ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ์ง€, ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ = Insertion Anomaly

  2. ๊ฐฑ์‹  ์ด์ƒ (Update Anomaly)

    ๋งŒ์•ฝ ์–ด๋–ค ํ•™์ƒ์˜ ์ „๊ณต (Department) ์ด "์ปดํ“จํ„ฐ์—์„œ ์Œ์•…"์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฒฝ์šฐ.

    ๋ชจ๋“  Department๋ฅผ "์Œ์•…"์œผ๋กœ ๋ฐ”๊พธ์–ด์•ผ ํ•จ. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ถ€๋ฅผ ๊นœ๋นกํ•˜๊ณ  ๋ฐ”๊พธ์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ, ์ œ๋Œ€๋กœ ํŒŒ์•… ๋ชปํ•จ.

    ์ผ๋ถ€๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ์ผ์น˜ ํ•˜๋Š” ๋ชจ์ˆœ์˜ ๋ฌธ์ œ = Update Anomaly

  3. ์‚ญ์ œ ์ด์ƒ (Deletion Anomaly)

    ๋งŒ์•ฝ ์–ด๋–ค ํ•™์ƒ์ด ์ˆ˜๊ฐ•์„ ์ฒ ํšŒํ•˜๋Š” ๊ฒฝ์šฐ, {Student ID, Department, Course ID, Grade}์˜ ์ •๋ณด ์ค‘

    Student ID, Department ์™€ ๊ฐ™์€ ํ•™์ƒ์— ๋Œ€ํ•œ ์ •๋ณด๋„ ํ•จ๊ป˜ ์‚ญ์ œ๋จ.

    ํŠœํ”Œ ์‚ญ์ œ๋กœ ์ธํ•ด ๊ผญ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ํ•จ๊ป˜ ์‚ญ์ œ๋˜๋Š” ๋ฌธ์ œ = Deletion Anomaly