์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๊ฐ ์ค์ํ๊ฐ?
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๋ ์ง์ ์ง๊ธฐ ์ ์ ์ค๊ณ๋๋ฅผ ๊ทธ๋ฆฌ๋ ๊ฒ๊ณผ ๊ฐ๋ค.
์๋ฌด๋ฆฌ ์ข์ ์ฌ๋ฃ์ ๊ธฐ์ ์ด ์์ด๋ ์ค๊ณ๋ ์์ด ์ง์ ์ง๋๋ค๋ฉด ๋ฌธ์ ๊ฐ ์๊ธฐ๊ธฐ ๋ง๋ จ์ด๋ค.
์ฒด๊ณ์ ์ธ ์ค๊ณ ์์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ถํ๋ฉด ์ฒ์์๋ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์์์ง ๋ชฐ๋ผ๋,
์๋น์ค๊ฐ ๋ณต์กํด์ง์๋ก ๋ฐ์ดํฐ ์ค๋ณต, ์ฑ๋ฅ ์ ํ, ์ ์ง๋ณด์ ์ด๋ ค์ ๋ฑ์ '๊ธฐ์ ๋ถ์ฑ'๊ฐ ์์ด๊ฒ ๋๋ค.
์ด๋ ๋์ค์ ๋ ํฐ ๋น์ฉ๊ณผ ์๊ฐ์ ์๊ตฌํ๊ฒ ๋๋ค.
์ข์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ ๊ฐ๋ ์ ์ค๊ณ, ๋ ผ๋ฆฌ์ ์ค๊ณ, ๋ฌผ๋ฆฌ์ ์ค๊ณ๋ผ๋ 3๋จ๊ณ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋ค.
์ด ๊ณผ์ ์์ ๋ฐ์ดํฐ์ ์ค๋ณต์ ์ ๊ฑฐํ๊ณ ๋ฌด๊ฒฐ์ฑ์ ๋์ด๋ '์ ๊ทํ'๋ฅผ ์ ์ฉํ๊ฒ ๋๋ค.
์ ์ค๊ณ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ์ ๋ณํ์๋ ์ ์ฐํ๊ฒ ๋์ฒํ ์ ์๋ ํผํผํ ๊ธฐ๋ฐ์ด ๋์ด์ค๋ค.
์๋ชป๋ ์ค๊ณ๊ฐ ๊ฐ์ ธ์ค๋ ๋ฌธ์ ๋ค
1. ๋ฐ์ดํฐ ์ค๋ณต
๋์ผํ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ๊ณณ์ ์ค๋ณต ์ ์ฅ๋๋ฉด์ ์ ์ฅ ๊ณต๊ฐ์ด ๋ถํ์ํ๊ฒ ๋ญ๋น๋๋ค.
2. ์์ ์ด์ (Update Anomaly)
ํ๋์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ณณ์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์์ ํด์ผ ํ๋๋ฐ, ์ด ๊ณผ์ ์์ ์ผ๋ถ๊ฐ ๋๋ฝ๋๋ฉด ๋ฐ์ดํฐ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ๋ค.
3. ์ฝ์ ์ด์ (Insertion Anomaly)
์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ๋ถํ์ํ ์ ๋ณด๊น์ง ํจ๊ป ์ ๋ ฅํด์ผ ํ๋ ์ํฉ์ด ๋ฐ์ํ๋ค.
4. ์ญ์ ์ด์ (Deletion Anomaly)
ํน์ ์ ๋ณด๋ฅผ ์ญ์ ํ์ ๋ฟ์ธ๋ฐ, ์ ์ง๋์ด์ผ ํ ๋ค๋ฅธ ์ค์ํ ์ ๋ณด๊น์ง ์ฐ์์ ์ผ๋ก ์ญ์ ๋๋ ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
5. ์ฑ๋ฅ ์ ํ
๊ฑฐ๋ํ ํ ์ด๋ธ์์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋ ์ฟผ๋ฆฌ ์๋๊ฐ ํ์ ํ ๋๋ ค์ง๋ค.
6. ์ ์ง๋ณด์ ๋น์ฉ ์ฆ๊ฐ
์๋ชป๋ ์ค๊ณ๋ ์์ ๋ณ๊ฒฝ์๋ ํฐ ํ๊ธํจ๊ณผ๋ฅผ ์ด๋ํ๋ฉฐ, ์ด์ ํ์์ ํผํ๊ธฐ ์ํด ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ด ๋ณต์กํด์ง๋ฉด์ ํ์ฅ์ฑ์ด ๋จ์ด์ง๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ 3๋จ๊ณ
1๋จ๊ณ: ๊ฐ๋ ์ ์ค๊ณ (Conceptual Design)
๊ฑด๋ฌผ์ ์ ์ฒด์ ์ธ ๋ชจ์ต๊ณผ ๊ฐ ๊ณต๊ฐ์ ๋ฐฐ์น๋ฅผ ๊ฐ๋ตํ๊ฒ ์ค์ผ์นํ๋ ๋จ๊ณ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
๊ฐ๋ ์ ์ค๊ณ๋ ๋น์ฆ๋์ค๋ฅผ ์ถ์์ ์ผ๋ก ํํํ๊ณ ์ดํด๊ด๊ณ์๋ค๊ณผ ์ํํ๊ฒ ์ํตํ๊ธฐ ์ํ ๋จ๊ณ๋ค. ์ฃผ๋ก ERD (Entity-Relationship Diagram) ๋ก ํํ๋๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ์ง๋ฌธ์ ๋ตํ๋ค.
- ๋ค๋ฃจ์ด์ผ ํ ๋ฐ์ดํฐ๋ ๋ฌด์์ธ๊ฐ (Entity)
- ๊ฐ ๋ฐ์ดํฐ๋ค์ด ์๋ก ์ด๋ค ๊ด๊ณ๋ฅผ ๋งบ๊ณ ์๋๊ฐ (Relationship)
2๋จ๊ณ: ๋ ผ๋ฆฌ์ ์ค๊ณ (Logical Design)
๊ฐ๋ ์ ์ค๊ณ๋ฅผ '๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค'์ ์๋ฆฌ์ ๋ง๊ฒ ๊ตฌ์ฒด์ ์ธ ๊ตฌ์กฐ๋ก ๋ค๋ฌ๋ ๋จ๊ณ๋ค.
๋ ผ๋ฆฌ์ ์ค๊ณ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ท์น์ ๋ง๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํ๊ธฐ ์ํ ๋จ๊ณ๋ก, ์ ๊ทํ๋ ํ ์ด๋ธ ์คํค๋ง๋ก ํํ๋๋ค. ์ด ๋จ๊ณ์์๋ ๋ค์์ ๊ฒฐ์ ํ๋ค.
- ๊ฐ๋ ๋ชจ๋ธ์ ๊ฐ ์์๋ฅผ ์ด๋ค ํ ์ด๋ธ(Table) ๊ตฌ์กฐ๋ก ํํํ ๊ฒ์ธ๊ฐ
- ๋ฐ์ดํฐ์ ์ค๋ณต์ ๋ง๊ณ ๊ด๊ณ๋ฅผ ๋ช ํํ ํ๊ธฐ ์ํด ์ด๋ค ์ ๊ทํ ๊ท์น์ ์ ์ฉํ ๊ฒ์ธ๊ฐ
3๋จ๊ณ: ๋ฌผ๋ฆฌ์ ์ค๊ณ (Physical Design)
๋ ผ๋ฆฌ์ ์ค๊ณ์์ ๋ง๋ ํ ์ด๋ธ ์คํค๋ง๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ ํน์ RDBMS(MySQL, PostgreSQL ๋ฑ)์ ํน์ฑ์ ๋ง๊ฒ ๊ตฌํํ๋ ๋จ๊ณ๋ค.
๋ฌผ๋ฆฌ์ ์ค๊ณ๋ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ต์ ํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ๋จ๊ณ๋ก, ํ ์ด๋ธ ์ ์์๋ SQL ์คํฌ๋ฆฝํธ๋ก ํํ๋๋ค. ์ด ๋จ๊ณ์์๋ ๋ค์์ ์ค๊ณํ๋ค.
- ๊ฐ ์ปฌ๋ผ์ ์ด๋ค ๋ฐ์ดํฐ ํ์ ์ ํ ๋นํ ๊ฒ์ธ๊ฐ
- ์ด๋ค ์ปฌ๋ผ์ ์ธ๋ฑ์ค(Index)๋ฅผ ์ค์ ํ์ฌ ์ฑ๋ฅ์ ๊ฐ์ ํ ๊ฒ์ธ๊ฐ
'Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ฐ๋ ์ ๋ชจ๋ธ๋ง (2) - ์ํฐํฐ ๊ด๊ณ์ ERD ์ค์ต (0) | 2025.10.07 |
---|---|
๊ฐ๋ ์ ๋ชจ๋ธ๋ง (1) - ์๊ตฌ์ฌํญ ๋ถ์๊ณผ ์ํฐํฐ์ ์ดํด (0) | 2025.10.07 |