์ ๊ทํ๋ฅผ ํด์ผ ํ๋ ์ด์ ๋ ์๋ชป๋ ํ ์ด๋ธ ์ค๊ณ๋ก ์ธํด Anomaly(์ด์ ํ์)๊ฐ ๋ํ๋๊ธฐ ๋๋ฌธ์ด๋ค.
์ฌ๊ธฐ์ Anomaly๊ฐ ๋ฌด์์ธ์ง ์์๋ณด์.
Ex)
{Student ID, CourseID, Department, Course ID, Grade}
1) ์ฝ์ ์ด์(Insertion Anomaly)
๊ธฐ๋ณธํค๊ฐ {Student ID, Course ID} ์ธ ๊ฒฝ์ฐ
Course๋ฅผ ์๊ฐํ์ง ์์ ํ์์ Course ID๊ฐ ์๋ ํ์์ด ๋ฐ์ํ๋ค. ๊ฒฐ๊ตญ, Course ID๋ฅผ Null๋ก ํ ์ ๋ฐ์ ์๋๋ฐ, ๊ธฐ๋ณธํค๋ Null์ด ๋ ์ ์์ผ๋ฏ๋ก ํ ์ด๋ธ์ ์ถ๊ฐ๋ ์ ์๋ค.
๊ตณ์ด ์ฝ์ ํ๊ธฐ ์ํด์๋ '๋ฏธ์๊ฐ'๊ณผ ๊ฐ์ Course ID๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
๋ถํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํด์ผ ์ฝ์ ํ ์ ์๋ ์ํฉ => Insertion Anomaly
2) ๊ฐฑ์ ์ด์(Update Anomaly)
๋ง์ฝ ์ด๋ค ํ์์ ์ ๊ณต {Department}์ด "์ปดํจํฐ -> ์์ "์ผ๋ก ๋ฐ๋๋ ๊ฒฝ์ฐ
๋ชจ๋ Department๋ฅผ "์์ "์ผ๋ก ๋ฐ๊พธ์ด์ผ ํ๋ค. ๊ทธ๋ฌ๋ ์ผ๋ถ๋ฅผ ๊น๋นกํ๊ณ ๋ฐ๊พธ์ง ๋ชปํ๋ ๊ฒฝ์ฐ, ์ ๋๋ก ํ์ ํ์ง ๋ชปํ๋ค.
์ผ๋ถ๋ง ๋ณ๊ฒฝํ์ฌ ๋ฐ์ดํฐ๊ฐ ๋ถ์ผ์นํ๋ ๋ชจ์์ ๋ฌธ์ => Update Anomaly
3) ์ญ์ ์ด์(Deletion Anomaly)
๋ง์ฝ ์ด๋ค ํ์์ด ์๊ฐ์ ์ฒ ํํ๋ ๊ฒฝ์ฐ, {Student ID, Course ID, Department, Course ID, Grade}์ ์ ๋ณด ์ค Course ID๋ฅผ ์ญ์ ํ๋ฉด Student ID, Department์ ๊ฐ์ ํ์์ ๋ํ ์ ๋ณด๋ ํจ๊ป ์ญ์ ๋๋ค.
ํํ ์ญ์ ๋ก ์ธํด ๊ผญ ํ์ํ ๋ฐ์ดํฐ๊น์ง ํจ๊ป ์ญ์ ๋๋ ๋ฌธ์ => Deletion Anomaly