1.0 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋, ๋ฐ์ดํฐ๋ค์ด ๋ชจ์ฌ์๋ ์ด๋ค ๊ธฐ์ง๋ฅผ ์๋ฏธ.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS)๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด๊ณ .
์๋ฅผ ๋ค์ด, MySQL, Oracle, Maria DB, Postgres SQL ๋ฑ์ด DBMS์.
๊ธฐ์กด์ DBMS๋ค์ด ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์ด ๋ฐ์ดํฐ - ๋น ๋ฐ์ดํฐ - ๊ฐ ๋์ด์ ๋ฐ๋ผ์, ์๋ก์ด ์ข ๋ฅ์ DBMS๋ค์ด ๋์ค๊ฒ ๋จ.
๋น ๋ฐ์ดํฐ์ ํน์ฑ :
- ๋ณผ๋ฅจ : ๋ฐ์ดํฐ๊ฐ ๋ง๋ค
- ๋ค์์ฑ : ๋น์ ํ์ ์ธ ๋ฐ์ดํฐ๋ค์ ๋ฑ์ฅ.
- ์ค์๊ฐ์ฑ : ๋ฐ์ดํฐ๋ฅผ ์์ฒญ ๋นจ๋ฆฌ ์ฒ๋ฆฌํด์ผ ํ๊ฒ ๋จ.
๋ฐ๋ผ์, NoSQL์ ๋ฑ์ฅ.
SQL์, ๊ธฐ์กด์ DBMS๋ค์์ ์ฌ์ฉํ๋, ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ์ธ์ด์ธ๋ฐ, NoSQL์ Not Only SQL์ ์ฝ์๋ก์ SQL ๋ฟ๋ง ์๋๋ผ ๋ญ๊ฐ ๋ ํ ์ ์์ด์ผ ํจ. ๊ทธ๋์ MongoDB, HBase ๋ฑ์ NoSQL DBMS๋ค์ด ๋ฑ์ฅํจ.
์, ๊ทธ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋?
์กฐ์ง์ฒด์ ์์ฉ ์์คํ ๋ค์ด ๊ณต์ ํด์ ์ฌ์ฉํ๋, ์ด์๋ฐ์ดํฐ๋ค์ด ๊ตฌ์กฐ์ ์ผ๋ก ํตํฉ๋ ๋ชจ์.
์์ ์๋ ํ๋์ ํ์ฌ์์๋ ๊ฐ ๋ถ์๊ฐ, ๊ฐ๋ณ์ ์ผ๋ก ๋ณธ์ธ ๋ชฉ์ ์ ๋ง๋ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํด์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ์ง๋ง, ์ด๋ฌ๋ค๋ณด๋ ์ผ๊ด์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ, ๊ฐ ๋ถ์๋ค์ด ๊ณต์ ํด์ ์ฌ์ฉํ์ ~ -> ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ํตํฉํ์ !! ํด์ ๋์ด.
๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง์ผ๋ก๋,
๋๊ท๋ชจ ๋ฐ์ดํฐ์ด๋ฉฐ, ์ฌ๋ฌ ๋ถ์์ ์ฌ๋ฌ ์ฌ์ฉ์๋ค์ด ๋์์ ์ฌ์ฉํ๋ค๋ ํน์ง์ด ์๋ค.
๋ํ, ์ด์ ๋ฐ์ดํฐ + ๋ฉํ ๋ฐ์ดํฐ(๋ฐ์ดํฐ์ ๊ดํ ๋ฐ์ดํฐ - coumn ์ด๋ฆ๋ค ๋ฑ) ๊น์ง ํฌํจํจ.
๊ทธ๋์ ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ, ์ฐ๋ฆฌ๊ฐ ๊ด๋ฆฌํ๊ฒ ์ฝ๊ฒ ํด์ฃผ๋ ๊ฒ์ด DBMS์ด๊ณ ,
DBMS๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์ ์ํ๊ณ , ์ง์์ด๋ฅผ ์ง์ํ๊ณ , ๋ฆฌํฌํธ๋ฅผ ์์ฑํ๋ ๋ฑ์ ์์ ์ ์ํํ๋ ์ํํธ์จ์ด๋ฅผ ์๋ฏธํ๊ฒ ๋๋ค ~
1.1 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ๊ฐ์
๋จผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋, ์ ์ฒด์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ์๋ฏธํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋, ํน์ ์์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ด์ฉ์ ์๋ฏธํจ.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์, ์ ์ฅ์ฅ์น, DBMS, ์ฌ์ฉ์, ์์ฉ ํ๋ก๊ทธ๋จ(์ด ์์ฉ ํ๋ก๊ทธ๋จ์ ํตํด DBMS๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํจ) ๋ก ๊ตฌ์ฑ๋์ด ์์.
DBMS๋, ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๋ค๋ฃจ๋๋ก… ํ๋ ์ํํธ์จ์ด ํจํค์ง๋ก,
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด๋ผ๊ณ ๋ถ๋ฅด๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ํ ๊ฐ ์ด์ ์ ๊ณตํจ. - SQL์ด๋ผ๋ ์ง์ ์ธ์ด๊ฐ ํ์ค์ผ๋ก ์ ๊ณต๋จ.
์ปดํจํฐ ์์คํ ์์, DBMS๋ ์ด์์ฒด์ ์์ ์์นํจ.
๋ฐ๋ผ์, DBMS๋ ์์ฉ ์ํํธ์จ์ด(์ผ๋ฐ ์ฌ์ฉ์๋ค์ ์ํด ๋ง๋ค์ด ๋๋ application)์ด๋ผ๊ธฐ ๋ณด๋จ, ์์คํ ์ํํธ์จ์ด(middleware, ํน์ end user๋ฅผ ๋ชฉ์ ์ ๋์ง ์๊ณ , ์์คํ ์ด์์ ํ์ํ ๊ฑฐ)๋ผ๊ณ ๋ณผ ์ ์์.
์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ฐ๋๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋์คํฌ์ ๊ฐ์ ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น์ ์ ์ฅ๋จ. ๊ทธ๋์ DBMS์์ ์ํ๋ ์ ๋ณด๋ฅผ ์ฐพ๊ธฐ ์ํด์, ๋์คํฌ์ ๋ธ๋ก๋ค์ ์ฃผ๊ธฐ์ต ์ฅ์น๋ก ์ฝ์ด๋ค์.
๋ํ, DBMS ์์ฒด๋ ์ฃผ๊ธฐ์ต ์ฅ์น์ ์ ์ฌ๋์ด ์คํ๋์ด์ผ ํจ.
์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์,
... ์ด๋ฐ ์๊ตฌ์ฌํญ์ด ์๋๋ฐ, ๋์ค์ ํ๋ํ๋ ๋ฐฐ์ธ ๊ฒ.
1.2 ํ์ผ ์์คํ vs. DBMS
์ ๊ทธ๋ผ ์ด๋ฐ ์๊ตฌ์ฌํญ์ด ์ด๋ป๊ฒ ๋์ค๊ฒ ๋์๋์ง, ์ญ์ฌ๋ฅผ ์์๋ณด์ ~
1.2.1 ํ์ผ ์์คํ ์ ์ฌ์ฉํ ๊ธฐ์กด์ ๋ฐ์ดํฐ ๊ด๋ฆฌ
์ด์ฐฝ๊ธฐ์, DBMS ์ ํ์ด ์ ๋์์ ๋๋ ๊ฐ์ ๋ณธ์ธ ๋ชฉ์ ์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด์ ์ผ์.
ํ์ผ ์์คํ ์๋ค๊ฐ ๋ฐ์ดํฐ ํ์ผ์ ์ ์ฅํ๊ณ , ํ๋ก๊ทธ๋จ์ด ๊ทธ๊ฑฐ ์ฝ์ด์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์.
- ํ์ผ์ ์ ๊ทผํ๋ ๋ฐฉ์์ด ์์ฉ ํ๋ก๊ทธ๋จ ๋ด์ ์์ธํ๊ฒ ํํ๋๋ฏ๋ก, ๋ฐ์ดํฐ์ ๋ํ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์กด๋๊ฐ ๋์.
- ๋ฐ์ดํฐ๊ฐ, ๋ง์ ํ์ผ์ ์ค๋ณตํด์ ์ ์ฅ๋จ.
- ๋ค์ ์ฌ์ฉ์๋ค์ ์ํ ๋์์ฑ ์ ์ด๊ฐ ์ ๊ณต๋์ง ์์.
- ๊ฒ์์ ์ฝ๊ฒ ํ๊ธฐ ์ํ ์ง์์ด๊ฐ ์ ๊ณต๋์ง ์์.
- ๋ณด์ ์กฐ์น๋ ์๊ณ , ํ๋ณต ๊ธฐ๋ฅ๋ ์๊ณ , ๋ฑ๋ฑ…
์ ๋จ์ ์ด ์์ด์, DBMS๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ฒ ๋จ.
1.2.2 DBMS๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ฆฌ
๊ทธ๋์, ์ด๋ฐ ๋จ์ ๋ค์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ์ข ๋ ์ฝ๊ฒ ํ๊ธฐ ์ํ ์ํํธ์จ์ด, DBMS์ ํ์.
ํ๋ก๊ทธ๋จ - ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ (program-data independence)์ด ์์ด์, ํ๋ก๊ทธ๋จ์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ ๋ณ๊ฒฝ ๊ฐ๋ฅํด์ง.
1.3 DBMS ๋ฐ์ ๊ณผ์
“๋งํฌ”๋ผ๋ ๋ฌผ๋ฆฌ์ ์ธ ์ ์ฅ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ดํฐ๋ค์ ๊ด๊ณ๋ฅผ ํํํ
๊ณ์ธต DBMS - ํธ๋ฆฌ ๊ตฌ์กฐ ๊ธฐ๋ฐ์ ๊ณ์ธต ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ DBMS.
๋คํธ์ํฌ DBMS - ๊ทธ๋ํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ.
๋ฅผ ๊ฑฐ์ณ,
๊ด๊ณ DBMS - ๋ฐ์ดํฐ๋ฅผ ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ๋ก ํํํ๋ ๊ฒ. ๊ฐ ๋์๊ณ ,
๊ธฐ์กด์ ๋คํธ์ํฌ / ๊ด๊ณ DBMS์์ ์ ๋๋ก ํํํ ์ ์์๋ ๋ณต์กํ ํํ์ ๋ฐ์ดํฐ๋ค์ ํํํ ์ ์๊ฒ ๋ ๊ฐ์ฒด ์งํฅ DBMS๊ฐ ๋์ค๊ณ ,
ํ์ฌ๋ ๋ค
๊ด๊ณ DBMS์ ๊ฐ์ฒด ์งํฅ DBMS๊ฐ ๊ฒฐํฉ๋ ํํ์ธ, ๊ฐ์ฒด ๊ด๊ณ DBMS์.
์ด๊ฑธ ์ฐ๋ฆฌ๋ ๊ทธ๋ฅ ๊ด๊ณ DBMS๋ผ๊ณ ํจ. (๋ณดํต ๊ด๊ณ DBMS๊ฐ ๊ฐ์ฒด ์งํฅ DBMS์ ํน์ฑ์ ํก์ํ ๊ฑฐ๋ผ์)
๊ทธ๋์, ์ฐ๋ฆฌ๋ ๊ด๊ณ DBMS๋ฅผ ๋ฐฐ์ธ ๊ฒ.
๊ทธ๋์ ํ๋ ๊ด๊ณ DBMS์ ๊ธฐ๋ฅ๋ค์
- ํจ์จ์ ์ธ ์ง์ ์ฒ๋ฆฌ (๊ณ ์ DBMS๋ ๊ฐ์ก๋ ํต์ฌ ๊ธฐ๋ฅ)
- ๊ณ ๊ธ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ง์ (SQL, ์์ฐ์ด, ํผ ๊ธฐ๋ฐ ๋ฑ..)
- ํธ๋์ญ์ ๊ฐ๋ ์ ์ง์ (๊ณ ์ DBMS๋ ๊ฐ์ก๋ ๊ธฐ๋ฅ)
- ํน๋ณํ ๋ฐ์ดํฐ ํ์ ์ง์ (long field, ์ด๋ฏธ์ง, HTML, ๊ณต๊ฐ ์ ๋ณด ๋ฑ)
- ๊ฐ์ฒด์งํฅ๊ฐ๋ , ์น ์ธํฐํ์ด์ค, .. ๋ฑ๋ฑ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํด์ค๋ค.
์ ๊ฐ๋ค !
1.4 DBMS ์ธ์ด
์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ accessํ ์ ์๋๋ก ๋์์ฃผ๋ ์ง์ ์ธ์ด.
1.4.1 ๋ฐ์ดํฐ ์ ์์ด (DDL: Data Definition Language)
: ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ์ ์(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ์ ์)ํ ๋ ์ฌ์ฉ.
- CREATE TABLE : ํ ์ด๋ธ์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ
- ALTER TABLE : ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ ๋ ์ฌ์ฉ (ํ๋๋ฅผ ํ๋ ๋ ์ถ๊ฐํด์ผ๊ฒ ๋ค? ์ด ํ๋ ๋ ํ์ ์๋ค?)
- DROP TABLE : ๋ง๋ค์ด์ง ํ ์ด๋ธ์ ์ ๊ฑฐ
- CREATE INDEX : ํน์ ๋ ์ฝ๋๋ค์ ๋น ๋ฅด๊ฒ ์ฐพ๊ธฐ ์ํด ์ธ๋ฑ์ค๋ฅผ ๋ง๋ฆ.
1.4.2 ๋ฐ์ดํฐ ์กฐ์์ด (DML: Data Manipulation Language)
: DB ์์ ๋ค์ด๊ฐ ์๋ ํน์ ๋ ์ฝ๋๋ค์ ๊ฒ์/์์ /์ญ์ ํ ๋ ์ฌ์ฉ.
→ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์๋ ๋ ์ฝ๋๋ค์ด ์ํฅ์ ๋ฐ๊ฒ ๋จ. (๋ฉํ ๋ฐ์ดํฐ๊ฐ ์๋๋ผ)
- SELECT : ๋ ์ฝ๋๋ค์ ๊ฒ์
- UPDATE : ๋ ์ฝ๋์ ์๋ ํ๋ ๊ฐ ์์
- DELETE : ๋ ์ฝ๋ ์ญ์
- INSERT : ๋ ์ฝ๋ ์ฝ์
1.4.3 ๋ฐ์ดํฐ ์ ์ด์ด (DCL : Data Control Language)
→ ๋ค์ ์ฐ๋ฆฌ๊ฐ Transaction์ด๋ผ๋ ๊ฑธ ๋ฐฐ์ธ ํ ๋ฐ, ์ด Transaction์ ๋ช ์ํ๊ฑฐ๋, ๋๋ ๊ถํ์ ๊ด๋ จ๋ ๊ฑฐ๋ฅผ ๋ถ์ฌํ๊ฑฐ๋ ์ทจ์ํ๋ ๊ฒ ๋ฑ๋ฑ์ ํ๋ ๊ฒ.
1.5 DBMS ์ฌ์ฉ์
DBMS์ ๋ค์ํ ์ข ๋ฅ์ ์ฌ์ฉ์๋ค์ด ๊ด์ฌ๋์ด ์๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์, ์คํผ๋ ์ดํฐ (์์คํ ์คํผ๋ ์ดํฐ), ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์, ์์ฉ ํ๋ก๊ทธ๋๋จธ, ์ต์ข ์ฌ์ฉ์(end user)
-> ํ ์ฌ์ฉ์๊ฐ ์ด์ ํ ๋จ์๊ฐ ๋ ์๋, ํ ๋ช ์ด ์ด ์ ์ฒด ์ฌ์ฉ์์ ์ญํ ์ ๋ค ๋ด๋นํ ์๋ ์๋ค. (๊ธฐ์ ์ ๊ท๋ชจ์ ๋ฐ๋ผ..)
1.6 ANSI/SPARC ์ํคํ ์ฒ์ ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ
1.6.1 ANSI/SPARC ์ํคํ ์ฒ
: ํ์ฌ ๋๋ถ๋ถ์ ์์ฉ DBMS๋ฅผ ๊ตฌํํ ๋ ์ฌ์ฉ๋๊ณ ์๋ ์ํคํ ์ณ.
- ์ธ๋ถ ๋จ๊ณ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ ์ฌ์ฉ์๊ฐ ๊ฐ๋ ๋ทฐ.
- ๊ฐ ์ฌ์ฉ์๋ค์ ๊ฐ์์ ๋ชฉ์ ์ ๋ง๋ ์ผ๋ถ๋ง์ ๋ณด๋๊น, ์ ์ฒด ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฐ ์ฌ์ฉ์์ ๋ง๋ ๋ทฐ๋ฅผ ์ ๊ณตํด์ฃผ๋ ๊ฒ.
- ๋์ผํ ๊ฐ๋ ๋จ๊ณ๋ก๋ถํฐ ์๋ก ๋ค๋ฅธ ๋ทฐ๊ฐ ์ ๊ณต๋๋ ๊ฒ.
- ๊ฐ๋ ๋จ๊ณ : ์กฐ์ง์ ๊ณตํต์ ์ธ ๋ทฐ๋ฅผ ๋ํ๋ด๋ ๊ฒ. ๊ณตํต์ ์ผ๋ก ์ฐ๋ฆฌ๊ฐ ํํํ ๊ฑฐ๋ผ, ํ๋ ๋ฟ.
- ๋ด๋ถ ๋จ๊ณ : ๋ฌผ๋ฆฌ์ ๋๋ ์ ์ฅ ๋ทฐ. ๊ถ๊ทน์ ์ผ๋ก ๊ฐ๋
์ ์ธ ๊ฒ๋ค์ด ๋ฌผ๋ฆฌ์ ์ธ ์ฅ์น์ ์ ์ฅ๋์ด์ผ ํ๋, ์ด๊ฑธ ๊ด๋ฆฌํด์ฃผ๋ ๋จ๊ณ.
- ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์ ์ฅ๋์ด ์๋๊ฐ! ์ค์ง์ ์ผ๋ก ๋ฌผ๋ฆฌ์ ์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ดํ ์คํค๋ง๋ฅผ ํํ.
- ๊ฐ์ฅ ํ๋์จ์ดํ๊ณ ๋ฐ์ ํ ๋จ๊ณ. ํ๋์จ์ด์ ๋ฐ์ดํฐ๊ฐ ์ค์ง์ ์ผ๋ก ์ด๋ป๊ฒ ์ ์ฅ๋๋์ง๋ฅผ ๋ํ๋ด๋ ๊ฒ.
์ฌ๊ธฐ์ ์ธ๋ถ/๊ฐ๋ ์ฌ์, ๊ฐ๋ /๋ด๋ถ ์ฌ์์, ๊ฐ ๋จ๊ณ๋ค ์ฌ์ด์ mappingํด์ฃผ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
1.6.2 ์คํค๋ง ๊ฐ์ ์ฌ์
1. ์ธ๋ถ/๊ฐ๋ ์ฌ์
: ์ธ๋ถ ๋จ๊ณ์ ๋ทฐ๋ฅผ ์ฌ์ฉํด์ ์ ๋ ฅ๋ ์ฌ์ฉ์์ ์ง์๋ฅผ, ๊ฐ๋ ๋จ๊ณ์ ์คํค๋ง๋ฅผ ์ฌ์ฉํ ์ง์๋ก ๋ณํํ๋ ๊ฒ.
2. ๊ฐ๋ /๋ด๋ถ ์ฌ์
: ํ ์ด๋ธ ๊ตฌ์กฐ๋ก mapping์ ๋์ด์์ง๋ง ์ค์ง์ ์ผ๋ก ๋ฐ์ดํฐ๋ ๋ฌผ๋ฆฌ์ ์ธ ์ ์ฅ ๊ณต๊ฐ์ ์์ผ๋, ์ด๋ฅผ ๋ค์ ๋ด๋ถ ๋จ๊ณ์ ์คํค๋ง๋ก ๋ณํํด์ ๋์คํฌ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๊ทผํ๋๋ก ํด์ฃผ๋ ๊ฒ.
์ด๋, ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ - ์์ ๋จ๊ณ์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉด์, ์ด๋ค ๋จ๊ณ์ ์คํค๋ง ์ ์๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ๊ฒ - ์ด ์ ๊ณต๋จ.
- ๋
ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ: ๊ฐ๋
์คํค๋ง๊ฐ ๋ณํํด๋ ์ธ๋ถ ์คํค๋ง๊ฐ ์ํฅ์ ๋ฐ์ง ์๊ฒ๋ํจ.
- ์ธ๋ถ/๊ฐ๋ ์ฌ์์ ์กด์ฌ
- ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ : ๋ด๋ถ ์คํค๋ง์ ๋ณํ๊ฐ ๊ทธ ์ ๋จ๊ณ์ธ ๊ฐ๋
์คํค๋ง์ ์ํฅ์ ๋ฏธ์น์ง ์๊ณ , ๋ฐ๋ผ์ ๊ทธ ์์ ์๋ ์ธ๋ถ ์คํค๋ง์๋ ์ํฅ์ ๋ฏธ์น์ง ์๋ ๊ฒ
- ๊ฐ๋ /๋ด๋ถ ์ฌ์์ ์กด์ฌ
1.7 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ํคํ ์ฒ
1.7.1 ์ค์ ์ง์ค์ / ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
- ์ค์ ์ง์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ (centralized database system)
: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ด ํ๋์ ์ปดํจํฐ ์์คํ ์์ ์ด์๋จ.
: ์๋ฒ ํ๋์ DBMS๊ฐ ๋ค์ด๊ฐ ์์ด์, ๋ค๋ฅธ ํด๋ผ์ด์ธํธ๋ค์ ์์ ๊ฐ์ด ๋คํธ์ํฌ๋ฅผ ํตํด DBMS์ accessํจ.
- ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ (distributed database system)
: DBMS ์ํํธ์จ์ด๊ฐ, ํ๋์ ์ฌ์ดํธ(ํ๋์ ๋จธ์ )์ ์๋๊ฒ ์๋๋ผ ์ฌ๋ฌ ๋จธ์ ์ ์ค์น๋์ด ์์. ๊ทธ๋ฆฌ๊ณ ์ด DBMS๋ค์ด ์๋ก ํ๋ ฅํด์ ์ปค๋ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ฑํจ.
1.7.2 ํด๋ผ์ด์ธํธ-์๋ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ (client-server database system)
์๋ ์ ํ๋ ๋ฐฉ์ : ํค๋ณด๋ ์ ๋ ฅ์ ๋ด๋ฆฌ๋ฉด, DBMS๊ฐ ์ค์น๋์ด ์๋ ์๋ฒ๋ก ํค๋ณด๋ ์ ๋ ฅ์ด ๊ฐ์, ๊ฑฐ๊ธฐ์ ๋ช ๋ น์ด๊ฐ ์ฒ๋ฆฌ๊ฐ ๋ผ์ ๊ฒฐ๊ณผ๋ง์ด ๋ค์ ์ด ๋ชจ๋ํฐ๋ก ์ถ๋ ฅ์ด ๋๋ ๋ฐฉ์.
→ ์์ฒด์ ์ผ๋ก ์ปดํจํ ํ์๋ฅผ ๊ฐ์ง๋ PC๊ฐ ๋ฑ์ฅํ๋ฉด์, ๋ชจ๋ ์ข ๋ฅ์ ํค๋ณด๋ ์ธํ ๋ฑ์ ์๋ฒ๋ก ๋ณด๋ด์ง ๋ง๊ณ , ์ด ๋จ๋ง ์ชฝ์์ ์ฒ๋ฆฌํ ์ ์๋ ๊ฑด ์ฌ๊ธฐ์ ์ฒ๋ฆฌํ๊ณ , DBMS๊ฐ ์ฒ๋ฆฌํด์ผ ํ๋ ์๋ฒ ์ญํ ์ DBMS๊ฐ ํ์. ํด์ ๋์จ๊ฒ ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ.
ํด๋ผ์ด์ธํธ-์๋ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
- ํด๋ผ์ด์ธํธ : ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๊ด๋ฆฌ(์ ์ถ๋ ฅ ์ฒ๋ฆฌ)ํ๊ณ , ๊ฐ๋จํ ๋ ผ๋ฆฌ๋ค์ ์ฒ๋ฆฌ.
- ์๋ฒ : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฅ / DBMS ์ด์ / ํด๋ผ์ด์ธํธ์์ ์จ ์ง์ ์ต์ ํ / ๊ถํ ๊ฒ์ฌ ์ํ / ๋์์ฑ ์ ์ด / ํ๋ณต ๊ธฐ๋ฅ / ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ง / ์ ๊ทผ ๊ด๋ฆฌ .. ๋ฑ์ ์ผ์ ์ํ.
1.7.3 2์ธต ๋ชจ๋ธ(2-tier model) / 3์ธต ๋ชจ๋ธ(3-tier model)
- 2์ธต ๋ชจ๋ธ : ์๋ฒ๊ฐ ํ๋, ํด๋ผ์ด์ธํธ ํ๋ ์ด 2๊ฐ๊ฐ ์๋ ๊ฒ.
- 3์ธต ๋ชจ๋ธ : ์ด ์ฌ์ด์ ์์ฉ ์๋ฒ๊ฐ ์ถ๊ฐ๋ ๊ฒ.
- ์์ฉ ์๋ฒ : ์๊ธฐ ์กฐ์ง์ ํน์ ์์ฉ ๋น์ฆ๋์ค ๋ก์ง์ธ, ์์ฉ ๋
ผ๋ฆฌ๋ฅผ ๋ด๋นํจ.
- ex.) ํธ์์ 1+1 / 2+1 .. / ์ฐ์ ํ๋ ์ฌ๋ฉด ๊น๋ฐฅ์ ์ฒ์ ๊น์์ค๋ค๋์ง -> ์ด๋ฐ ๊ฑด DBMS์์ ๊ด๋ฆฌํ์ง ์๊ณ , logic์ผ๋ก ํด์ ์์ฉ ์๋ฒ์ ๊ฐ์ง๊ณ ์์. ์ฌ๊ธฐ์ ์ฒ๋ฆฌํจ.
- ์์ฉ ์๋ฒ : ์๊ธฐ ์กฐ์ง์ ํน์ ์์ฉ ๋น์ฆ๋์ค ๋ก์ง์ธ, ์์ฉ ๋
ผ๋ฆฌ๋ฅผ ๋ด๋นํจ.
1.7.4 ํด๋ผ์ด์ธํธ-์๋ฒ ์์คํ ์ ์ฅ๋จ์
- ์ฅ์
- ํด๋ผ์ด์ธํธ๋ค์ด ๋คํธ์ํฌ๋ฅผ ํตํด ์ฐ๊ฒฐ๋ ์ ์์ผ๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณด๋ค ๋์ ์ง์ญ์์ ์ ๊ทผํ ์ ์์.
- ๊ทธ ํด๋ผ์ด์ธํธ๋ค์ ์๋์ฐ๋ ๋๊ณ , ์ ํ๋ ๋๊ณ .. ํ๋๊น, ๋ค์ํ ์ปดํจํฐ ์์คํ ์ ์ฌ์ฉํ ์ ์์.
- ๋จ์
- ๋คํธ์ํฌ๋ก ์ฐ๊ฒฐ๋๋ค๋ณด๋, ๋ณด์ ๋ฌธ์ ๊ฐ ์์ ์ ์๋ค.
'๐ป CS > Database | ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ์ดํฐ๋ฒ ์ด์ค] 2์ฅ. ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ์ ์ฝ ์กฐ๊ฑด (0) | 2025.04.23 |
---|