๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
#๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
-๋ฐ์ดํฐ๋ฒ ์ด์ค(Database)
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์กฐ์ง์ฒด์ ์์ฉ ์์คํ ๋ค์ด ๊ณต์ ํด์ ์ฌ์ฉํ๋
์ด์ ๋ฐ์ดํฐ(operational data)๋ค์ด ๊ตฌ์กฐ์ ์ผ๋ก ํตํฉ๋ ๋ชจ์์ด๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ํด ๊ฒฐ์ ๋๋ค.
์์คํ ์นดํ๋ก๊ทธ(๋๋ ๋ฐ์ดํฐ ์ฌ์ )์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๊ตฌ๋ถํ ์ ์์
์์คํ ์นดํ๋ก๊ทธ(system catalog)๋ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์คํค๋ง ์ ๋ณด๋ฅผ ์ ์ง
*์ ๋ณด์ ๋ฐ์ดํฐ๋ ์๋ก ๋ค๋ฆ
-๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง
1.๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ์ ๋๊ท๋ชจ ์ ์ฅ์๋ก์, ์ฌ๋ฌ ๋ถ์์ ์ํ๋ ์ฌ๋ฌ ์ฌ์ฉ์์ ์ํด ๋์์ ์ฌ์ฉ๋๋ค.
2.๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ค๋ณต์ ์ต์ํ ํ๋ฉด์ ํตํฉ๋๋ค.
3.๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ ์กฐ์ง์ฒด์ ์ด์ ๋ฐ์ดํฐ ๋ฟ๋ง ์๋๋ผ ๊ทธ ๋ฐ์ดํฐ์ ๊ดํ ์ค๋ช ์ ํฌํจํ๋ค
(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง or ๋ฉํ๋ฐ์ดํฐ)
4.ํ๋ก๊ทธ๋จ๊ณผ ๋ฐ์ดํฐ ๊ฐ์ ๋ ๋ฆฝ์ฑ์ด ์ ๊ณต๋๋ค
5.ํจ์จ์ ์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ณ ์ง์๋ฅผ ํ ์ ์๋ค.
-๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS : Database Management System)
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ํ๊ณ , ์ง์์ด๋ฅผ ์ง์ํ๊ณ , ๋ฆฌํฌํธ๋ฅผ ์์ฑํ๋ ๋ฑ์ ์์ ์ ์ํํ๋ ์ํํธ์จ์ด
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด๋ผ๊ณ ๋ถ๋ฅด๋ ํน๋ณํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ํ ๊ฐ ์ด์ ์ ๊ณต
SQL(Structured Querey Language)(๊ตฌ์กฐ์ ์ง์์ด)
-๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง
์ ์ฒด์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ๋ปํ๋ฉฐ ์์ฃผ ๋ณ๊ฒฝ๋์ง๋ ์์(๋ณ๊ฒฝ์ ๊ฐ๋ฅ)
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ๊ฐ๋ฅํ ์ํ๋ฅผ ๋ฏธ๋ฆฌ ์ ์
๋ดํฌ(intension)๋ผ๊ณ ๋ถ๋ฆ
-๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ
ํน์ ์์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ด์ฉ์ ์๋ฏธํ๋ฉฐ, ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ณ์ํด์ ๋ฐ๋๋ค.์ธ์ฐ(extension)์ด๋ผ๊ณ ๋ถ๋ฆ
-๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ (DBS: Database System)์ ๊ตฌ์ฑ์์
DB(๋ฐ์ดํฐ๋ฒ ์ด์ค / ์์คํ ์นดํ๋ก๊ทธ) , DBMS, ์ฌ์ฉ์, ์์ฉํ๋ก๊ทธ๋จ
-๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์๊ตฌ์ฌํญ
1. ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ
2. ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ๊ทผ
3. ๋ฐ์ดํฐ์ ๋ํ ๋์ ์ ๊ทผ
4. ๋ฐฑ์ ๊ณผ ํ๋ณต
5. ์ค๋ณต์ ์ค์ด๊ฑฐ๋ ์ ์ดํ๋ฉฐ ์ผ๊ด์ฑ ์ ์ง
6. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ
7. ๋ฐ์ดํฐ ๋ณด์
8. ์ฌ์ด ์ง์์ด
9. ๋ค์ํ ์ฌ์ฉ์ ์ธํฐํ์ด์ค
#ํ์ผ ์์คํ ๊ณผ DBMS
-DBMS๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ํน์ง
1. ์ฌ๋ฌ ์ฌ์ฉ์์ ์์ฉํ๋ก๊ทธ๋จ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณต์
2. ์ฌ์ฉ์์ ์ง์๋ฅผ ๋น ๋ฅด๊ฒ ์ํํ ์ ์๋ ์ธ๋ฑ์ค ๋ฑ์ ์ ๊ทผ ๊ฒฝ๋ก๋ฅผ DBMS๊ฐ ์๋์ ์ผ๋ก ์ ํํ์ฌ ์ํ
3. ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ก๋ถํฐ DB๋ฅผ ๋ณดํธ
4. ์ฌ๋ฌ ์ฌ์ฉ์์ ์ ํฉํ ๋ค์ํ ์ธํฐํ์ด์ค ์ ๊ณต
5. ๋ฐ์ดํฐ ๊ฐ์ ๋ณต์กํ ๊ด๊ณ๋ฅผ ํํํ๋ฉฐ, ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ DBMS๊ฐ ์๋์ ์ผ๋ก ์ ์ง
6. ์์คํ ๊ณ ์ฅ์ DB๋ฅผ ๊ณ ์ฅ ์ ์ ์ผ๊ด๋ ์ํ๋ก ํ๋ณต์ํด
7. ํ๋ก๊ทธ๋จ์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉด์ DB๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์์
ํ๋ก๊ทธ๋จ-๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ(program-data independence)
-DBMS์ ์ฅ์
1. ์ค๋ณต์ฑ๊ณผ ๋ถ์ผ์น๊ฐ ๊ฐ์
2. ์์คํ ์ ๊ฐ๋ฐ ์ ์งํ๋ ๋น์ฉ ๊ฐ์
3. ํ์คํ๋ฅผ ์ํํ๊ธฐ ์ฉ์ด
4. ๋ณด์ ํฅ์
5. ๋ฌด๊ฒฐ์ฑ ํฅ์
6. ์๊ตฌ์ฌํญ์ ์๋ณํ ์ ์์
7. ๊ณ ์ฅ์ผ๋ก๋ถํฐ ํ๋ณตํ ์ ์์
8. DB์ ๊ณต์ ์ ๋์ ์ ๊ทผ์ด ๊ฐ๋ฅ
9. ๋ค์ํ ๋๊ตฌ ํ์ฉ ๊ฐ๋ฅ(DB์ค๊ณ ๋๊ตฌ, ์์ฉํ๋ก๊ทธ๋จ ๊ฐ๋ฐ๋๊ตฌ, ๋ฆฌํฌํธ ์์ฑ ๋๊ตฌ...)
-DBMS์ ๋จ์
1. ์ถ๊ฐ์ ์ธ ํ๋์จ์ด ๊ตฌ์ ๋น์ฉ, DBMS ์ ์ง๋น์ฉ
2. ์ง์ ๊ต์ก ๋น์ฉ
3. ๋น๋ฐ๊ณผ ํ๋ผ์ด๋ฒ์ ๋ ธ์ถ ๋ฑ์ ๋จ์ ์ด ์กด์ฌ
*์ด๊ธฐ ํฌ์๋น์ฉ์ด ํด ๋, ์ค๋ฒํค๋(๊ฐ์ ๋น)๊ฐ ํด ๋, ์์ฉ์ด ๋จ์ํ๊ณ ์ ์ ์๋์์ผ๋ฉฐ ๋ณ๊ฒฝ๋์ง ์์ ๊ฒ์ผ๋ก ์์๋ ๋
real-time ์ฒ๋ฆฌ ์๊ตฌ์ฌํญ์ด ์์๋๋ DBMS๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ๋ฐ๋์งํ ์ ์๋ค.
#DBMS ๋ฐ์ ๊ณผ์
-๋ฐ์ดํฐ ๋ชจ๋ธ
DB์ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ ํ๋๋ฐ ์ฌ์ฉ๋๋ ๊ฐ๋ ๋ค์ ์งํฉ์ธ ๊ตฌ์กฐ(๋ฐ์ดํฐ ํ์ ๊ณผ ๊ด๊ณ)
์ด๋ฌํ ๊ตฌ์กฐ ์์์ ๋์ํ๋ ์ฐ์ฐ์๋ค, ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด๋ค
์ฌ์ฉ์์๊ฒ ๋ด๋ถ ์ ์ฅ ๋ฐฉ์์ ์ธ์ธํ ์ฌํญ์ ์จ๊ธฐ๋ฉด์ ๋ฐ์ดํฐ์ ๋ํ
์ง๊ด์ ์ธ ๋ทฐ๋ฅผ ์ ๊ณตํ๋ ๋์์ ์ด๋ค๊ฐ์ ์ฌ์์ ์ ๊ณต
-๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ถ๋ฅ
*๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ conceptual data model
DB์ ์ ์ฒด์ ์ธ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๋ช ์
*ํํ(๊ตฌํ) ๋ฐ์ดํฐ ๋ชจ๋ธ representation(implementation) data model
์ต์ข ์ฌ์ฉ์๊ฐ ์ดํดํ๋ ๊ฐ๋
์ปดํจํฐ ๋ด์์ ๋ฐ์ดํฐ๊ฐ ์กฐ์ง๋๋ ๋ฐฉ์๊ณผ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์์ง๋ ์์
*๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ physical data model
DB์ ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์ ์ฅ๋๋๊ฐ๋ฅผ ๊ธฐ์
----------------------------------------------------------
1.๊ณ์ธต DBMS
ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ณ์ธต ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ DBMS
์ฅ์ : ๋น ๋ฅธ ์๋์ ๋์ ํจ์จ์ฑ ์ ๊ณต
๋จ์ : ๋ฏธ๋ฆฌ ์์ฉํ๋ก๊ทธ๋จ์ ์ ์ํด์ผํ๋ค / ๊ฐ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ช ์์ ์ผ๋ก ์ ์ / ๋ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ด๋ ต๋ค
2.๋คํธ์ํฌ DBMS
๋ ์ฝ๋๋ค์ด ๋ ธ๋๋ก, ๋ ์ฝ๋๋ค ์ฌ์ด์ ๊ด๊ณ๊ฐ ๊ฐ์ ์ผ๋ก ํํ๋๋ ๊ทธ๋ํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค
๋ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ด๋ ค์
3.๊ด๊ณ DBMS
๋ชจ๋ธ์ด ๊ฐ๋จํ์ฌ ์ดํดํ๊ธฐ ์ฝ๋ค
์ฌ์ฉ์๋ ์์ ์ด ์ํ๋ ๊ฒ(what)๋ง ๋ช ์ํ๊ณ ์ด๋ป๊ฒ(How)๋ DBMS๊ฐ ๊ฒฐ์ ํ๋ค
ex)์ค๋ผํด, MS SQL Sever, ๋ฑ
4.๊ฐ์ฒด ์งํฅ DBMS
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ
์ฅ์ : ๋ฐ์ดํฐ์ ํ๋ก๊ทธ๋จ์ ๊ทธ๋ฃนํ / ๋ณต์กํ ๊ฐ์ฒด๋ค์ ์ดํดํ๊ธฐ ์ฝ๋ค / ์ ์ง์ ๋ณ๊ฒฝ์ ์ฉ์ดํ๋ค
*๊ฐ์ฒด์งํฅ : ํ๋ก๊ทธ๋จ์ ์๋ง์ '๊ฐ์ฒด'๋ผ๋ ๊ธฐ๋ณธ ๋จ์๋ก ๋๋๊ณ ์ด ๊ฐ์ฒด๋ค์ ์ํธ์์ฉ์ผ๋ก ์์ ํ๋ ๋ฐฉ์
*๊ฐ์ฒด : ํ๋์ ์ญํ ์ ์ํํ๋ '๋ฉ์๋์๋ณ์(๋ฐ์ดํฐ) ์ ๋ฌถ์'
-DBMS ์ธ์ด
-DDL ๋ฐ์ดํฐ ์ ์์ด
Data Definition Language
๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์ ์
DDL๋ก ๋ช ์๋ ๋ฌธ์ฅ์ด ์ ๋ ฅ๋๋ฉด DBMS๋ ์ฌ์ฉ์๊ฐ ์ ์ํ ์คํค๋ง์ ๋ํ ๋ช ์ธ๋ฅผ
์์คํ ์นดํ๋ก๊ทธ ๋๋ ๋ฐ์ดํฐ ์ฌ์ ์ ์ ์ฅํ๋ค
-DML ๋ฐ์ดํฐ ์กฐ์์ด
Data Manipulation Language
์ฌ์ฉ์๋ DML๋ฅผ ์ฌ์ฉํด DB๋ด์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ ์์ ์ฝ์ ์ญ์ ํ๋ค
์ ์ฐจ์ ์ธ์ด์ ๋น์ ์ฐจ์ ์ธ์ด
๊ด๊ณ DBMS์์ ์ฌ์ฉ๋๋ SQL์ ๋ํ์ ์ธ ๋น์ ์ฐจ์ ์ธ์ด์ด๋ค
๊ฒ์, ์์ , ์ญ์ , ์ฝ์
-DCL ๋ฐ์ดํฐ ์ ์ด์ด
Data Control Language
์ฌ์ฉ์๋ DCL๋ฅผ ์ฌ์ฉํด DB ํธ๋์ญ์ ์ ๋ช ์ํ๊ณ ๊ถํ์ ๋ถ์ฌํ๊ฑฐ๋ ์ทจ์
GRANT : DB๊ถํ์ ๋ถ์ฌํ๋ ๋ช ๋ น์ด
COMMIT : ๋ฐ์ดํฐ๋ฅผ DB์ ์ ์ฅํ๊ณ ํธ๋์ญ์ ์ ์ฑ๊ณต์ ์ผ๋ก ์ข ๋ฃํ๋ ๋ช ๋ น์ด
ROLLBACK : ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ทจ์ํ๊ณ ์์ํ๋ก ๋ณต๊ทํ ํ ํธ๋์ญ์ ์ ์ข ๋ฃํ๋ ๋ช ๋ น์ด
REVOKE : DB๊ถํ์ ํด์ ํ๋ ๋ช ๋ น์ด
-DBMS ์ฌ์ฉ์
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์
DBA : Database Administrator
DBA๋ ์กฐ์ง์ ์ฌ๋ฌ๋ถ๋ถ์ ์์ดํ ์๊ตฌ๋ฅผ ๋ง์กฑ์ํค๊ธฐ ์ํด ์ผ๊ด์ฑ์๋ DB ์คํค๋ง๋ฅผ ์์ฑ ์ ์งํ๋ ์ฌ๋(ํ)
DBA์ ์ญํ :
DB์คํค๋ง ์์ฑ๊ณผ ๋ณ๊ฒฝ / ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ๋ช ์ /
์ฌ์ฉ์ ๊ถํ ํ์ฉ ์ทจ์(์ญํ ๊ด๋ฆฌ) / ์ ์ฅ๊ตฌ์กฐ์ ์ ๊ทผ๋ฐฉ๋ฒ(๋ฌผ๋ฆฌ์ ์คํค๋ง)์ ์ /
๋ฐฑ์ ๊ณผํ๋ณต / ํ์คํ ์ํ
2.์์ฉ ํ๋ก๊ทธ๋๋จธ
DB์์์ ํน์ ์์ฉ์ด๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ์ฌ๋
๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ฉด์ DB๋ฅผ ์ ๊ทผํ๋ ๋ถ๋ถ์ DML๋ฅผ ์ฌ์ฉํ๋ค
์ด๋ค์ด ์์ฑํ ํ๋ก๊ทธ๋จ์ ์ต์ข ์ฌ์ฉ์๋ค์ด ๋ฐ๋ณตํด์ ์ํํ๋ฏ๋ก
๊ธฐ์์ฑ ํธ๋์ญ์ ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค
3.์ต์ข ์ฌ์ฉ์(end user)
์ง์, ๊ฐฑ์ , ๋ณด๊ณ ์๋ฅผ ์์ฑํ๊ธฐ ์ํด DB๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋
์ง์์ด๋ฅผ ์ฌ์ฉํด ๋งค๋ฒ ๋ค๋ฅธ ์ ๋ณด๋ฅผ ์ฐพ๋ ์บ์ฃผ์ผ ์ฌ์ฉ์์
๊ธฐ์์ฑ ํธ๋์ญ์ ์ ์ํํ๋ ์ด๋ณด ์ฌ์ฉ์๋ก ๊ตฌ๋ถ
4.DB์ค๊ณ์
ERWin ๋ฑ์ CASE ๋๊ตฌ๋ค์ ์ด์ฉํด DB์ค๊ณ๋ฅผ ๋ด๋น
DB์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด ์ ๊ทํ๋ฅผ ์ํ
5.์คํผ๋ ์ดํฐ
DBMS๊ฐ ์ด์๋๊ณ ์๋ ์ปดํจํฐ ์์คํ ๊ณผ ์ ์ฐ์ค์ ๊ด๋ฆฌํ๋ ์ฌ๋
*์ถ์ฒ
์ค๋ผํด ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฐ์ํฐ (์๋ฅ, ํ์๊ฒฝ)
์ค๋ผํด 11g + PL/SQL ์ ๋ฌธ (๋๋ฆผ, ์ฑ์ค๊ฒฝ ์๋๋ฆฐ)