๋ฐ์ดํฐ๋ฒ ์ด์ค 1์ฃผ์ฐจ ์คํฐ๋ ์ ๋ฆฌ
0. ๋ฉด์ ์ง๋ฌธ
- ํ์ผ์์คํ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐจ์ด์ ์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- DBMS๋ ๋ญ๊น์? ํน์ง์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- ์คํค๋ง๊ฐ ๋ญ๊น์? 3๋จ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
- RDBMS(๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ )๋ ๋ญ๊น์?
- ๋ฆด๋ ์ด์ ์คํค๋ง์ ๋ฆด๋ ์ด์ ์ธ์คํด์ค์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
- ๋ฆด๋ ์ด์ ์ ์ฐจ์์ ์นด๋๋๋ฆฌํฐ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- ํค(Key)์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์. (์ํผํค, ํ๋ณดํค, ๊ธฐ๋ณธํค, ๋๋ฆฌํค, ์ธ๋ํค)
- ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์. (๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ, ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ)
- ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์. (์ค๋ผํดDB, MySQL, MariaDB, MongoDB ๋ฑ)
1. ํ์ผ์์คํ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐจ์ด์ ์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
ํ์ผ์์คํ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก, ๋ฐ์ดํฐ ์ ๊ทผ ๋ฐฉ์๊ณผ ๊ธฐ๋ฅ์ ์ฐจ์ด๊ฐ ์๋ค.
๊ณผ๊ฑฐ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ํ์ผ ์์คํ ์ด๋ผ๋ ์ํํธ์จ์ด ์ด์ฉ
ํ์ผ์ CRUD ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ์ด์์ฒด์ ์ ํจ๊ป ์ค์น๋๋ค.
DB์ ๋ฑ์ฅ ์ ์ ํ์ผ์์คํ ์ด ๊ทธ ์ญํ ์ ๋ด๋นํ์๊ณ , ํ์ผ ์์คํ ์ ๋ฌธ์ ๋ก ์ธํด DB๊ฐ ๋ฑ์ฅํ๊ฒ ๋ ๊ฒ์ด๋ค.
ํ์ผ์์คํ ์ ๋ฌธ์ ์
- ๊ฐ์ ๋ด์ฉ์ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ํ์ผ์ ์ค๋ณต ์ ์ฅ๋๋ค.
- ํ์ผ ์์คํ ์์๋ ์์ฉ ํ๋ก๊ทธ๋จ๋ณ๋ก ํ์ผ์ ์ ์งํ์ฌ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ํ์ผ์ ์ ์ฅ๋ ์ ์๋ค.
- ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ฐ์ดํฐ ํ์ผ์ ์ข ์์ ์ด๋ค.
- ๋ฐ์ดํฐ ํ์ผ์ ๋ํ ๋์ ๊ณต์ , ๋ณด์, ํ๋ณต ๊ธฐ๋ฅ์ด ๋ถ์กฑํ๋ค.
- ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ด ์ด๋ ต๋ค.
- ํ์ผ ์์คํ ์์ ํ์ผ์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ ๊ด๋ฆฌํ๋ ๋ชจ๋ ์์ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ด๋นํ๋๋ฐ ์ด๋ฅผ ๊ฐ๋ฐํ๊ธฐ๊ฐ ์ด๋ ต๋ค.
ํ์ผ์์คํ | DB | |
๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ์ | ํ์ผ ๋จ์ | ๊ตฌ์กฐํ๋ ํ ์ด๋ธ์ ์ ์ฅ |
์ค๋ณต ๋ฐ์ดํฐ | ์ค๋ณต ๋ง์ง ๋ชปํจ | ์ ๊ทํ -> ์ค๋ณต ์ต์ํ |
์์ฉ ํ๋ก๊ทธ๋จ ๋ ๋ฆฝ์ฑ | ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ฐ์ดํฐ ์ ๊ทผ, ๊ด๋ฆฌ | ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ๋
๋ฆฝ์ ์ผ๋ก ์ฌ์ฉ ๋ฐ์ดํฐ๋น์ด์ค๊ฐ ์ฟผ๋ฆฌ๋ก ๋ฐ์ดํฐ์ ์ง์ ์ ๊ทผ |
๋์ ๊ณต์ | ์ ํ์ | ํธ๋์ญ์ ๊ด๋ฆฌ, Lock ์ฌ์ฉ |
๋ณด์ ๋ฐ ํ๋ณต | ๋ถ์กฑ | ๋ณด์ ๊ธฐ๋ฅ(์ํธํ, ์ฌ์ฉ์ ๊ถํ ๊ด๋ฆฌ) ๋ฐ์ดํฐ ํ๋ณต ๊ธฐ๋ฅ(๋ฐฑ์ , ํธ๋์ญ์ ๋ก๊ทธ) |
๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ | ๋ณด์ฅ ๋ชปํจ | ๋ณด์ฅ |
๊ฐ๋ฐ์ ๋ณต์ก์ฑ | ์์ฉ ํ๋ก๊ทธ๋จ์ ์์กดํ์ฌ ๊ฐ๋ฐ์๊ฐ ์ง์ ๋ก์ง์ ๊ตฌํํด์ผ ํ๋ค. | API, ์ฟผ๋ฆฌ ํตํด ์์ ์ํ ๊ฐ๋ฅ |
2. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์๋ ๋ฐ์ดํฐ์ ์ ์ฅ, ๊ด๋ฆฌ, ๊ฒ์ ๋ฐ ์กฐ์์ ์ํ ์ฒด๊ณ์ ์ด๊ณ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ์์คํ
- ๋
๋ฆฝ์ฑ ์ ์ง
- ๋ฐ์ดํฐ์ ํํ๋ฐฉ๋ฒ์ด ๋ณํ๋๋ผ๋ ์์ฉ ํ๋ก๊ทธ๋จ์๋ ์ํฅ์ ๋ฏธ์น์ง ์๋ ์ฑ์ง
- ๋ ผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ & ๋ฌผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ(์๋ ์์ธํ ์ค๋ช )
- ๋ฌด๊ฒฐ์ฑ ์ ์ง
- ๋ฐ์ดํฐ๊ฐ ์ ํด์ง ์ ์ฝ์กฐ๊ฑด์ ํญ์ ๋ง์กฑํ๋๋ก ํ๋ ์ฑ์ง
- ๋ฐ์ดํฐ ๊ฒ์ฆ: ์ ์ฝ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์๋ ๋ฐ์ดํฐ๋ ์ ๋ ฅ ์์ฒด๋ฅผ ๋ธ๋กํนํจ
- (์๋ ์์ธํ ์ค๋ช )
- ์ผ๊ด์ฑ ์ ์ง
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ฟผ๋ฆฌ์ ๋ํ ์๋ต์ด ์ผ์ ํ๊ฒ ์ ์ง๋๋ ์ฑ์ง
- ํธ๋์ญ์ ์ฌ์ฉ(๋ค์ ํํธ์์ ์์ธํ ์ค๋ช -๋งํฌ ์ถ๊ฐ ์์ )
-
๋๋ณด๊ธฐ๊ฐ๋ตํ ์ค๋ช
- ํธ๋์ญ์ ์ด๋?
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํ๋๋ ์์ ์ ๋จ์๋ก, ์ผ๋ จ์ ์์ ์ด ๋ชจ๋ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๊ฑฐ๋ ๋ชจ๋ ์คํจํ๋๋ก ๋ณด์ฅ
- ํธ๋์ญ์ ์ ACID ์์ฑ(์์์ฑ, ์ผ๊ด์ฑ, ๊ฒฉ๋ฆฌ์ฑ, ์ง์์ฑ)์ ๋ง์กฑ
- ์์์ฑ: ํธ๋์ญ์ ์ ๋ชจ๋ ์์ ์ด ์๋ฃ๋๊ฑฐ๋ ์ ํ ์คํ๋์ง ์์์ผ ํจ์ ๋ณด์ฅ
- ์ผ๊ด์ฑ: ํธ๋์ญ์ ์ด ์๋ฃ๋ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ผ๊ด๋ ์ํ๋ฅผ ์ ์งํด์ผ ํจ์ ๋ณด์ฅ
- ๊ฒฉ๋ฆฌ์ฑ: ๋์์ ์คํ๋๋ ํธ๋์ญ์ ๋ค์ด ์๋ก ์ํฅ์ ๋ฏธ์น์ง ์์์ผ ํจ์ ๋ณด์ฅ
- ์ง์์ฑ: ํธ๋์ญ์ ์ด ์๋ฃ๋ ํ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋์ด์ผ ํจ์ ๋ณด์ฅํฉ๋๋ค.
- ๋ณด์์ฑ ๋ณด์ฅ
- ์ ๊ทผ ๊ถํ ์๋ ์ฌ์ฉ์๋ง์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด์ฉ๊ฐ๋ฅํ๋ฉฐ, ๋ฐ์ดํฐ์ ๋ณดํธ๋ฅผ ๋ณด์ฅํ๋ ์ฑ์ง
- ์ค๋ณต์ฑ ์ต์ํ
- ๋ฐ์ดํฐ์ ์ค๋ณต ์ ์ฅ์ ์ค์ฌ ์ผ๊ด์ฑ์ ์ ์งํ๋ ์ฑ์ง
- ์ ๊ทํ(๋ค์ ํํธ์์ ์์ธํ ์ค๋ช -๋งํฌ ์ถ๊ฐ ์์ )
3. DBMS๋ ๋ญ๊น์? ํน์ง์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- DBMS: ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
- ๊ฐ๋ : ํ์ผ ์์คํ ์ ๋ฐ์ดํฐ ์ค๋ณต๊ณผ ๋ฐ์ดํฐ ์ข ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ์๋ ์ํํธ์จ์ด
- ์ฃผ์๊ธฐ๋ฅ
- ์ ์ ๊ธฐ๋ฅ: ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ ํฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ์ ์
- ์กฐ์ ๊ธฐ๋ฅ: DB์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ์ฌ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ ์ ๊ณต
- ์ ์ด ๊ธฐ๋ฅ: ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๊ณต์ ํด๋ ์ ํํ๊ณ ์์ ํ๊ฒ ์ ์งํ๋ ๊ธฐ๋ฅ ์ ๊ณต
- ์ฅ์
- ๋ฐ์ดํฐ ์ค๋ณต ํต์ ๊ฐ๋ฅ
- ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ ํ๋ณด
- ๋ฐ์ดํฐ ๋์ ๊ณต์ ๊ฐ๋ฅ
- ๋ฐ์ดํฐ ๋ณด์ ํฅ์
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ง
- ํ์คํ
- ์ฅ์ ๋ฐ์ ์ ํ๋ณต ๊ฐ๋ฅ
- ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋น์ฉ ๊ฐ์
- ๋จ์
- ๊ด๋ฆฌ ์์คํ ์ ๋ฐ๋ก ์ค์นํด์ผ ํ๊ธฐ์ ๋น์ฉ์ด ๋ง์ด ๋ ๋ค.
- ์ค์ ์ง์ค ๊ด๋ฆฌ๋ก ์ธํ ์ทจ์ฝ์ ์กด์ฌ
- DB๋ DBMS์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ฒด ์ ๋ฌด ์ฒ๋ฆฌ๊ฐ ์ค๋จ๋๋ค.
4. ์คํค๋ง๊ฐ ๋ญ๊น์? 3๋จ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ 3๋จ๊ณ ๊ตฌ์กฐ
- ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ ๋ชจ๋ธ์ 3๋จ๊ณ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์๋ก ๊ฐ์ญํ์ง ์๋ ๋ชจ๋ธ์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ 3๋จ๊ณ๋ก ๋๋์ด ๋จ๊ณ๋ณ๋ก ๋ค๋ฅธ ์ถ์ํ๋ฅผ ์ ๊ณตํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํจ๊ณผ์ ์ธ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ง๋ค.
- ์ธ๋ถ ๋จ๊ณ: ์ง์ฃผ์ธ ๊ด์ / ๊ฐ๋ ๋จ๊ณ: ๊ด๋ฆฌ์ธ ๊ด์ / ๋ด๋ถ ๋จ๊ณ: ๊ฑด์ค ์ ์ฒด ๊ด์
- External Level(๊ฐ๋ณ ์ฌ์ฉ์ ๊ด์ ): ์ฌ์ฉ์์ ๊ฐ๊น์ด ๋จ๊ณ๋ก, ์ฌ์ฉ์๊ฐ ๋ณด๋ ์๋ฃ์ ๋ํ ๊ด์ ๋ถ๋ถ
- ํ์, ๊ต์์ ๋ํ ๋ณ๋ ๋ทฐ๋ฅผ ์ ๊ณตํ์ฌ, ํ์์ ํ์ ๊ด๋ จ ์ ๋ณด๋ง, ๊ต์๋ ๊ต์ ๊ด๋ จ ์ ๋ณด๋ง ๋ณผ ์ ์๋๋ก ํ ๊ฒ
- Conceptual Level(์กฐ์ง ์ ์ฒด ๊ด์ ): ๋ฐ์ดํฐ์ ์ ์ฒด์ ์ธ ๋
ผ๋ฆฌ๊ตฌ์กฐ ์ ์ ๋จ๊ณ, DB์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ํตํฉ ๋ทฐ ์ ๊ณต
- ํ์, ๊ต์, ์์ ์ ๋ฐ์ดํฐ ์ํฐํฐ์ ์ด๋ค ๊ฐ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ
- Internal Level(๋ฌผ๋ฆฌ์ ์ธ ์ ์ฅ์ฅ์น ๊ด์ ): ๋ฐ์ดํฐ๊ฐ ๋ฌผ๋ฆฌ์ ์ ์ฅ,์ ๊ทผ ๊ตฌ์กฐ ์ ์ ๋จ๊ณ
- ๋ฐ์ดํฐ๊ฐ ๋์คํฌ์ ์ด๋ป๊ฒ ์ ์ฅ ๋๋์ง, ์ด๋ค ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋์ง ๋ฑ์ด ํฌํจ๋๋ค.
๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ ์์
- External View: ์ธ๋ถ ๋จ๊ณ์์ ์ฌ์ฉ์์๊ฒ ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ํ ๊ฒ, ๊ฐ ์ฌ์ฉ์๊ฐ ์๊ฐํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ์ต์ ํํํ ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ์ด๊ธฐ์ ์ฌ์ฉ์๋ง๋ค ๋ค๋ฅด๋ค.
- Conceptual Schema: ์กฐ์ง ์ ์ฒด์ ๊ด์ ์์ ์๊ฐํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ค ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋์ง, ๋ฐ์ดํฐ๋ค๊ฐ์ ๊ด๊ณ์ ์ ์ฝ์กฐ๊ฑด์ ๋ํ ์ ์, ๋ฐ์ดํฐ์ ๋ณด์์ ์ฑ , ์ ๊ทผ ๊ถํ์ ๊ด๋ฆฌํ๋ค.
- Internal Schema: ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ ์ฝ๋ ๊ตฌ์กฐ, ํ๋ ํฌ๊ธฐ, ์ธ๋ฑ์ค ์ฌ์ฉ ๋ฐฉ๋ฒ๋ค์ ์ ์ํ๋ค.
์คํค๋ง๋?
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ์ฒญ์ฌ์ง์ผ๋ก, ๊ทธ ์์ ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋๊ณ ์ฐ๊ฒฐ๋๋์ง๋ฅผ ์ค๋ช ํด์ค๋ค.
๋งคํ
- ๊ฐ๊ฐ์ ์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐ๋ผ๋ณด๋ ๊ด์ ์ด ๋ค๋ฅผ ๋ฟ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํํํ๋ค.
- ์ ์: ์คํค๋ง ์ฌ์ด์ ๋์ ๊ด๊ณ
- ๋ชฉ์ : ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ์ ์ํด
๊ฐ๋ ์ /๋ด๋ถ์ ๋งคํ(๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ)
- ๊ฐ๋ ์ ์์ค์ ๋ ์ฝ๋์ ํ๋์ ๋ด๋ถ ์์ค์ ํ์ผ๊ณผ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ์ ๋์ ๊ด๊ณ๋ฅผ ์ ์
์ธ๋ถ/๊ฐ๋ ์ ๋งคํ(๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ)
- ์ธ๋ถ ๊ด์ ๊ณผ ๊ฐ๋ ์ ๊ด์ ์ฌ์ด์ ๋์ ๊ด๊ณ๋ฅผ ์ ์
5. ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
- ์ ์: ํ์ ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํ๋๋ผ๋ ์์ ์คํค๋ง๊ฐ ์ํฅ์ ๋ฐ์ง ์๋ ํน์ฑ
- ๋
ผ๋ฆฌ์ ๋
๋ฆฝ์ฑ
- ๊ฐ๋ ์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋์ด๋ ์ธ๋ถ ์คํค๋ง์๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ํ๋ ๊ฒ
- ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์ด๋ ์ธ๋ถ/๊ฐ๋ ๋งคํ๋ง ์์ ํ๋ฉด ์ง์ ๊ด๋ จ ์๋ ์ธ๋ถ ์คํค๋ง๋ ๋ณ๊ฒฝํ ํ์ ์๋ค.
- ์์
- ๊ฐ๋ ์คํค๋ง์์ ์ฐ๋ฝ์ฒ ๋ฐ์ดํฐ ์ด๋ฆ->์ ํ๋ฒํธ๋ก ๋ณ๊ฒฝ
- ์ธ๋ถ ์คํค๋ง์ ์๋ ์ฐ๋ฝ์ฒ๊ฐ ๊ฐ๋ ์คํค๋ง์ ์ ํ๋ฒํธ์ ๋์ ๋๋ค๊ณ ๋งคํ๋ง ์์ ํ๋ฉด ๋๋ค.
- ๋ฌผ๋ฆฌ์ ๋
๋ฆฝ์ฑ
- ๋ด๋ถ ์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋์ด๋ ์ธ๋ถ/๊ฐ๋ ์คํค๋ง์๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ํ๋ ๊ฒ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์ด๋ ๊ด๋ จ๋ ๊ฐ๋ /๋ด๋ถ ๋งคํ๋ง ์์ ํ๋ฉด ์ง์ ๊ด๋ จ ์๋ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ ์ํฅ ๋ฐ์ง ์๋๋ค.
- ์์
- ๋ด๋ถ ์คํค๋ง์์ ์ฃผ์, ์ฐ๋ฝ์ฒ ํ๋๊ฐ ์ ์ฅ๋์ด์์ ๋ ์ด๋ค์ ์์๊ฐ ๋ณ๊ฒฝ
- ๋งคํ๋ง ์์ ํ๋ฉด ๋๋ค.
6. RDBMS(๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ )๋ ๋ญ๊น์?
์ ์
- RDB๋ฅผ CURDํ๊ณ ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด
- DBMS์ ์ผ์ข ์ด๋ค.
์ข ๋ฅ
- Oracle(์์ฉ), MySQL, PostgreSQL(์ดํ ์คํ์์ค) ๋ฑ
ํน์ง
- ๋ฐ์ดํฐ๋ ํ(๋ ์ฝ๋)๊ณผ ์ด(์์ฑ)๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ ํํ๋ก ์ ์ฅ
- SQL์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ์ ๋ํ ์ฟผ๋ฆฌ, ์ฝ์
, ์
๋ฐ์ดํธ, ์ญ์ ๋ฑ์ ์ํ
- ์ ๋ฐ์ ์ธ DBMS์ ํน์ง๊ณผ ๋น์ทํ๋ค.
7. ๋ฆด๋ ์ด์ ์คํค๋ง์ ๋ฆด๋ ์ด์ ์ธ์คํด์ค์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
๋ฆด๋ ์ด์ ์คํค๋ง=๋ดํฌ=intension
- ์ ์: ๋ฆด๋ ์ด์ ์ด๋ฆ๊ณผ ๋ชจ๋ ์์ฑ์ ์ด๋ฆ์ผ๋ก ์ ์ํ๋ ๋ฆด๋ ์ด์ ์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ
- ๋ฆด๋ ์ด์ ์ด๋ฆ(์์ฑ์ด๋ฆ1, ์์ฑ์ด๋ฆ2, ... ,์์ฑ์ด๋ฆn)
- ์ฆ, ๋ฆด๋ ์ด์ ์คํค๋ง๋ฅผ ๋ณด๋ฉด ์ ์ฒด ๊ตฌ์กฐ๋ฅผ ์ฝ๊ฒ ํ์ ํ ์ ์๋ค.
- ์ ์ ์ด๋ค.
๋ฆด๋ ์ด์ ์ธ์คํด์ค=์ธ์ฐ=extension
- ์ ์: ์ด๋ ํ ์์ ์ ๋ฆด๋ ์ด์ ์ ์กด์ฌํ๋ ํํ์ ์งํฉ
- ํํ์ ๋ฆด๋ ์ด์ ์คํค๋ง์์ ์ ์ํ๋ ๊ฐ ์์ฑ์ ๋์ํ๋ ์ค์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
- ๋์ ์ด๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง & ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค = ๋ฆด๋ ์ด์ ๋ค์ ์งํฉ
- ์์
- ์ผํ๋ชฐ DB = ๊ณ ๊ฐ ๋ฆด๋ ์ด์ & ์ํ ๋ฆด๋ ์ด์ & ์ฃผ๋ฌธ ๋ฆด๋ ์ด์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง
- ์ ์: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด ๊ตฌ์กฐ
- ๋ฆด๋ ์ด์ ์คํค๋ง์ ์งํฉ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค
- ์ ์: ๋ชจ๋ ๋ฆด๋ ์ด์ ์ ์ธ์คํด์ค์ ์งํฉ
8. ๋ฆด๋ ์ด์ ์ ์ฐจ์์ ์นด๋๋๋ฆฌํฐ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
์ ํํ๊ฒ๋ ๋ฆด๋ ์ด์ ๊ณผ ํ ์ด๋ธ์ด ๊ฐ์๊ฒ์ด ์๋์ง๋ง, ์ค๋ช ์ ํธ์๋ฅผ ์ํด ํผ์ฉํด์ ์ฌ์ฉํ๊ฒ ๋ค.
์ฐจ์(Degree)
- ์ ์: ํ ์ด๋ธ์ ์์ฑ์ ์๋ฅผ ๋ํ๋ธ๋ค. ํ๋์ ํ ์ด๋ธ์ ํฌํจ๋ ์ด์ ๊ฐฏ์
- ์ฆ, ์์ฑ์ด ๋ง์์๋ก ํ ์ด๋ธ์ Degree๊ฐ ๋์์ง๋ค.
- ์์: ๊ฐ ์ด์ด ํ๋ฒ, ์ด๋ฆ, ์ด๋ฉ์ผ, ์ ํ๋ฒํธ๋ผ๊ณ ํ ๋ ์ด ํ ์ด๋ธ์ ์ฐจ์๋ 4๊ฐ๋๋ค.
์นด๋๋๋ฆฌํฐ(Cardinality)
- ์ ์: ํํ ์ฆ, ํ์ ์๋ฅผ ๋ํ๋ธ๋ค.
- ์์: ํ๋ฒ:2021123456, ์ด๋ฆ:์ ์ฑ์ฃผ, ์ด๋ฉ์ผ:abc@naver.com, ์ ํ๋ฒํธ:010-1234-5678์ด๋ผ ํ ๋, ์นด๋๋๋ฆฌํฐ๋ 3์ด๋๋ค.
์ ๋ฆฌํ๋ฉด ์ฐจ์๋ ํ ์ด๋ธ์ ์์ฑ์ ์๋ก ํ ์ด๋ธ์ ๊ตฌ์กฐ์ ๋ณต์ก์ฑ์ ํํํ๊ณ , ์นด๋๋๋ฆฌํฐ๋ ํ ์ด๋ธ์ ํํ ์๋ก ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์์ ํํํ๋ค.
9. ํค(Key)์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์. (์ํผํค, ํ๋ณดํค, ๊ธฐ๋ณธํค, ๋๋ฆฌํค, ์ธ๋ํค)
ํค
- ๋จ์ด ๊ทธ๋๋ก ์๋ณ์์ด๋ค. ํ ์ด๋ธ ๋ด์์ ๊ฐ ๋ ์ฝ๋๋ฅผ ์ ์ผํ๊ฒ ์๋ณํ๊ฑฐ๋ ํน์ ํ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋๋ฐ ์ฌ์ฉํ๋ค.
์ํผํค
- ๋ชจ๋ ํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ํ๋์ ์์ฑ์งํฉ์ด๋ค. ์ํผํค๋ ์ ์ผ์ฑ์ ๋ง์กฑ / ์ต์์ฑ์ ๋ง์กฑํ์ง ์์๋ ๋๋ค.
ํ๋ณดํค
- ์ํผํค์์ ์ต์์ฑ์ ๋ง์กฑํ๋ ์งํฉ.
์ํผํค์ ํ๋ณดํค๋ฅผ ์์๋ฅผ ํตํด ๋น๊ตํด ๋ณด๋ฉด
ํ
์ด๋ธ: ํ์
์์ฑ: ํ๋ฒ, ์ด๋ฆ, ์ด๋ฉ์ผ, ์ ํ๋ฒํธ
- ์ํผํค: (ํ๋ฒ, ์ด๋ฆ), (ํ๋ฒ, ์ด๋ฉ์ผ), (ํ๋ฒ,์ ํ๋ฒํธ) ๋ฑ
- ์ด ์กฐํฉ์ ๋ชจ๋ ์ํผํค๊ฐ ๋ ์ ์๋ค. ํ ์ด๋ธ ๋ด ๋ ์ฝ๋๋ฅผ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ํ๋ณดํค: ํ๋ฒ, ์ด๋ฉ์ผ
- ํ๋ฒ๋ง ๊ฐ์ง๊ณ ๋ ํ์์ ์ ์ผํ๊ฒ ์๋ณํ๊ณ , ์ด๋ฉ์ผ๋ง ๊ฐ์ง๊ณ ๋ ์ ์ผํ๊ฒ ์๋ณํ๊ธฐ์ ์ด ๋์ ํ๋ณดํค๋ผ๊ณ ํ ์ ์๋ค.
๊ธฐ๋ณธํค
- ํ๋ณดํค ์ค์ ์ ์ ํ ํค๋ก, ๊ฐ ํ ์ด๋ธ์์ ๊ธฐ๋ณธํค๋ ์ค์ง 1๊ฐ๋ง ์ง์ ํ ์ ์๋ค.
- ๊ธฐ๋ณธํค๋ NULL๊ฐ์ ํ์ฉํ์ง ์๊ณ , ์ ์ผํ ๊ฐ์ ๊ฐ์ง๋ค. ์ด๋ ์ํฐํฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ค.
๋๋ฆฌํค
- ๊ธฐ๋ณธํค๊ฐ ์๋ ํ๋ณดํค
์ธ๋ํค
- ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ๋ ์์ฑ์ ์งํฉ
- ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ๊ณ , ์ธ๋ํค๋ ์ฐธ์กฐ๋ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค์ ์ผ์นํ๋ ๊ฐ์ ๊ฐ์ ธ์ผ ํ๋ค.
- ์ธ๋ํค๋ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๋ค.
10. ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์. (๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ, ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ)
์์์ ์ ๊น ์ค๋ช ํ๋ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ๋ํด์ ์์ธํ๊ฒ ์ค๋ช ํ๊ฒ ๋ค.
๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด
- ์ ์: ๋ฐ์ดํฐ๊ฐ ๊ฒฐํจ์ด ์๋ ์ํ๋ก ์ผ๊ด๋๊ฒ ์ ์งํ๋ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ๊ท์น
- ์ข ๋ฅ: ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ, ๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ ๋ฑ
๋ณด์๊ณผ์ ์ฐจ์ด
- ๋ณด์: ๊ถํ ์๋ ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธ
- ๋ฌด๊ฒฐ์ฑ: ๊ถํ ์๋ ์ฌ์ฉ์์ ์๋ชป๋ ์๊ตฌ์ ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธ
๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด
- ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ๋ชจ๋ ์์ฑ์ ๋ ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
- ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ ์ ์ฒด๋ ์ผ๋ถ๊ฐ ๋์ด ๋๋ฉด ํํ์ ์ ์ผ์ฑ์ ํ๋จํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ด๋ฅผ ๋ง์กฑ์ํค๊ธฐ ์ํด ์๋ก์ด ํํ์ด ์ฝ์ ๋๋ ์ฐ์ฐ๊ณผ ๊ธฐ์กด ํํ์ ๊ธฐ๋ณธํค ์์ฑ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ ์ฐ์ฐ์ด ๋ฐ์ํ ๋ ๊ธฐ๋ณธํค์ ๋ ๊ฐ์ด ํฌํจ๋๋ ์ํฉ์์๋ ์ฐ์ฐ์ ์ํ์ ๊ฑฐ๋ถํ๋ค.
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด
- ์ธ๋ํค๋ ์ฐธ์กฐํ ์ ์๋ ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
- ์ธ๋ํค๊ฐ ์์ ์ด ์ฐธ์กฐํ๋ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค์ ์๊ด์ด ์๋ ๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ฉด ๋ ๋ฆด๋ ์ด์ ์ ์ฐ๊ด์ํฌ ์ ์์ผ๋ฏ๋ก ์ธ๋ํค์ ์๋ฏธ๊ฐ ์์ด์ง๋ค.
- ์ธ๋ํค๋ ๋ ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
์ถ๊ฐ!! ์ธ๋ํค๊ฐ ๋ ๊ฐ์ ๊ฐ์ง ์ ์๋ ์ด์
ํน์ ์ํฉ์์ ์ธ๋ ํค๊ฐ ์ฐธ์กฐํ๋ ๊ฐ์ ๊ฐ์ง์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ํํํ๊ธฐ ์ํจ์ด๋ค.
A์์ B์ ID๋ฅผ ์ฐธ์กฐํ๋ค๊ณ ํ ๋, B์ ID๊ฐ ์์ง ์ ํด์ง์ง ์์ ๊ฒฝ์ฐ๋ฅผ ํํํด์ผ ํ๋ค.
์์ง ID๊ฐ ์์์ ํํํ๊ธฐ ์ํด์ ๋ ๊ฐ์ ์ธ๋ํค๊ฐ ๊ฐ์ง ์ ์์ด์ผํ๋ค.
๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด
- ๊ฐ ์์ฑ์ ๊ฐ์ ์ ์ํ ๋๋ฉ์ธ์ ์ํ ๊ฐ์ด์ด์ผ ํ๋ค.
- ์์
- ๋์ด๋ฅผ ์์๋ก ์ง์ ํ๋ค๋ฉด -> ์์๋, 0์ด ๋ค์ด๊ฐ ์ ์๋ค.
ํค ์ ์ฝ์กฐ๊ฑด
- ํค ์์ฑ์ ์ค๋ณต๋ ๊ฐ์ด ์ ์๋๋ฉด ์๋๋ค.
11. ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์. (์ค๋ผํดDB, MySQL, MariaDB, MongoDB ๋ฑ)
(MySQL์ ์ฌ์ฉํ๋ค๋ฉด) MySQL ์์ง์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
MySQL์ ์ฃผ์ ๊ตฌ์กฐ
- ํด๋ผ์ด์ธํธ
- ์ ์: ์๋ฒ์ ์ฟผ๋ฆฌ๋ฅผ ์ ์กํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ ์ฃผ์ฒด
- ์๋ฒ
- ์ ์: ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ์ฃผ์ฒด
- ์ฟผ๋ฆฌ ์ฒ๋ฆฌ ๋จ๊ณ
- ์ฟผ๋ฆฌํ์
- ์ญํ : SQL ์ฟผ๋ฆฌ๋ฅผ ํ์ฑํ์ฌ ์ฟผ๋ฆฌ์ ๋ฌธ๋ฒ์ ๊ฒ์ฌํ๊ณ , ์ฟผ๋ฆฌ๋ฅผ ๋ด๋ถ์ ์ธ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๋ณํ
- ์ ์ฒ๋ฆฌ๊ธฐ
- ์ญํ : ํ์๊ฐ ๋ง๋ ํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฟผ๋ฆฌ์ ์ ํจ์ฑ ๊ฒ์ฆ, ์ ๊ทผ ๊ถํ ํ์ธ
- ์ตํฐ๋ง์ด์
- ์ญํ : ํ์คํธ๋ฆฌ๋ฅผ ์คํ ๊ณํ์ผ๋ก ๋ฐ๊พผ๋ค.
- ์ฟผ๋ฆฌ ์ฌ์์ฑ, ์ธ๋ฑ์ค ์ ํ, ๋น์ฉ ๊ธฐ๋ฐ ๋ฐ ๊ท์น ๊ธฐ๋ฐ ์ต์ ํ๋ฅผ ํตํด ์ฑ๋ฅ์ ํฅ์
- ์คํ ์์ง
- ์ญํ : ์ต์ ํ๋ ์คํ ๊ณํ์ ๊ธฐ๋ฐ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ , ์คํ ๋ฆฌ์ง ์์ง์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญ
- ์ฟผ๋ฆฌํ์
- ์คํ ๋ฆฌ์ง ์์ง
- ์ ์: ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ด๋ฆฌ์ ์ค์ ๊ตฌํ์ ๋ด๋นํ๋ ์ปดํฌ๋ํธ
- ์ญํ : ๋์คํฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ฉฐ, ์ธ๋ฑ์ค ๊ด๋ฆฌ, ํธ๋์ญ์ ์ฒ๋ฆฌ ๋ฑ์ ์ํ
- ์คํ์์ง์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋์คํฌ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋ฉฐ, ์ฌ๋ฌ ๊ฐ๋ฅผ ๋์์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- ์: InnoDB๋ฅผ ์ฃผ๋ก ์ฐ๋ฉฐ, ์ฌ๋ฌ ์คํ ๋ฆฌ์ง ์์ง ์กด์ฌ
- ๋์คํฌ ๋ฐ ํ์ผ ์์คํ
- ์ญํ : ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์ด ์ ์ฅ๋๋ ๋ฌผ๋ฆฌ์ ์ ์ฅ ์ฅ์น
- ๋ฉํ๋ฐ์ดํฐ
- ์ญํ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ์ ์ํ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅ
- ์บ์
- ์ญํ : ์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ์ฌ, ๋์คํฌ I/O๋ฅผ ์ค์ด๊ณ ์ฑ๋ฅ์ ํฅ์
(MongoDB์ ์ฌ์ฉํ๋ค๋ฉด) MongoDB์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
MongoDB๋ NoSQL(Not only SQL)์ ์ผ์ข ์ด๋ค. NoSQL์ด๋?
- RDBMS์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ์๋ก์ด ํํ์ ๋ฐ์ดํฐ์ ์ฅ์
- RDBMS์ฒ๋ผ ๊ณ ์ ๋ ์คํค๋ง๊ฐ ์กด์ฌํ์ง ์์
์ NoSQL์ ์ฌ์ฉํ ๊น?
- ๋ฐ์ดํฐ์ ๋ํ ์ ๊ทผ์์ read, write๊ฐ ์๋๋ฐ, read์ ๋น๋๊ฐ ๋ง์ ๊ฒฝ์ฐ RDMBS์ ์ฑ๋ฅ์ด ์ข์ ํธ์ด๋ค. ํ์ง๋ง write์ ๋น๋๊ฐ ๋ง์์ง๊ฒฝ์ฐ RDMBS์ ์ฑ๋ฅ์ด ๋ฏ์ด์ง๊ฒ ๋๊ณ , ์ด๋ก ์ธํด NoSQL๊ณผ redis๋ฑ์ ๊ณ ๋ คํ๊ฒ ๋๋ค.
NoSQL์ ์ข ๋ฅ
๊ฐ DB๋ง๋ค ๊ธฐ๋ฐ์ผ๋กํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ๋ค๋ฅด๊ณ ์ด๋ฅผ ๊ฐ๋ตํ ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ๋ค.
- Document Store: MongoDB
- Key/Value Store: redis
- Wide Column Store: cassandra
- Graph Store: allegrograph
MongoDB๋?
- MongoDB๋ document ๊ธฐ๋ฐ์ NoSQL DB
- BSON(Binary JSON) ๊ธฐ๋ฐ์ Document ๋ก ๋ฐ์ดํฐ ๊ด๋ฆฌ
- JSON ๋ณด๋ค ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ ์ฉํ๋ฉฐ, BSON์ ์ด์ง ํ์์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
- ์ค๋ฉ์ ํตํด ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์๋ฒ์ ๋ถ์ฐํ๊ฒ ๋์ด ์ํ ํ์ฅ์ฑ์ด ๋๊ณ , ๊ทธ์ ๋ฐ๋ผ ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ ํฉํ๋ค.
RDBMS์์ ๋น๊ต
RDBMS | MongoDB |
Database | Database |
Table | Collection |
Tuple, Row, Record | Documment |
Column | Key, Value |
Primary Key | id |
์ถ์ฒ
https://www.youtube.com/watch?v=8PRkLItDwXQ
https://cloud.google.com/learn/what-is-a-relational-database?hl=ko
https://www.javatpoint.com/dbms-three-schema-architecture
https://velog.io/@cchloe2311/๋๋น-ํค
https://velog.io/@cwg5656/DB-ํ ์ด๋ธTable-์ฉ์ด-์ ๋ฆฌ
https://product.kyobobook.co.kr/detail/S000001743852
๋ฉด์ ํผ๋๋ฐฑ
์ข์ ์
- ์ด๋ฏธ ์ ์๊ณ ์๋ ๊ฐ๋ ๊ฐ๋ค.
- ๊ผฌ๋ฆฌ์ง๋ฌธ์ ๋ํด์ ์๋์ง์ ๋ํ ํ๋จ์ ๋น ๋ฅด๊ฒ ํ ํ ๊ณผ๊ฐํ๊ฒ ๋ชจ๋ฅด๊ฒ ๋ค๊ณ ํ ๋ถ๋ถ -> ์ํฉ ๋์ฒ ๋ฅ๋ ฅ
- ๋๊ด์ ์ค๋ช
๊ณผ ์์ ์ค๋ช
๋ฐ ํน์ง์ ๋งค๋๋ฝ๊ฒ ์ด์ด๊ฐ๋๊ฒ ์ข์๋ค.
- ํน์ง์ ์ด์ ์ ์ด๋ค ๋ฐฉ์์ผ๋ก ์ ์ฉํ๋์ง์ ๋ํ ๊ตฌ์ฒด์ ์ค๋ช ์ข๋ค.
- ๊ฐ๋ ์ค๋ช ๊ณผ ์์์ ์์ด ๋ฐธ๋ฐ์ค ์๋ค.
๋ถ์กฑํ์
- ํ์ ์ ํ๊ณ ์์ด๋ณด์
- ๊ผฌ๋ฆฌ์ง๋ฌธ์ ๋ํด์ ๋ฐ๋ก ๋ชจ๋ฅธ๋ค๋ ๋ต๋ณ๋ณด๋ค ๊ณ์ ์ง๋ฌธ์ ์ด์ด๊ฐ๋ฉฐ ์ํตํ๋ ๋ฐฉ์์ ์ทจํด๋ณด์
๋ฉํ ๋ ์ฝ๋ฉํธ
- ์ผ๋ง๋ ์์ธํ ๋ต๋ณํ๋๊ฒ ์ข์๊น?๋ผ๋ ์ง๋ฌธ
- -> ์ง๋ฌธ์ ๋ํด์๋ ๊ฐ๋จํ๊ฒ ํต์ฌ๋ง ๋งํ์, ๋ ๊ถ๊ธํ๊ฒ ์์ผ๋ฉด ๊ผฌ๋ฆฌ ์ง๋ฌธ ํ๊ฒ ์ง!