๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ ๊ทํ, ๋ฐ์ ๊ทํ
1๏ธโฃ ์ฑ๋ฅ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ํฅ์์ ๋ชฉ์ ์ผ๋ก ํ๋ ์์
โ ์ ์ฑ๋ฅ์ ์ ๊ฒฝ ์จ์ผ ํ๋๊ฐ?
- DB๋ ๋งค์ฐ ๋ง์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
- ๋น ๋ฅด๊ฒ, ์์ฃผ ๋ฐ์ํ๋ ์ฟผ๋ฆฌ๋ฌธ์ด ๋นํจ์จ์ ์ด๋ฉด DB ์ ์ฒด์ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ค.
- ๋นํจ์จ์ ์ผ๋ก ์ค๊ณ๋ ํ ์ด๋ธ, ๋ค๋ฅธ ํ ์ด๋ธ์ ์ฐธ์กฐ๊ฐ ํ์ํ ํ ์ด๋ธ ๋ฑ ์ฑ๋ฅ ํฅ์์ ์ ํดํ๋ ์์๋ ๋ค์ํ๋ค.
โ ์ธ์ ํด์ผ ํ๋๊ฐ?
- ํ๋ก์ ํธ ํ๋ก์ฐ : [๋ถ์/์ค๊ณ] โ๏ธ - [๊ตฌํ] - [ํ ์คํธ] - [์ด์]
- ํ๋ฐ์ผ๋ก ๊ฐ์๋ก ๊ธฐํ๊ธ์์ ์ผ๋ก ๋น์ฉ์ด ์ฆ๊ฐ
โ ๊ณ ๋ ค ์ฌํญ
- ์ ํํ ์ ๊ทํ
- DB ์ฉ๋ ์ฐ์
- DB์์ ๋ฐ์๋๋ ํธ๋์ญ์
์ ์ ํ ํ์
- CRUD ๋งคํธ๋ฆญ, ์ํ์ค ๋ค์ด์ด๊ทธ๋จ ํ์
- DB ์ฉ๋๊ณผ ํธ๋์ญ์ ์ ํ์ ๋ฐ๋ผ, ๋ฐ์ ๊ทํ ์ํ
- ์ด๋ ฅ ๋ชจ๋ธ, PK/FK, ์ํผ ํ์ /์๋ธ ํ์ ์กฐ์
- ์ฑ๋ฅ ๊ด์ ์๋ฐ์ดํฐ ๋ชจ๋ธ ๊ฒ์ฆ
2๏ธโฃ ์ ๊ทํ(Normalization)
1. DBMS ํ ์ด๋ธ์ ์ฝ์ , ์ญ์ , ์์ ๊ณผ์ ์์์ ์ด์(Anomaly) ํ์์ ๋ฐ์์ ์ต์ํํ๊ธฐ ์ํด ์์ ๋จ์์ ํ ์ด๋ธ๋ก ๋๋ ๊ฐ๋ ๊ณผ์
2. ๋ฐ์ดํฐ์ โ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ , โก์ค๋ณต์ ๋ฐฉ์งํ๋ฉฐ, โข์ ์ฐ์ฑ์ ์ ์งํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ๋ถํดํ๋ ๊ณผ์
โ ์ ๊ทํ ์ด์
- ์ฌํ์ฉ์ฑ
- ์ค๋ณต ์ต์ํ - ์ ๊ทํ๋ ์๋ณ์๊ฐ ์๋ ์์ฑ์ด ํ ๋ฒ๋ง ํฌํจ๋จ
- ์ ์ฐ์ฑ - ๋์ ์์ง๋์ ๋ฎ์ ๊ฒฐํฉ๋
- ์์ง๋ - ์์๋ค์ด ์๋ก ๊ด๋ จ๋์ด ์๋ ์ ๋
- ๊ฒฐํฉ๋ - ์์๋ค์ด ์ํธ ์์กดํ๋ ์ ๋
โ ์ ๊ทํ ์ฉ์ด
ใโ ์ ๊ทํ ์ ํ
3๏ธโฃ ๋ฐ์ ๊ทํ(Denormalization, ๅๆญฃ่ฆๅ)
1. ์ญ์ ๊ทํ
2. ๋ฐ์ดํฐ์ ์ค๋ณต์ ํตํด (↔ ์ ๊ทํ: ๋ฐ์ดํฐ์ ์ค๋ณต์ ์ต์ํ) ์ฑ๋ฅ ํฅ์์ ๋ชฉ์ ์ ๋ฌ์ฑํ๋ ๊ณผ์
โ ์ ์ฐจ
โ ๊ธฐ๋ฒโ ํ ์ด๋ธ ๋ฐ์ ๊ทํ
- ํ
์ด๋ธ ๋ณํฉ
- 1:1 ๊ด๊ณ ํ ์ด๋ธ ๋ณํฉ
- 1:M ๊ด๊ณ ํ ์ด๋ธ ๋ณํฉ
- ์ํผ / ์๋ธ ํ์ ํ ์ด๋ธ ๋ณํฉ
- ํ
์ด๋ธ ๋ถํ
- ์์ง ๋ถํ (์ปฌ๋ผ ๋จ์)
- ์ํ ๋ถํ (๋ก์ฐ ๋จ์)
- ํ
์ด๋ธ ์ถ๊ฐ
- ์ค๋ณต ํ ์ด๋ธ ์ถ๊ฐ
- ํต๊ณ ํ ์ด๋ธ ์ถ๊ฐ
- ์ด๋ ฅ ํ ์ด๋ธ ์ถ๊ฐ
- ๋ถ๋ถ ํ ์ด๋ธ ์ถ๊ฐ
โ ๊ธฐ๋ฒโก ์ปฌ๋ผ ๋ฐ์ ๊ทํ
- ์ค๋ณต ์ปฌ๋ผ ์ถ๊ฐ
- ํ์ ์ปฌ๋ผ ์ถ๊ฐ
- ์ด๋ ฅ ํ ์ด๋ธ ์ปฌ๋ผ ์ถ๊ฐ
- PK์ ์ํ ์ปฌ๋ผ ์ถ๊ฐ
- ์์ฉ ์์คํ ์ ์ค์๋์ ์ํ ์ปฌ๋ผ ์ถ๊ฐ
โ ๊ธฐ๋ฒ โข ๊ด๊ณ ๋ฐ์ ๊ทํ
- ์ค๋ณต ๊ด๊ณ ์ถ๊ฐ