์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ์๋ฐ ๊ฐ๋
- ๋ฌ์คํธ ํ๋ก๊ทธ๋๋ฐ ๊ณต์ ๊ฐ์ด๋
- Operating System
- java
- ์ฐ๋ถํฌ
- ์๋ฐ ๊ธฐ์ด
- ๋ฐฑ์ค
- ๋ฌ์คํธ
- ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ
- ์ค๋ผํด
- Database
- ํ์ด์ฌ
- Reversing
- OS
- ์ค๋ผํดDB
- C
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ด์์ฒด์
- Python
- ์๊ณ ๋ฆฌ์ฆ
- ํ์ด์ฌ ์ฑ๋ฆฐ์ง
- ๋ฐ์ดํฐ ํต์
- ์๋ฐ
- ํ์ด์ฌ ์ฒผ๋ฆฐ์ง
- Python challenge
- ๋ฌ์คํธ ์์
- ๋ฐฑ์ค ๋ฌ์คํธ
- data communication
- Rust
- ubuntu
Archives
- Today
- Total
IT’s Portfolio
[Lecture] DataBase - Day 3 ๋ณธ๋ฌธ
728x90
๋ฐ์ํ
๐ฅ DataBase - Day 3
- 2.3 ๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ
- 3๋จ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ์ฌ์ ๋๋ ๋งค์นญ(= ์คํค๋ง ์ฌ์ด์ ๋์ ๊ด๊ณ)
- ์ธ๋ถ/๊ฐ๋
์ฌ์ : ์ธ๋ถ ์คํค๋ง์ ๊ฐ๋
์คํค๋ง์ ๋์ ๊ด๊ณ
์์ฉ ์ธํฐํ์ด์ค(Application Interface)
- ๊ฐ๋
/๋ด๋ถ ์ฌ์ : ๊ฐ๋
์คํค๋ง์ ๋ด๋ถ ์คํค๋ง์ ๋์ ๊ด๊ณ
์ ์ฅ ์ธํฐํ์ด์ค(Storage Interface)
- ์ธ๋ถ/๊ฐ๋
์ฌ์ : ์ธ๋ถ ์คํค๋ง์ ๊ฐ๋
์คํค๋ง์ ๋์ ๊ด๊ณ
- ๋ฏธ๋ฆฌ ์ ์๋ ์ฌ์ ์ ๋ณด๋ฅผ ์ด์ฉํด ์ฌ์ฉ์๊ฐ ์ํ๋ ๋ฐ์ดํฐ์ ์ ๊ทผ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ 3๋จ๊ณ ๊ตฌ์กฐ๋ก ๋๋๊ณ , ๋จ๊ณ๋ณ๋ก ์คํค๋ง๋ฅผ ์ ์งํ๋ฉฐ ์คํค๋ง ์ฌ์ด์ ๋์ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ๊ถ๊ทน์ ์ธ ๋ชฉ์ =>
๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ(data independency)
์ ์คํ - ๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ
- ํ์ ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํ๋๋ผ๋ ์์ ์คํค๋ง๊ฐ ์ํฅ์ ๋ฐ์ง ์๋ ํน์ฑ
- ๋
ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ
- ๊ฐ๋ ์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ์ธ๋ถ ์คํค๋ง๊ฐ ์ํฅ์ ๋ฐ์ง ์์
- ์ ์ฒด DB์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์ด๋ ๊ด๋ จ๋ ์ธ๋ถ/๊ฐ๋ ์ฌ์ ์ ๋ณด๋ง ์ ํํ ์์ ํด์ฃผ๋ฉด ๋จ
- ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ
- ๋ด๋ถ ์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ์๋ ์คํค๋ง๊ฐ ์ํฅ์ ๋ฐ์ง ์์
- DB์ ์ ์ฅ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์ด๋ ๊ด๋ จ๋ ๊ฐ๋ /๋ด๋ถ ์ฌ์ ์ ๋ณด๋ง ์ ํํ ์์ ํด์ฃผ๋ฉด ๋จ
- 3๋จ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ์ฌ์ ๋๋ ๋งค์นญ(= ์คํค๋ง ์ฌ์ด์ ๋์ ๊ด๊ณ)
- 2.4 ๋ฐ์ดํฐ ์ฌ์
- DB์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๊ดํ ์ ๋ณด, ์ฆ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ ์์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
์์คํ ์นดํ๋ก๊ทธ(system catalog)
๋ผ๊ณ ๋ ํจ- ์คํค๋ง, ์ฌ์ ์ ๋ณด, ๋ค์ํ ์ ์ฝ์กฐ๊ฑด ๋ฑ ์ ์ฅ
- DBMS๊ฐ ์ค์ค๋ก ์์ฑํ๊ณ ์ ์งํจ
- ์ผ๋ฐ ์ฌ์ฉ์๋ ์ ๊ทผํ ์ ์์ง๋ง ์ ์ฅ ๋ด์ฉ์ ๊ฒ์ํ๋ ์์ ๋ง ํ ์ ์์
์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(user database)
: ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ์ด์ฉํ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ์ผ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฐ์ดํฐ ๋๋ ํฐ๋ฆฌ(data directory)
: ๋ฐ์ดํฐ ์ฌ์ ์ ์๋ ๋ฐ์ดํฐ์ ์ค์ ๋ก ์ ๊ทผํ๋ ๋ฐ ํ์ํ๋ ์์น ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ์์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค- ์ผ๋ฐ ์ฌ์ฉ์์ ์ ๊ทผ์ ํ์ฉํ์ง ์์
[03] ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์
์ฌ์ฉ์(user)
: DB๋ฅผ ์ด์ฉํ๊ธฐ ์ํด ์ ๊ทผํ๋ ๋ชจ๋ ์ฌ๋- ์ด์ฉ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ด๋ฆฌ์, ์ต์ข ์ฌ์ฉ์, ์์ฉ ํ๋ก๊ทธ๋๋ฉ๋ก ๋๋จ
- 3.1 ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์(DBA; DataBase Administrator)
: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์ด์๏น๊ด๋ฆฌํจ- ์ฃผ๋ก ๋ฐ์ดํฐ ์ ์์ด์ ๋ฐ์ดํฐ ์ ์ด์ด๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์ ์ฃผ์ ์
๋ฌด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ฑ ์์ ์ ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ์ ์
- ๋ฌผ๋ฆฌ์ ์ ์ฅ ๊ตฌ์กฐ์ ์ ๊ทผ ๋ฐฉ๋ฒ ๊ฒฐ์
- ๋ฌด๊ฒฐ์ฑ ์ ์ง๋ฅผ ์ํ ์ ์ฝ์กฐ๊ฑด ์ ์
- ๋ณด์ ๋ฐ ์ ๊ทผ ๊ถํ ์ ์ฑ ๊ฒฐ์
- ๋ฐฑ์ ๋ฐ ํ๋ณต ๊ธฐ๋ฒ ์ ์
- ์์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ
- ์์คํ ์ฑ๋ฅ ๊ฐ์ ๋ฐ ์ฑ๋ฅ ๋ถ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ๊ตฌ์ฑ
- 3.2 ์ต์ข
์ฌ์ฉ์
์ต์ข ์ฌ์ฉ์(end user)
: ๋ฐ์ดํฐ๋ฅผ ์กฐ์(์ฝ์ ๏น์ญ์ ๏น์์ ๏น๊ฒ์)ํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ ์ฌ๋๋ค- ์ฃผ๋ก ๋ฐ์ดํฐ ์กฐ์์ด ์ฌ์ฉ
์บ์ฃผ์ผ ์ฌ์ฉ์(casual end user)
์์ด๋ณด ์ฌ์ฉ์(naive end user)
๋ก ๊ตฌ๋ถ
- 3.3 ์์ฉ ํ๋ก๊ทธ๋๋จธ
์์ฉ ํ๋ก๊ทธ๋๋จธ(application programmer)
: ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ ๋ฐ์ดํฐ ์กฐ์์ด๋ฅผ ์ฝ์ ํ๋ ์ฌ์ฉ์- ์ฃผ๋ก ๋ฐ์ดํฐ ์กฐ์์ด๋ฅผ ์ฝ์
[04] ๋ฐ์ดํฐ ์ธ์ด
๋ฐ์ดํฐ ์ธ์ด(data language)
: ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ๊ณผ ํต์ ํ๋ ์๋จ- ์ฌ์ฉ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ฐ์ดํฐ ์ ์์ด, ๋ฐ์ดํฐ ์กฐ์์ด, ๋ฐ์ดํฐ ์ ์ด์ด๋ก ๋๋จ
- 4.1 ๋ฐ์ดํฐ ์ ์์ด
๋ฐ์ดํฐ ์ ์์ด(DDL; Data Definition Language)
: ์คํค๋ง๋ฅผ ์ ์ํ๊ฑฐ๋ ์ญ์ ๋๋ ์์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ์ธ์ด
- 4.2 ๋ฐ์ดํฐ ์กฐ์์ด
๋ฐ์ดํฐ ์กฐ์์ด(DML; Data Manipulation Language)
: ๋ฐ์ดํฐ์ ์ฝ์ ๏น์ญ์ ๏น์์ ๏น๊ฒ์ ๋ฑ์ ์ฒ๋ฆฌ๋ฅผ ์๊ตฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ์ธ์ด์ ์ฐจ์ ๋ฐ์ดํฐ ์กฐ์์ด(procedural DML)
- ์ฌ์ฉ์๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ํ๊ณ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ป์ผ๋ ค๋ฉด ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋์ง ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ช
๋น์ ์ฐจ์ ๋ฐ์ดํฐ ์กฐ์์ด(nonprocedural DML)
- ์ฌ์ฉ์๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ํ๋์ง๋ง ์ค๋ช
- 4.3 ๋ฐ์ดํฐ ์ ์ด์ด
๋ฐ์ดํฐ ์ ์ด์ด(DCL; Data Control Language)
: ๋ด๋ถ์ ์ผ๋ก ํ์ํ ๊ท์น์ด๋ ๊ธฐ๋ฒ์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ์ธ์ด๋ฌด๊ฒฐ์ฑ(integrity)
๋ณด์(security)
ํ๋ณต(recovery)
๋์์ฑ(concurrency)
[05] ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ๊ตฌ์ฑ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ณ ์ฌ์ฉ์์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๊ตฌ๋ฅผ ์ํ
- ์ฃผ์ ๊ตฌ์ฑ ์์
์ง์ ์ฒ๋ฆฌ๊ธฐ(query processor)
- ์ฌ์ฉ์์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๊ตฌ๋ฅผ ํด์ํ์ฌ ์ฒ๋ฆฌ
DDL ์ปดํ์ผ๋ฌ(DDL compiler)
: ๋ฐ์ดํฐ ์ ์์ด๋ก ์์ฑ๋ ์คํค๋ง์ ์ ์๋ฅผ ํด์DML ํ๋ฆฌ ์ปดํ์ผ๋ฌ(DML precompiler)
: ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฝ์ ๋ ๋ฐ์ดํฐ ์กฐ์์ด๋ฅผ ์ถ์ถํ์ฌ DML ์ปดํ์ผ๋ฌ์ ์ ๋ฌDML ์ปดํ์ผ๋ฌ(DML compiler)
: ๋ฐ์ดํฐ ์กฐ์์ด๋ก ์์ฑ๋ ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ ์๊ตฌ๋ฅผ ๋ถ์ํ์ฌ ๋ฐํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ๊ธฐ๊ฐ ์ดํดํ ์ ์๋๋ก ํด์๋ฐํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ๊ธฐ(run-time database processor)
: ์ ์ฅ ๋ฐ์ดํฐ ๊ด๋ฆฌ์๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ์ฌ, DML ์ปดํ์ผ๋ฌ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๊ตฌ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ค์ ๋ก ์คํํธ๋์ญ์ ๊ด๋ฆฌ์(transaction manager)
: ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ ๊ณผ์ ์์ ์ฌ์ฉ์์ ์ ๊ทผ ๊ถํ์ด ์ ํจํ์ง๋ฅผ ๊ฒ์ฌํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ ์ ์ฝ์กฐ๊ฑด ์๋ฐ ์ฌ๋ถ๋ฅผ ํ์ธ ๋ฐ ํ๋ณต์ด๋ ๋ณํ ์ํ๊ณผ ๊ด๋ จ๋ ์์ ๋ ์ํ
์ ์ฅ ๋ฐ์ดํฐ ๊ด๋ฆฌ์(stored data manager)
- ๋์คํฌ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ์ฌ์ ์ ๊ด๋ฆฌํ๊ณ , ์ค์ ์ ๊ทผํ๋ ์ญํ ๋ด๋น
๐๐ป [Chapter 04] ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
[01] ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง๊ณผ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ฐ๋
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง(data modeling)
: ํ์ค ์ธ๊ณ์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ์ปดํจํฐ ์ธ๊ณ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฎ๊ธฐ๋ ๋ณํ ๊ณผ์ - ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณํ ๊ณผ์ : "์ฝ๋ผ๋ฆฌ"
- ๋จธ๋ฆฟ์์์ ์ฝ๋ผ๋ฆฌ๋ฅผ ๊ทธ๋ฆด ์ ์๋ ๋ฐ์ดํฐ
- "๋ฐ์ด 4๊ฐ, ์ฝ์ ๊ธธ์ด๊ฐ ๊น, ๋ชธ๋ฌด๊ฒ๋ 1ํค ์ด์, ์ฝ๋ฅผ ์ด์ฉํด ๋ฌผ๊ฑด์ ์ก์" =>
์ถ์ํ(abstraction)
๊ณผ์
- "๋ฐ์ด 4๊ฐ, ์ฝ์ ๊ธธ์ด๊ฐ ๊น, ๋ชธ๋ฌด๊ฒ๋ 1ํค ์ด์, ์ฝ๋ฅผ ์ด์ฉํด ๋ฌผ๊ฑด์ ์ก์" =>
- ํด๋น ์ถ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ ๊ตฌ์กฐ๋ ์๊ฐํด์ผ ํจ
- ๋จธ๋ฆฟ์์์ ์ฝ๋ผ๋ฆฌ๋ฅผ ๊ทธ๋ฆด ์ ์๋ ๋ฐ์ดํฐ
- 2๋จ๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
๊ฐ๋ ์ ๋ชจ๋ธ๋ง(conceptual modeling)
- ํ์ค ์ธ๊ณ์์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ๊ฐ๋ ์ธ๊ณ๋ก ์ฎ๊ธฐ๋ ์์
๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง(logical modeling)
- ๊ฐ๋ ์ธ๊ณ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ ํ๊ณ ์ด ๊ตฌ์กฐ๋ก ํํํ๋ ์์
๋ฐ์ดํฐ ๋ชจ๋ธ(data model)
: ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๊ฒฐ๊ณผ๋ฌผ์ ํํํ๋ ๋๊ตฌ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
: ์ฌ๋์ ๋จธ๋ฆฌ๋ก ์ดํดํ ์ ์๋๋ก ํ์ค ์ธ๊ณ๋ฅผ ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋งํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ๋ ์ ๊ตฌ์กฐ๋ก ํํํ๋ ๋๊ตฌ- ๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ
๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
: ๊ฐ๋ ์ ๊ตฌ์กฐ๋ฅผ ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋งํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ก ํํํ๋ ๋๊ตฌ- ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ
- ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ตฌ์ฑ
๋ฐ์ดํฐ ๊ตฌ์กฐ(data structure)
- ๊ฐ๋
์ ๋ฐ์ดํฐ ๋ชจ๋ธ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ
- ํ์ค ์ธ๊ณ๋ฅผ ๊ฐ๋ ์ธ๊ณ๋ก ์ถ์ํํ์ ๋ ์ด๋ค ์์๋ก ์ด๋ฃจ์ด์ ธ ์๋์ง๋ฅผ ํํ
- ๋
ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ
- ๋ฐ์ดํฐ๋ฅผ ์ด๋ค ๋ชจ์ต์ผ๋ก ์ ์ฅํ ๊ฒ์ธ์ง๋ฅผ ํํ
- ์ ์ ์ด๋ผ๋ ํน์ง
- ๊ฐ๋
์ ๋ฐ์ดํฐ ๋ชจ๋ธ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ
์ฐ์ฐ(operation)
- ๊ฐ๋ ์ธ๊ณ๋ ์ปดํจํฐ ์ธ๊ณ์์ ์ค์ ๋ก ํํ๋ ๊ฐ๋ค์ ์ฒ๋ฆฌํ๋ ์์
- ๋์ ์ด๋ผ๋ ํน์ง
์ ์ฝ์กฐ๊ฑด(constraint)
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ง ๋ชฉ์ - ๊ตฌ์กฐ์ ์ธก๋ฉด์ ์ ์ฝ ์ฌํญ
- ์ฐ์ฐ์ ์ ์ฉํ๋ ๊ฒฝ์ฐ ํ์ฉํ ์ ์๋ ์๋ฏธ์ ์ธก๋ฉด์ ์ ์ฝ ์ฌํญ
[02] ๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ
๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ(E-R model; Entity-Relationship model)
- ํผํฐ ์ฒธ์ด 1976๋ ์ ์ํ ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
- ๊ฐ์ฒด์ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ์ด์ฉํด ํ์ค ์ธ๊ณ๋ฅผ ๊ฐ๋ ์ ๊ตฌ์กฐ๋ก ํํํ๋ ๋ฐฉ๋ฒ
- ํต์ฌ ์์ :
๊ฐ์ฒด
,์์ฑ
,๊ด๊ณ
๊ฐ์ฒด-๊ด๊ณ ๋ค์ด์ด๊ทธ๋จ(E-R Diagram)
- E-R ๋ค์ด์ด๊ทธ๋จ
- ํ์ค ์ธ๊ณ๋ฅผ ๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ์ ์ด์ฉํด ๊ฐ๋ ์ ์ผ๋ก ๋ชจ๋ธ๋งํ์ฌ ๊ทธ๋ฆผ์ผ๋ก ํํํ ๊ฒ
- 2.1 ๊ฐ์ฒด
๊ฐ์ฒด(entity)
: ํ์ค ์ธ๊ณ์์ ์กฐ์ง์ ์ด์ํ๋ ๋ฐ ๊ผญ ํ์ํ ์ฌ๋์ด๋ ์ฌ๋ฌผ๊ณผ ๊ฐ์ด ๊ตฌ๋ณ๋๋ ๋ชจ๋ ๊ฒ์ ์๋ฏธ- ์ ์ฅํ ๋งํ ๊ฐ์น๊ฐ ์๋ ์ค์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ์ฌ๋์ด๋ ์ฌ๋ฌผ ๋ฑ
- ๊ฐ๋ ์ ๋ชจ๋ธ๋ง์ ํ๋ ๋ฐ ๊ฐ์ฅ ์ค์ํ ์์
- ๋ค๋ฅธ ๊ฐ์ฒด์ ๊ตฌ๋ณ๋๋ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์๊ณ , ๊ฐ ๊ฐ์ฒด๋ง์ ๊ณ ์ ํ ํน์ฑ์ด๋ ์ํ, ์ฆ ์์ฑ์ ํ๋ ์ด์ ๊ฐ์ง๊ณ ์์
- (Ex) ์์ ์ ํ์ํ ๊ฐ์ฒด : ๊ณ ๊ฐ, ์ฑ
- (Ex) ํ๊ต์ ํ์ํ ๊ฐ์ฒด : ํ๊ณผ, ๊ณผ๋ชฉ
- E-R ๋ค์ด์ด๊ทธ๋จ์์ ๊ฐ์ฒด๋ฅผ ์ฌ๊ฐํ ์ผ๋ก ํํํ๊ณ ์ฌ๊ฐํ ์์ ๊ฐ์ฒด์ ์ด๋ฆ์ ํ๊ธฐํจ
- ๊ฐ์ฒด๋ ํ์ผ ๊ตฌ์กฐ์
๋ ์ฝ๋(record)
์ ๋์
๊ฐ์ฒด ํ์ (entity type)
: ๊ฐ์ฒด๋ฅผ ๊ณ ์ ํ ์ด๋ฆ๊ณผ ์์ฑ๋ค๋ก ์ ์ํ ๊ฒ- ๊ฐ์ฒด ํ์
์ ํ์ผ ๊ตฌ์กฐ์
๋ ์ฝ๋ ํ์ (record type)
๊ณผ ๋์
- ๊ฐ์ฒด ํ์
์ ํ์ผ ๊ตฌ์กฐ์
๊ฐ์ฒด ์ธ์คํด์ค(entity instance) ๋๋ ๊ฐ์ฒด ์ด์ปค๋ฐ์ค(entity occurrence)
: ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๊ณ ์๋ ์์ฑ์ด ์ค์ ๊ฐ์ ๊ฐ์ง์ผ๋ก์จ ์ค์ฒดํ๋ ๊ฐ์ฒด- ๊ฐ์ฒด ์ธ์คํด์ค๋ ํ์ผ ๊ตฌ์กฐ์
๋ ์ฝ๋ ์ธ์คํด์ค(record instance)
์ ๋์
- ๊ฐ์ฒด ์ธ์คํด์ค๋ ํ์ผ ๊ตฌ์กฐ์
๊ฐ์ฒด ์งํฉ(entity set)
: ํน์ ๊ฐ์ฒด ํ์ ์ ๋ํ ๊ฐ์ฒด ์ธ์คํด์ค๋ค์ ๋ชจ์ ๋์ ๊ฒ- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ค์ ๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ด ๊ฐ์ฒด ์ธ์คํด์ค๋ค์ ๋ชจ์์ธ ๊ฐ์ฒด ์งํฉ์ด๋ผ ํ ์ ์์
- 2.2 ์์ฑ
์์ฑ(attribute)
: ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ณ ์ ํ ํน์ฑ- ์๋ฏธ ์๋ ๋ฐ์ดํฐ์ ๊ฐ์ฅ ์์ ๋ ผ๋ฆฌ์ ๋จ์
- E-R ๋ค์ด์ด๊ทธ๋จ์์ ์์ฑ์ ํ์ ์ผ๋ก ํํํ๊ณ ํ์ ์์ ์์ฑ์ ์ด๋ฆ์ ํ๊ธฐํจ
- ์์ฑ์ ํ์ผ ๊ตฌ์กฐ์
ํ๋(field)
์ ๋์
๋จ์ผ ๊ฐ ์์ฑ(single-valued attribute)
- ๊ฐ์ ํ๋๋ง ๊ฐ์ง ์ ์๋ ์์ฑ
- (Ex) ๊ณ ๊ฐ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์ด๋ฆ๏น์ ๋ฆฝ๊ธ ๋ฑ์ ์์ฑ
๋ค์ค ๊ฐ ์์ฑ(multi-valued attribute)
- ๊ฐ์ ์ฌ๋ฌ ๊ฐ ๊ฐ์ง ์ ์๋ ์์ฑ
- (Ex) ๊ณ ๊ฐ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์ฐ๋ฝ์ฒ ์์ฑ
- (Ex) ์ฑ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์ ์ ์์ฑ
- ๋ค์ค ๊ฐ ์์ฑ์ ์ด์ค ํ์์ผ๋ก ํํ
๋จ์ ์์ฑ(simple attribute)
- ์๋ฏธ๋ฅผ ๋๋ ๋ถํดํ ์ ์๋ ์์ฑ
- (Ex) ๊ณ ๊ฐ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์ ๋ฆฝ๊ธ ์์ฑ
- (Ex) ์ฑ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์ด๋ฆ๏นISBN๏น๊ฐ๊ฒฉ ๋ฑ์ ์์ฑ
๋ณตํฉ ์์ฑ(composite attribute)
- ์๋ฏธ๋ฅผ ๋ถํดํ ์ ์๋ ์์ฑ
- (Ex) ๊ณ ๊ฐ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์ฃผ์ ์์ฑ
- (Ex) ๊ณ ๊ฐ ๊ฐ์ฒด์ ์๋ ์์ผ ์์ฑ
์ ๋ ์์ฑ(derived attribute)
- ๊ธฐ์กด์ ๋ค๋ฅธ ์์ฑ ๊ฐ์์ ์ ๋๋์ด ๊ฒฐ์ ๋๋ ์์ฑ
- ๊ฐ์ด ๋ณ๋๋ก ์ ์ฅ๋์ง ์์
- (Ex) ์ฑ
๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ๊ฐ๊ฒฉ๊ณผ ํ ์ธ์จ ์์ฑ์ผ๋ก ๊ณ์ฐ๋๋ ํ๋งค ๊ฐ๊ฒฉ ์์ฑ
- ๊ฐ๊ฒฉ๊ณผ ํ ์ธ์จ ์์ฑ์
์ ์ฅ ์์ฑ(stored attribute)
์ด๋ผ๊ณ ํจ
- ๊ฐ๊ฒฉ๊ณผ ํ ์ธ์จ ์์ฑ์
- (Ex) ๊ณ ๊ฐ ๊ฐ์ฒด์ ์ถ์์ฐ๋ ์์ฑ์ผ๋ก ๊ณ์ฐ๋๋ ๋์ด ์์ฑ
- E-R ๋ค์ด์ด๊ทธ๋จ์์ ์ ์ ํ์ ์ผ๋ก ํํ
๋ ์์ฑ(null attribute)
- ๋ ๊ฐ์ด ํ์ฉ๋๋ ์์ฑ
๋(null) ๊ฐ
: ์์ง ๊ฒฐ์ ๋์ง ์์๊ฑฐ๋ ๋ชจ๋ฅด๋ ๊ฐ์ ์๋ฏธ- ๊ณต๋ฐฑ์ด๋ 0๊ณผ๋ ์๋ฏธ๊ฐ ๋ค๋ฆ
ํค ์์ฑ(key attribute)
- ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๋ฅผ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์์ฑ
- ๋ชจ๋ ๊ฐ์ฒด ์ธ์คํด์ค์ ํค ์์ฑ ๊ฐ์ด ๋ค๋ฆ
- ๋ ์ด์์ ์์ฑ๋ค๋ก ๊ตฌ์ฑํ๊ธฐ๋ ํจ
- (Ex) ๊ณ ๊ฐ ๊ฐ์ฒด์ ๊ณ ๊ฐ ์์ด๋ ์์ฑ
- E-R ๋ค์ด์ด๊ทธ๋จ์์ ๋ฐ์ค์ ๊ทธ์ด ํํ
- 2.3 ๊ด๊ณ
๊ด๊ณ(relationship)
: ๊ฐ์ฒด์ ๊ฐ์ฒด๊ฐ ๋งบ๊ณ ์๋ ์๋ฏธ ์๋ ์ฐ๊ด์ฑ- ๊ฐ์ฒด ์งํฉ๋ค ์ฌ์ด์
๋์ ๊ด๊ณ(correspondence)
, ์ฆ๋งคํ(mapping)
์ ์๋ฏธ - (Ex) ๊ณ ๊ฐ ๊ฐ์ฒด์ ์ฑ ๊ฐ์ฒด ๊ฐ์ ๊ตฌ๋งค ๊ด๊ณ
- E-R ๋ค์ด์ด๊ทธ๋จ์์ ๋ง๋ฆ๋ชจ ๋ก ํํ
- ๊ฐ์ฒด ์งํฉ๋ค ์ฌ์ด์
- ๊ด๊ณ์ ์ ํ : ๊ด๊ณ์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด ํ์
์ ์ ๊ธฐ์ค
์ดํญ ๊ด๊ณ
: ๊ฐ์ฒด ํ์ 2๊ฐ๊ฐ ๋งบ๋ ๊ด๊ณ์ผํญ ๊ด๊ณ
: ๊ฐ์ฒด ํ์ 3๊ฐ๊ฐ ๋งบ๋ ๊ด๊ณ์ํ ๊ด๊ณ
: ๊ฐ์ฒด ํ์ 1๊ฐ๊ฐ ์๊ธฐ ์์ ๊ณผ ๋งบ๋ ๊ด๊ณ
- ๊ด๊ณ์ ์ ํ :
๋งคํ ์นด๋๋๋ฆฌํฐ(mapping cardinality)
๋งคํ ์นด๋๋๋ฆฌํฐ(mapping cardinality)
: ๊ด๊ณ๋ฅผ ๋งบ๋ ๋ ๊ฐ์ฒด ์งํฉ์์, ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ์ฐ๊ด์ฑ์ ๋งบ๊ณ ์๋ ์๋ ๊ฐ์ฒด ์งํฉ์ ์ธ์คํด์ค ๊ฐ์์ผ๋์ผ(1:1)
๊ด๊ณ- ๊ฐ์ฒด A์ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ๊ฐ์ฒด B์ ๊ฐ์ฒด ์ธ์คํด์ค ํ๋ ์ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์๊ณ , ๊ฐ์ฒด B์ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๋ ๊ฐ์ฒด A์ ๊ฐ์ฒด ์ธ์คํด์ค ํ๋ ์ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์์
์ผ๋๋ค(1:n)
๊ด๊ณ- ๊ฐ์ฒด A์ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๋ ๊ฐ์ฒด B์ ๊ฐ์ฒด ์ธ์คํด์ค ์ฌ๋ฌ ๊ฐ ์ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์์ง๋ง, ๊ฐ์ฒด B์ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๋ ๊ฐ์ฒด A์ ๊ฐ์ฒด ์ธ์คํด์ค ํ๋ ์๋ง ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์์
๋ค๋๋ค(n:m)
๊ด๊ณ- ๊ฐ์ฒด A์ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ๊ฐ์ฒด B์ ๊ฐ์ฒด ์ธ์คํด์ค ์ฌ๋ฌ ๊ฐ ์ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์๊ณ , ๊ฐ์ฒด B์ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๋ ๊ฐ์ฒด A์ ๊ฐ์ฒด ์ธ์คํด์ค ์ฌ๋ฌ ๊ฐ ์ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์์
- ๊ด๊ณ์ ์ฐธ์ฌ ํน์ฑ
- ํ์์ ์ฐธ์ฌ = ์ ์ฒด ์ฐธ์ฌ
- ๋ชจ๋ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ๊ด๊ณ์ ๋ฐ๋์ ์ฐธ์ฌํด์ผ ํจ
- (Ex) ๊ณ ๊ฐ ๊ฐ์ฒด์ ์ฑ ๊ฐ์ฒด ์ฌ์ด์ ๊ตฌ๋งค ๊ด๊ณ์์ ๋ชจ๋ ๊ณ ๊ฐ์ด ์ฑ ์ ๋ฐ๋์ ๊ตฌ๋งคํด์ผ ํ๋ค๋ ์ ์ฝ์กฐ๊ฑด ์กด์ฌ
- ์ ํ์ ์ฐธ์ฌ = ๋ถ๋ถ ์ฐธ์ฌ
- ๊ฐ์ฒด ์ธ์คํด์ค ์ค ์ผ๋ถ๋ง ๊ด๊ณ์ ์ฐธ์ฌํด๋ ๋จ
- (Ex) ๊ณ ๊ฐ์ด ๊ตฌ๋งคํ์ง ์์ ์ฑ ์ด ์กด์ฌํ ์ ์์
- ํ์์ ์ฐธ์ฌ ๊ด๊ณ๋ E-R ๋ค์ด์ด๊ทธ๋จ์์ ์ด์ค์ ์ผ๋ก ํํ
- ํ์์ ์ฐธ์ฌ = ์ ์ฒด ์ฐธ์ฌ
- ๊ด๊ณ์ ์ข
์์ฑ
์ฝํ ๊ฐ์ฒด(weak entity)
: ๋ค๋ฅธ ๊ฐ์ฒด์ ์กด์ฌ ์ฌ๋ถ์ ์์กด์ ์ธ ๊ฐ์ฒด- ์ด์ค ์ฌ๊ฐํ ํํ
๊ฐํ ๊ฐ์ฒด(strong entity)
: ๋ค๋ฅธ ๊ฐ์ฒด์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฐ์ฒด- ํน์ง
- ๊ฐํ ๊ฐ์ฒด์ ์ฝํ ๊ฐ์ฒด๋ ์ผ๋ฐ์ ์ผ๋ก ์ผ๋๋ค ๊ด๊ณ
- ์ฝํ ๊ฐ์ฒด๋ ๊ฐํ ๊ฐ์ฒด์์ ๊ด๊ณ์ ํ์์ ์ฐธ์ฌ
- ์ฝํ ๊ฐ์ฒด๋ ๊ฐํ ๊ฐ์ฒด์ ํค๋ฅผ ํฌํจํ์ฌ ํค ๊ตฌ์ฑ
- ์ฝํ ๊ฐ์ฒด๊ฐ ๊ฐํ ๊ฐ์ฒด์ ๋งบ๋ ๊ด๊ณ๋ ์ด์ค ๋ง๋ฆ๋ชจ ๋ก ํํ
- 2.4 E-R ๋ค์ด์ด๊ทธ๋จ
- ๊ฐ์ฒด๋ฅผ ํํํ๋ ์ฌ๊ฐํ
- ๊ด๊ณ๋ฅผ ํํํ๋ ๋ง๋ฆ๋ชจ
- ์์ฑ์ ํํํ๋ ํ์
- ๊ฐ ์์๋ฅผ ์ฐ๊ฒฐํ๋ ๋งํฌ(์ฐ๊ฒฐ์ )
- ์ผ๋์ผ, ์ผ๋๋ค, ๋ค๋๋ค ๊ด๊ณ๋ฅผ ํ๊ธฐํ๋ ๋ ์ด๋ธ
728x90
๋ฐ์ํ
'Development Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Lecture] DataBase - Day 4 (0) | 2023.03.27 |
---|---|
[Lecture] DataBase - Summary (01~03) (0) | 2023.03.20 |
[Lecture] Operating System with Ubuntu - Day 1 (0) | 2023.03.16 |
[Lecture] Data Communication - Day 2 (1) | 2023.03.16 |
[Lecture] DataBase - Day 2 (0) | 2023.03.14 |
Comments