๐ DB, DBMS, RDBMS ๊ฐ๋ ์ ๋ฆฌ
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database, DB)
์ค๋ณต์ ์ต์ํํ๊ณ , ๋ค์์ ์ฌ์ฉ์๊ฐ ๊ณต์ ํ ์ ์๋๋ก ๋ฐ์ดํฐ๋ค์ ๋ชจ์๋ ์์คํ
- ๊ด๋ จ๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์ ์ด๋ฅผ ํตํฉํ์ฌ ๊ด๋ฆฌํ ์ ์๋๋ก ํ๋ ๊ฒ
- ์ฌ์ฉ์ ์๊ตฌ์ ๋ฐ๋ผ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ฒ ๊ฒ์ํ ์ ์์ด์ผ ํจ
- ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ, ์ญ์ , ์์ ํ ์ ์๋๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ์ ์งํฉ์ฒด
- ๊ตฌ์ถ ๋ชฉ์ : ๊ด๋ฆฌํ๊ณ ์ ํ๋ ์ ๋ณด(Data)๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์
2. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ (DataBase Mamanagement System, DBMS)
๋ชจ๋ ์์ฉํ๋ก๊ทธ๋จ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณต์ ํ ์ ์๋๋ก ๊ด๋ฆฌํด ์ฃผ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์งํ๊ธฐ ์ํ ์ผ๋ จ์ ์ํํธ์จ์ด ์์คํ
- ์ : Oracle, MS SQL Server, mysql, informix, sybase ๋ฑ
โป DBMS๋ ๋ฐ์ดํฐ์ ์กฐํ, ์ ์ฅ, ์ญ์ ์ ๊ฐ์ ์์ ์ SQL์ ํตํด ์ฒ๋ฆฌํจ
โป SQL(Structured Query Language) : ๊ตฌ์กฐ์ ์ง์ ์ธ์ด, ๋ฐ์ดํฐ ์ง์ ๋ฐ ์ฒ๋ฆฌ ์ธ์ด
โป ๋ช ๋ น์ด ์ข ๋ฅ : DDL, DML, DCL
1. DDL ( Data Definition Language) : ๋ฐ์ดํฐ ์ ์์ด , ๊ฐ์ฒด ์กฐ์์ด
๋ช ๋ น์ด : CREATE, DROP, ALTER, TRUNCATE
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ ์ด๋ธ์ ์์ฑํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ ์ธ์ด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด๋ค(ํ ์ด๋ธ, ์ธ๋ฑ์ค, ๋ทฐ, ํธ๋ฆฌ๊ฑฐ ๋ฑ)์ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋๋ SQL ๋ฌธ์ฅ
- ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ ์ ์ : ํ ์ด๋ธ ๋ฑ์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ ์(์ค๋ผํด์์ ๋ณผ ์ ์๋ ๊ฒ)
- ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ ์ ์: ์ค์ ํ์ผ (๋ฌผ๋ฆฌ์ ์ผ๋ก ์ค์ ํ์ผ์ ์์ฑ)
- ๋ ผ๋ฆฌ์ /๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ ๋งคํ : ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ง๋ ํ์ผ๊ณผ ์ฐ๋ฆฌ๊ฐ ๋ณผ์ ์๋ ๊ฒ(์ค๋ผํด์ ํตํด์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ณด๋ ๊ฒ)์ ์ฐ๊ฒฐ
2. DML ( Data Manipulation Language) : ๋ฐ์ดํฐ ์กฐ์์ด
๋ช ๋ น์ด : SELECT, INSERT, UPDATE, DELETE , COMMIT, ROLLBACK
- ๋ฐ์ดํฐ๋ฅผ ์กฐํ, ์ ์ฅ, ์ญ์ ํ ๋ ์ฌ์ฉ๋๋ SQL ๋ฌธ์ฅ
- ๋ฐ์ดํฐ๋ฅผ ๊ฒ์, ์ฝ์ , ์์ , ์ญ์ ํ ์ ์๋ ๊ธฐ๋ฅ
- Select, insert, update, delete
3. DCL ( Data Control Language) : ๋ฐ์ดํฐ ์ ์ด์ด
๋ช ๋ น์ด : GRANT, REVOKE
- ๋ฐ์ดํฐ์ ์ ํ์ฑ, ์์ ์ฑ์ ์ ์งํ๋ ๊ธฐ๋ฅ(๋ฌด๊ฒฐ์ฑ,๋ณด์)
- GRANT - ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์์๊ฒ ์ฌ์ฉ๊ถํ์ ๋ถ์ฌํ๋ ๋ช ๋ น
- REVOKE - ๊ทธ๋ํธ์ ๋ฐ๋๋ก ์ฌ์ฉ๊ถํ์ ์ทจ์ํ๋ ๋ช ๋ น
โป ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๊ด๊ณ
: ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๋ ํฐ ํต์์ ์ ๋ณด๊ฐ ๋ค์ด์๋ ๋ค์์ ํ ์ด๋ธ์ด ์กด์ฌํจ
- ํ ์ด๋ธ : ์ฌ๋ฌ ๊ฐ์ ๋ ์ฝ๋๋ฅผ ๋ด๊ณ ์๋ ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋งํจ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ค์ ์ ํด์ง ํ์๊ณผ ๊ท์น๋๋ก ์ ์ฅ๋์ด์ผ ํจ.
- ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๊ธฐ๋ณธํ์์ ์ ๊ณตํ๋ ๊ฒ์ด ๋ฐ๋ก ํ ์ด๋ธ
- ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ถ๊ฐ,์ญ์ , ์์ ํ๋ ๋ฑ์ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ํจ
โป ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง
- ๋ฐ์ดํฐ์ ๋๊ท๋ชจ ์ ์ฅ์
- ์ฌ๋ฌ ์ฌ์ฉ์์ ์ํด ๋์์ ์ฌ์ฉ๋จ
- ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ค๋ณต์ ์ต์ํํ๋ฉด์ ํตํฉ๋จ
- ํ ์กฐ์ง์ฒด์ ์ด์ ๋ฐ์ดํฐ๋ฟ๋ง ์๋๋ผ ๊ทธ ๋ฐ์ดํฐ์ ๊ดํ ์ค๋ช (๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง, ์ ์ฒด์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ)๊น์ง ํฌํจ.ํจ์จ์ ์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ณ ์ง์(์ฟผ๋ฆฌ)๋ฅผ ํ ์ ์์
โป ์ฅ์
๋ฐ์ดํฐ ์ค๋ณต ์ต์ํ
๋ฐ์ดํฐ ๊ณต์
๋ฌด๊ฒฐ์ฑ ์ ์ง
์ผ๊ด์ฑ ์ ์ง
๋ฐ์ดํฐ์ ๋ณด์ ๋ณด์ฅ
โป ๋จ์
์ด์๋น ์ฆ๋ : ๋ง์ ์์คํ ์์ ์๊ตฌ
์๋ฃ ์ฒ๋ฆฌ์ ๋ณต์กํ : ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์๊ตฌ
๋ณต์กํ ์๋น์ ํ๋ณต : ์ฅ์ ๋ฐ์ ๋๋น๋ฅผ ์ํ ์์ ํ์
์์คํ ์ ์ทจ์ฝ์ฑ : ์์คํ ์ ์ฑ๋ฅ์ ๋ฐ๋ผ DBMS ์ฑ๋ฅ์ด ์ข์ฐ๋จ
๐ ๋ฐ์ดํฐ์ ๋
๋ฆฝ์ฑ - ํ๋ก๊ทธ๋จ๊ณผ ๋ฐ์ดํฐ ๊ฐ์ ๋
๋ฆฝ์ฑ์ด ์ ๊ณต๋จ
๐ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ – ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ๋ฐ์ดํฐ๋ ์ค๋ฅ๊ฐ ์์ด์๋ ์๋จ
3. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS)
RDBMS : ๋ฐ์ดํฐ๋ค์ 2์ฐจ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ํ ์ด๋ธ ํํ๋ก ์ ์ฅ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ชจ๋ธ : ์ค์ฒด(Entity),์์ฑ(Attribute),๊ด๊ณ(Relationship)๋ก ๊ตฌ์ฑ๋ ER Diagram์ผ๋ก ํํ
- ์ : Oracle, MS SQL Server, mysql ๋ฑ
โป ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ
ํ๋(Field) - ๋ ์ฝ๋(Record) - ํ
์ด๋ธ(Table)
- ํ๋ : ํ ์ด๋ธ์ ์ด์ ํด๋น๋๋ ๊ฒ (์ปฌ๋ผ)
- ๋ ์ฝ๋ : ํ๋๋ค์ ์งํฉ์ฒด, ํ ์ด๋ธ์ ๊ฐ ํ(row)
- ์ธ๋ฑ์ค : ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ฒ ์ฐพ์ ์ ์๋๋ก ์ ๋ ฌ๋ ๋ชฉ๋ก, ํค
- ํ ์ด๋ธ : ์ฌ๋ฌ ๊ฐ์ ๋ ์ฝ๋๋ฅผ ๋ด๊ณ ์๋ ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋งํจ (๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ณธ ๋จ์)
๊ด๊ณ : ์
๋ฌด์ ์ธ ์ฐ๊ด์ฑ
- ๊ด๊ณ๋ ๋ ํ ์ด๋ธ ์ฌ์ด์ ์กด์ฌํ๋ฉฐ, ๊ด๊ณ๋ฅผ ๋งบ๊ณ ์๋ ๋ ํ ์ด๋ธ ์ค ๋ฐ๋์ ํ๋๋ ๋ถ๋ชจ ํ ์ด๋ธ์ด๊ณ ํ๋๋ ์์ ํ ์ด๋ธ์ด๋ค.
- ๋ถ๋ชจ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค(Primary key)๋ ์์ ํ ์ด๋ธ์ ์ธ๋ํค(Foreign Key)๋ก ์ ์ด ๋์ด์ง๋ค.
๐ ๊ธฐ๋ณธํค(Primary key) - ํ๋์ ํ์ ๋ค๋ฅธ ํ๊ณผ ์ ์ผํ๊ฒ ๊ตฌ๋ณํ ์ ์๋๋ก ํด ์ฃผ๋ ์ด
๐ ์ธ๋ํค(Foreign key) : ๋ค๋ฅธ ๊ฐ์ฒด(ํ ์ด๋ธ)์ ์ฐธ์กฐํ ๋ ์ฌ์ฉํ๋ ํ๋
'DataBase' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL vs NoSQL (0) | 2021.05.12 |
---|