DBMS/๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ก
[DB] ๐ ์คํค๋ง(Schema) ๊ฐ๋ - ํ๋์ ์ ์ ๋ฆฌ
์ธํ_
2021. 11. 5. 12:46
์คํค๋ง (๋ป : ๊ณํ, ๋์)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ(๊ฐ์ฒด, ์์ฑ, ๊ด๊ณ)์ ์ ์ฝ ์กฐ๊ฑด์ ๋ํ ์ ์์ด๋ค. ๋ฉํ ๋ฐ์ดํฐ๋ผ๊ณ ๋ ํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
(DBMS)์ด ์ฃผ์ด์ง ์ค์ ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์์ฑํ๊ณ ,
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์๊ฐ ์๋ฃ๋ฅผ ์ ์ฅ, ์กฐํ, ์ญ์ , ๋ณ๊ฒฝ ํ ๋ DBMS๋ ์์ ์ด ์์ฑํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์ฐธ์กฐํ์ฌ ๋ช ๋ น์ ์ํํ๋ค. - ํ๋ง๋๋ก DBMS๋ ์คํค๋ง๋ฅผ ์ฐธ์กฐํ์ฌ ์ฌ์ฉ์์ ๋ช ๋ น์ ์ํํ๋ ๊ฒ์ด๋ค.
์คํค๋ง 3๊ณ์ธต
์ธ๋ถ(์๋ธ) ์คํค๋ง(External Schema) = ์ฌ์ฉ์ ๋ทฐ
- ์ฌ์ฉ์๋ ์์ฉํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฐ ๊ฐ์ธ์ ์ ์ฅ์์ ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ ๊ฒ์ด๋ค.
- ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ๋ ผ๋ฆฌ์ ์ธ ๋ถ๋ถ์ผ๋ก ๋ณผ ์ ์์ผ๋ฏ๋ก ์๋ธ ์คํค๋ง(Sub Schema)๋ผ๊ณ ๋ ํ๋ค.
- ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์๋ ์ฌ๋ฌ๊ฐ์ ์ธ๋ถ ์คํค๋ง๊ฐ ์กด์ฌํ ์ ์์ผ๋ฉฐ ํ๋์ ์ธ๋ถ ์คํค๋ง๋ฅผ ์ฌ๋ฌ๊ฐ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ ์ฌ์ฉ์๊ฐ ๊ณต์ฉํ ์๋ ์๋ค.
- ์ผ๋ฐ ์ฌ์ฉ์๋ ์ง์์ด(SQL)์ ์ด์ฉํ์ฌ DB๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
- ์์ฉ ํ๋ก๊ทธ๋๋จธ๋ C, JAVA๋ฑ์ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ DB์ ์ ๊ทผํ๋ค.
๊ฐ๋ ์คํค๋ง(Conceptual Schema) = ์ ์ฒด์ ์ธ ๋ทฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฒด์ ์ธ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ก์, ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ ์ฌ์ฉ์๋ค์ด ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ข ํฉํ ์กฐ์ง ์ ์ฒด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ํ๋๋ง ์กด์ฌํ๋ค.
- ๊ฐ์ฒด๊ฐ์ ๊ด๊ณ์ ์ ์ฝ ์กฐ๊ฑด์ ๋ํ๋ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผ ๊ถํ, ๋ณด์ ๋ฐ ๋ฌด๊ฒฐ์ฑ ๊ท์น์ ๊ดํ ๋ช ์ธ๋ฅผ ์ ์ํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ํํ๋ฅผ ๋ํ๋ด๋ ๊ฒ์ผ๋ก, ๋จ์ํ ์คํค๋ง(Schema)๋ผ๊ณ ํ๋ฉด ๊ฐ๋ ์คํค๋ง๋ฅผ ์๋ฏธํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์(DBA)์ ์ํด์ ๊ตฌ์ฑ๋๋ค.
๋ด๋ถ ์คํค๋ง(Internal Schema) = ์ ์ฅ ์คํค๋ง(Storage Schema)
- ๋ฌผ๋ฆฌ์ ์ ์ฅ์ฅ์น์ ์ ์ฅ์์ ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ก, ๋ฌผ๋ฆฌ์ ์ธ ์ ์ฅ์ฅ์น์ ๋ฐ์ ํ ๊ณ์ธต์ด๋ค.
- ์ค์ ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ ์ฝ๋์ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ , ์ ์ฅ ๋ฐ์ดํฐ ํญ๋ชฉ์ ํํ๋ฐฉ๋ฒ, ๋ด๋ถ ๋ ์ฝ๋์ ๋ฌผ๋ฆฌ์ ์์ ๋ฑ์ ๋ํ๋ธ๋ค.
- ์์คํ ํ๋ก๊ทธ๋๋จธ๋ ์์คํ ์ค๊ณ์๊ฐ ๋ณด๋ ๊ด์ ์ ์คํค๋ง์ด๋ค.