[Database] ์คํค๋ง(Schema)
์คํค๋ง๋?
๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง(database schema)๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database) ์ ์ฒด ๋๋ ์ผ๋ถ์ ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ฅผ ํํํ๋ ๊ฒ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๋ฐ์ดํฐ๊ฐ ์ด๋ค ๊ตฌ์กฐ๋ก ์ ์ฅ๋๋์ง๋ฅผ ๋ํ๋ธ๋ค.
๐ก์คํค๋ง vs ERD
๊ฐ๋ตํ๊ฒ ๋งํ์๋ฉด, ERD๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๋์ด๊ณ , ์คํค๋ง๋ ๊ตฌํ์ฒด์ด๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ธฐ ์ ์๋ ์ด๋ป๊ฒ ๊ตฌํํ ์ง ERD๋ผ๋ ์ค๊ณ๋๋ฅผ ์ฌ์ฉํด์ ์ค๊ณ๋ฅผ ํด์ผํ๋ค. ์ด๋ฌํ ERD๋ฅผ ํตํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๋ฉด DBMS์์ ์์ฑํด์ฃผ๋ ๊ฒ์ด ์คํค๋ง์ด๋ค.
์คํค๋ง 3๊ณ์ธต
์คํค๋ง๋ ์ฌ์ฉ์์ ๊ด์ ์ ๋ฐ๋ผ ์ธ๋ถ ์คํค๋ง, ๊ฐ๋ ์คํค๋ง, ๋ด๋ถ ์คํค๋ง๋ก ๋๋ ์ง๋ค.
์ธ๋ถ ์คํค๋ง (External Schema) = ์ฌ์ฉ์ ๋ทฐ = ์๋ธ ์คํค๋ง
- ์ฌ์ฉ์๋ ์์ฉ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฐ์ธ์ ์
์ฅ์์ ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ ์
- ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ๋ ผ๋ฆฌ์ ๋ถ๋ถ์ผ๋ก ๋ณผ ์ ์์ผ๋ฏ๋ก ์๋ธ ์คํค๋ง๋ผ๊ณ ๋ ๋ถ๋ฆ
- ๋์ผํ ๋ฐ์ดํฐ์ ๋ํด, ์๋ก ๋ค๋ฅธ ๊ด์ ์ ์ ์ํ ์ ์๋๋ก ํ์ฉ
- ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์๋ ์ฌ๋ฌ๊ฐ์ ์ธ๋ถ ์คํค๋ง๊ฐ ์กด์ฌ ๊ฐ๋ฅํ๋ฉฐ, ํ๋์ ์ธ๋ถ ์คํค๋ง๋ฅผ ์ฌ๋ฌ๊ฐ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ ์ฌ์ฉ์๊ฐ ๊ณต์ฉ ๊ฐ๋ฅ
- ์ค์ธ๊ณ์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ค์ ์ด๋ค ํ์, ๊ตฌ์กฐ, ๋ฐฐ์น ํ๋ฉด์ ํตํด ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ๊ฒ์ธ์ง๋ฅผ ๊ธฐ์
- ์ผ๋ฐ ์ฌ์ฉ์๋ ์ง์์ด(SQL)์ ์ด์ฉํด์ DB๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์
- ์์ฉ ํ๋ก๊ทธ๋๋จธ๋ C, Java ๋ฑ์ ์ธ์ด๋ฅผ ์ฌ์ฉํด์ DB์ ์ ๊ทผ
๊ฐ๋ ์คํค๋ง (Conceptual Schema) = ์ ์ฒด์ ์ธ ๋ทฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฒด ์กฐ์ง์ ๋ํ ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ
- ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ๋ ผ๋ฆฌ์ ๋ถ๋ถ์ผ๋ก ๋ณผ ์ ์์ผ๋ฏ๋ก ์๋ธ ์คํค๋ง๋ผ๊ณ ๋ ๋ถ๋ฆ
- ๋ฐ์ดํฐ๊ฐ ์ค์ ๋ก ์ด๋ป๊ฒ ์ ์ฅ๋๊ณ , ๋ฐ์ดํฐ๋ค์ ๊ด๊ณ๋ ์ด๋ ํ์ง
- ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ํ ๊ฐ์ ๊ฐ๋ ์คํค๋ง๋ง ์กด์ฌ
- ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ ๋ฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด์ ๋ํ ๋ช ์ธ๋ฅผ ์ ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ํํ๋ฅผ ๋ํ๋ด๋ฉฐ, ์ด๋ DBA์ ์ํด ๊ตฌ์ฑ๋จ
- ๋จ์ํ ์คํค๋ง๋ผ๊ณ ํ๋ฉด ๊ฐ๋ ์คํค๋ง๋ฅผ ์๋ฏธ
๋ด๋ถ ์คํค๋ง (Internal Schema) = ์ ์ฅ ์คํค๋ง (Storage Schema)
- ๋ฌผ๋ฆฌ์ ์ ์ฅ์ฅ์น์ ์ ์ฅ์์ ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ ๋ฐฉ๋ฒ์ ๊ธฐ์ ํ ๊ฒ
- ๊ฐ๋ ์คํค๋ง๋ฅผ ๋์คํฌ ๊ธฐ์ต์ฅ์น์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ตฌํํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ๊ธฐ์
- ์ ์ฅ๋ ๋ฐ์ดํฐ ํญ๋ชฉ์ ๋ด๋ถ ๋ ์ฝ๋ ํ์, ๋ฌผ๋ฆฌ์ ์์ ๋ฑ์ ๋ํ๋
- ์์คํ ํ๋ก๊ทธ๋๋จธ๋ ์์คํ ์ค๊ณ์๊ฐ ๋ณด๋ ๊ด์ ์ ์คํค๋ง
Reference
https://github.com/devSquad-study/2023-CS-Study/blob/main/DB/db_schema.md
2023-CS-Study/DB/db_schema.md at main · devSquad-study/2023-CS-Study
์ ์ ๊ฐ๋ฐ์ ๋ฉด์ ๋๋น CS ์คํฐ๋ ๐จ๐ป๐ป๐ฉ๐ป๐ป ๐ฅ. Contribute to devSquad-study/2023-CS-Study development by creating an account on GitHub.
github.com
https://iingang.github.io/posts/DB-schema/
[DB ๋ฐ์ดํฐ๋ฒ ์ด์ค] ์คํค๋ง(Schema)์ ๊ฐ๋ ๋ฐ ํน์ง
์คํค๋ง(Schema)๋?
iingang.github.io