์ถ์ฒ - ์ฌ์ด์ฝ๋ Youtube
โ Database๋?
- ์ ์์ ์ผ๋ก ์ ์ฅ๋๊ณ ์ฌ์ฉ๋๋ ๊ด๋ จ ์๋ ๋ฐ์ดํฐ๋ค์ ์กฐ์งํ๋ ์งํฉ.
โ DBMS๋?
- DataBase Management System
- ๋ฐ์ดํฐ๋ฅผ ์กฐ์งํํ์ฌ ๊ด๋ฆฌํ๋ฉด, ๋ถํ์ํ ๋ฐ์ดํฐ ์ค๋ณต์ด๋ ๋ถ์ผ์น๋ฅผ ๋ฐฉ์งํ ์ ์๋ค.
- ์ฌ์ฉ์์๊ฒ DB๋ฅผ ์ ์ํ๊ณ , ๋ง๋ค๊ณ , ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด ์์คํ
- DB๋ฅผ ์ ์ํ ๋ ๋ถ๊ฐ๋ฐ์ดํฐ์ธ metadata๊ฐ ๋ฐ์ํ๊ฒ ๋๋๋ฐ,
์ด metadata๋ ๋ง์ฐฌ๊ฐ์ง๋ก DBMS๊ฐ ๊ด๋ฆฌํ๋ค.
(์ฐธ๊ณ ) metadata๋?
- ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ. ์ฆ ๋ฐ์ดํฐ๋ฅผ ์ค๋ช ํ๊ธฐ ์ํ ๋ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ.
- Database๋ฅผ ์ ์ํ๊ฑฐ๋ describeํ๋ ๋ฐ์ดํฐ
- catalog๋ผ๊ณ ๋ ๋ถ๋ฆ.
- e.g.) ๋ฐ์ดํฐ ์ ํ, ๊ตฌ์กฐ, ์ ์ฝ์กฐ๊ฑด, ๋ณด์, ์ ์ฅ, ์ธ๋ฑ์ค ๋ฑ...
- ๋ํ์ ์ธ DBMS ์ข ๋ฅ : PostgreSQL, MySQL, Oracle, MsSql
โ Database System์ด๋?
- DB + DBMS + ์ฐ๊ด๋ applications ๋ฅผ ํตํ์ด ์ง์นญ.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์ค์ฌ์ ๊ทธ๋ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒฝ์ฐ๋ ๋ง๋ค.
- ์์ฉํ๋ก๊ทธ๋จ(์ฌ์ฉ์)์ DBMS์ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด๊ณ ,
DBMS๋ ์ฟผ๋ฆฌ๋ฅผ ํด์ํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผ, ์ฌ์ฉ์์ ์์ฒญ์ ์ฒ๋ฆฌํ์ฌ ์ฌ์ฉ์์๊ฒ ์๋ตํด์ค๋ค.
โ Data models
- DB์ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์๋ ๊ฐ๋ ๋ค์ด ๋ชจ์ธ ์งํฉ
- ์ฆ, ๋ฐ์ดํฐ ๋ชจ๋ธ์ DB์ ๊ตฌ์กฐ๋ฅผ ์ถ์ํํ์ฌ ํํํ ์ ์๋ ์๋จ์ ์ ๊ณตํ๋ค.
- ์ฌ๊ธฐ์ DB ๊ตฌ์กฐ๋, ๋ฐ์ดํฐ ์ ํ(type), ๋ฐ์ดํฐ ๊ด๊ณ(relationship), ์ ์ฝ์ฌํญ(constraints) ๋ฑ์ ๋งํ๋ค
- Data model์ ์ฌ๋ฌ ์ข ๋ฅ๊ฐ ์์ผ๋ฉฐ, ์ด๋์ ๋ ์ถ์ํํ ์ง(์ถ์ํ ๋ ๋ฒจ) ๋๋ DB์ ๊ตฌ์กฐ์ ๋ฐฉ์์ ๋ฐ๋ผ ์กฐ๊ธ์ฉ ๋ค๋ฅด๋ค.
๐ฅ Data models ๋ถ๋ฅ
1๏ธโฃ Conceptual(or high-level) data models
- ๊ฐ๋ฐ์๊ฐ ์๋ ์ผ๋ฐ ์ฌ์ฉ์๋ค๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋ ๊ฐ๋ ๋ค๋ก ์ด๋ฃจ์ด์ง ๋ชจ๋ธ
- ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ์ ์ถ์ํํ์ฌ ๊ธฐ์ ํ ๋ ์ฌ์ฉํ๋ค.
- ๋ฐ์ดํฐ ๋ชจ๋ธ ์ค ์ถ์ํ ์์ค์ด ๊ฐ์ฅ ๋๋ค.
- ์์: ER๋ชจ๋ธ
2๏ธโฃ Logical(or representational) data models
- ์ดํดํ๊ธฐ ์ด๋ ต์ง ์์ผ๋ฉด์๋, ๋ํ ์ผํ๊ฒ DB๋ฅผ ๊ตฌ์กฐํํ ์ ์๋ ๊ฐ๋ ๋ค์ ์ ๊ณตํ๋ค.
- ์ฆ, ์ค์ ๋ฌผ๋ฆฌ๋ฐ์ดํฐ๊ฐ ์ปดํจํฐ์ ์ ์ฅ๋ ๋์ ๊ตฌ์กฐ์ ํฌ๊ฒ ๋ค๋ฅด์ง ์๊ฒ DB๋ฅผ ๊ตฌ์กฐํํ ์ ์๋๋ก ํด์ค๋ค.
- ๊ทธ๋ฌ๋ ์ค์ ๋ฌผ๋ฆฌ ๊ตฌ์กฐ์ ์์ ๊ฐ์ง๋ ์๊ณ , ํน์ DBMS๋ storage์ ์ข ์๋์ง ์๋ ์์ค์์ DB๋ฅผ ๊ตฌ์กฐํํ ์ ์๋ ๋ชจ๋ธ์ด๋ค.
- ์์: relational data model(๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ), object data model, object-relational data model ๋ฑ
3๏ธโฃ Physical(or low-level) data models
- ์ปดํจํฐ์ ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ํ์ผ ํํ๋ก ์ ์ฅ๋๋์ง๋ฅผ ๊ธฐ์ ํ ์ ์๋ ์๋จ์ ์ ๊ณตํด์ค๋ค.
- data format, data orderings, access path ๋ฑ
โ Database Schema๋?
- Data model์ ๋ฐํ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ ํ ๊ฒ.
- ์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํ ๋ ์ ํด์ง๋ฉฐ, ์ด ์คํค๋ง์ ๋ฐ๋ผ DB์ ๊ตฌ์กฐ๊ฐ ์ ํด์ง๊ธฐ ๋๋ฌธ์
์คํค๋ง๋ ํ ๋ฒ ์ ํด์ง ํ์๋ ์ ๋ฐ๋์ง ์๋๋ค.
โ Database state๋?
- ํน์ ์์ ์ DB์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋งํ๋ค. (snapshot์ด๋ผ๊ณ ๋ ํ๋ค)
- DB์ ์๋ ์ค์ ๋ฐ์ดํฐ๋ ๊ฝค ์์ฃผ ๋ฐ๋ ์ ์์ด์ ํ์ํ ๊ฐ๋ ์ด๋ค
โ Three-schema architecture
- Database system์ ๊ตฌ์ถํ๋ ์ํคํ ์ฒ ์ค ํ๋์ด๋ค.
- User application์ผ๋ก๋ถํฐ ๋ฌผ๋ฆฌ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ถ๋ฆฌ์ํค๋ ค๋ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ค.
- ์ฆ ๋ฌผ๋ฆฌ์ ์ธ DB๊ฐ ๋ฐ๋๋๋ผ๋, user application์๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
- 3๊ฐ์ง ๋ ๋ฒจ์ด ์กด์ฌํ๋ฉฐ, ๊ฐ ๋ ๋ฒจ๋ง๋ค ์คํค๋ง๊ฐ ์ ์๋์ด ์๋ค.
1๏ธโฃ External level - External schemas
- ์ฌ์ฉ์๊ฐ ๋ณด๊ฒ ๋๋ ์คํค๋ง๋ผ์ external views , user views ๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค.
- ํน์ ์ฌ์ฉ์๊ฐ ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ง ํํํ๊ณ , ๊ทธ ์ธ ์๋ ค์ค ํ์๊ฐ ์๋ ๋ฐ์ดํฐ๋ ์จ๊ธด๋ค.
- logical data model์ ์ด์ฉํด์ ํํํ๋ค.
2๏ธโฃ Conceptual level - Conceptual schemas
- ์ฌ์ฉ์๋ง๋ค ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ง ๋ณด์ฌ์ฃผ๋ ค๋ค๋ณด๋, ์ค๋ณต๋๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง internal schema๋ค์ด ์๊ฒจ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฑ์ฅํ ๊ฐ๋ ์ด๋ค.
- ๋ฌผ๋ฆฌ์ ์ธ ์ ์ฅ ๊ตฌ์กฐ์ ๊ดํ ๋ด์ฉ์ ์จ๊ธฐ๊ณ , ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๊ตฌ์กฐ๋ฅผ logical data model์ ์ด์ฉํด์ ๊ธฐ์ ํ๋ค.
- Internal schema๋ฅผ ๋ ผ๋ฆฌ์ ์ผ๋ก ์ถ์ํํด์ ํํํ ๊ตฌ์กฐ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
- ๋ฐ๋ผ์ Entities, data types, relationships, user operations, constraints์ ์ง์คํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ํํํ๋ค.
3๏ธโฃ Internal level - Internal schemas
- ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ์ ์ฅ๋๋์ง physical data model์ ์ด์ฉํด์ ํํํ๋ค.
- Data storage, data structure, access path ๋ฑ ๋ฌผ๋ฆฌ์ ์ค์ฒด๊ฐ ์๋ ๋ด์ฉ์ ๊ธฐ์ ํ๋ ์คํค๋ง์ด๋ค.
- Three-schema architecture์์ ๊ฐ ๋ ๋ฒจ์ ๋ ๋ฆฝ์ํค๋ ์ด์ ๋, ์ด๋ ๋ ๋ฒจ์์์ ๋ณํ๊ฐ ๋ค๋ฅธ ๋ ๋ฒจ์ ์ํฅ์ ์ฃผ์ง ์๋๋ก ํ๊ธฐ ์ํด์์ด๋ค. (์์ ์ ์ด์ ๋ชฉ์ )
- ๋๋ถ๋ถ DBMS๊ฐ three level์ ๋ช ์์ ์ผ๋ก ์๋ฒฝํ๊ฒ ๋๋์ง๋ ์๋๋ค.
โ DDL์ด๋?
- Data Definition Language
- Conceptual schema๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ธ์ด์ด๋ค.
โ SDL์ด๋?
- Storage Definition Language
- Internal schema๋ฅผ ์ ์ํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ ์ธ์ด.
- ์์ฆ, ํนํ relational DBMS์์๋ SDL์ด ๊ฑฐ์ ์๊ณ , internal schema ์ ์๋ ํ๋ผ๋ฏธํฐ ๋ฑ์ ์ค์ ์ผ๋ก ๋์ฒด๋๋ค.
โ VDL์ด๋?
- View Definition Language
- External schema๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ธ์ด์ด๋ค.
- ๋๋ถ๋ถ์ DBMS์์๋ DDL์ด VDL์ ์ญํ ๊น์ง ์ํํ๋ค.
โ DML์ด๋?
- Data manipulation Language
- DB์ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉ(์ถ๊ฐ, ์์ , ๊ฒ์, ์ญ์ ๋ฑ)ํ๊ธฐ ์ํ ์ธ์ด์ด๋ค.
โญ๏ธ ์ค๋๋ ์ DBMS๋ DML, VDL, DDL์ด ๋ฐ๋ก ์กด์ฌํ๊ธฐ๋ณด๋ค๋, ํ๋์ ํตํฉ๋ ์ธ์ด๋ก ์กด์ฌํ๋ค.
- ๋ํ์ ์ธ ์๊ฐ relational database language์ธ SQL์ด๋ค.
'๊ฐ์ธ ๊ณต๋ถ > DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DBMS์์ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ์ (Heap, ISAM, B+ Tree) (1) | 2024.11.08 |
---|---|
๊ด๊ณ ๋ชจ๋ธ์ ๋ฆด๋ ์ด์ ๊ณผ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด (1) | 2024.11.07 |
DBMS๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ DBMS ์คํค๋ง (0) | 2024.11.07 |
๊ด๊ณ๋์์ (1) | 2023.12.27 |
[๊ฐ์ ์ ๋ฆฌ] Relational Database, KEY, Constraints (1) | 2023.12.18 |