์ฑ
์์ฒด์์ A, B ์ด๋ฐ ์์ผ๋ก ์ถ์ ์ ๋๋ฅผ ํ์ํ๊ณ , ์ถ์ ๋ ๋
๋ ์๋ ๋์จ๋ค. ํ์๋ ๋๋ก ํ ๋ฒ ์ด์ ์ถ์ ๋ ํ์ ๋ฐฐ๊ฒฝ, ๋ ๋ฒ์ด์ ๋ฐ ์ง์ ์ถ์ ๋ฅผ ํ์ธํ ๊ฒฝ์ฐ, ๋
ธ๋ ๋ฐฐ๊ฒฝ์ผ๋ก ํ์ํ ์์ ์ด๋ค. ๋ํ ํค์๋ ์์ฃผ๋ก ์ต๋ํ ๊ธฐ์ตํ๊ธฐ ์ฝ๊ฒ ๊ธฐ๋กํ ์์ ์ด๋ค. ๊ทธ๋์ ์ดํดํ๊ธฐ ํ๋ค ์๋์์ง๋ง ์ต๋ํ ์ฝ๊ฒ ์จ๋ณผ ์์ ์ด๋ค...
์คํค๋ง**
๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ๊ตฌ์กฐ์ ์ ์ฝ์กฐ๊ฑด์ ๊ดํ ์ ๋ฐ์ ๋ช ์ธ
์ธ๋ถ ์คํค๋ง | ๊ฐ๋ ์คํค๋ง | ๋ด๋ถ ์คํค๋ง |
์ฌ์ฉ์๊ฐ ๊ฐ์ธ์ ์ ์ฅ์์ ํ์๋ก ํ๋ ๋ฐ๋ฒ ๋ ผ๋ฆฌ๊ตฌ์กฐ | ๋ฐ๋ฒ ์ ์ฒด์ ์ธ ๋ ผ๋ฆฌ๊ตฌ์กฐ, ๋ชจ๋ ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ข ํฉ -> ํ๋๋ง ์กด์ฌ | ๋ฌผ๋ฆฌ์ ์ ์ฅ์ฅ์น ์ ์ฅ์์ ๋ณธ ๋ฐ๋ฒ . ์ค์ ์ ์ฅ๋ ๋ ์ฝ๋์ ํ์, ํํ ๋ฐฉ๋ฒ ๋ฑ |
์๊ตฌ์กฐ๊ฑด๋ถ์ → ๊ฐ๋ ์ ์ค๊ณ → ๋ ผ๋ฆฌ์ ์ค๊ณ → ๋ฌผ๋ฆฌ์ ์ค๊ณ → ๊ตฌํ (์๊ฐ๋ ผ๋ฌผ๊ตฌ)
- ๊ฐ๋ ์ ์ค๊ณ - ํ์ค ์ธ๊ณ์ ๋ํ ์ธ์์ ์ถ์์ ๊ฐ๋ ํํ, ๊ฐ๋ ์คํค๋ง ๋ชจ๋ธ๋ง, ํธ๋์ญ์ ๋ชจ๋ธ๋ง. ์๊ตฌ์กฐ๊ฑด ๋ช ์ธ๋ฅผ E-R ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ์์ฑ
- ๋ ผ๋ฆฌ์ ์ค๊ณ - ํน์ DB ๊ฐ ์ง์ํ๋ ๋ ผ๋ฆฌ์ ์๋ฃ ๊ตฌ์กฐ๋ก ๋ณํ (mapping). ๋ฐ์ดํฐํ๋๋ก ๊ธฐ์ ๋ ๋ฐ์ดํฐ ํ์ , ๋ฐ์ดํฐ ํ์ ๋ค ๊ฐ์ ๊ด๊ณ๋ก ํํ๋๋ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ. ๊ฐ๋ ์คํค๋ง๋ฅผ ํ๊ฐ ๋ฐ ์ ์ , DB์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ ผ๋ฆฌ์ ์คํค๋ง ์ค๊ณํ๋ ๋จ๊ณ
- ๋ฌผ๋ฆฌ์ ์ค๊ณ - ๋ ผ๋ฆฌ์ ์ค๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ก ๋ณํ. DBํ์ผ์ ์ ์ฅ ๊ตฌ์กฐ ๋ฐ ์ก์ธ์ค ๊ฒฝ๋ก ๊ฒฐ์ .
- ๋ฐ์ดํฐ ๋ชจ๋ธ - ํ์ค์ธ๊ณ ์ ๋ณด๋ค → ์ฒด๊ณ์ ์ผ๋ก ํํํ ๊ฐ๋ ์ ๋ชจํ / ๊ตฌ์กฐ, ์ฐ์ฐ, ์ ์ฝ์กฐ๊ฑด
- E-R ๋ค์ด์ด๊ทธ๋จ -
๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ๋ฆด๋ ์ด์ ๊ตฌ์กฐ
- ๋ฆด๋ ์ด์ : ๋ฐ์ดํฐ๋ค ํ ํํ๋ก ํํ
- ํํ - ํ, ๋ ์ฝ๋ / ์์ฑ - ์ด, ๋ฐ์ดํฐ ํ๋
ํ๋ณดํค Candidate Key |
ํํ์ ์ ์ผํ๊ฒ ์๋ณํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์์ฑ๋ค์ ๋ถ๋ถ์งํฉ
|
๊ธฐ๋ณธํค Primary Key |
ํ๋ณดํค ์ค ํน๋ณํ ์ ์ ๋ ์ฃผํค. ์ค๋ณต X. ํน์ ํํ์ ๊ตฌ๋ณํ ์ ์๋ ์์ฑ NULL ๊ฐ X |
์ํผํค Super Key |
ํ ๋ฆด๋ ์ด์
๋ด ์์ฑ๋ค์ ์งํฉ์ผ๋ก ๊ตฌ์ฑ๋ ํค ๋ชจ๋ ํํ์ ๋ํด ์ ์ผ์ฑ O, ์ต์์ฑ X |
์ธ๋ํค Foreign Key |
๋ค๋ฅธ ๋ฆด๋ ์ด์
์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ๋ ์์ฑ, ์์ฑ๋ค์ ์งํฉ A, ์ฐธ์กฐ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธ ํค B๊ฐ ๋์ผํ ๋๋ฉ์ธ ์ -> A ์ธ๋ํค |
๋ฌด๊ฒฐ์ฑ Integrity
DB์ ์ ์ฅ๋ ๊ฐ = ํ์ค ์ธ๊ณ์ ์ค์ ๊ฐ์ด ์ผ์นํ๋ ์ ํ์ฑ
- ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ : ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์ด๋ค ๊ฒ๋ Null, ์ค๋ณต X
- ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ : ์ธ๋ํค ๊ฐ์ Null์ด๊ฑฐ๋ ์ฐธ์กฐ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค ๊ฐ๊ณผ ๋์ผ. (์ฐธ์กฐํ ์ ์๋ ์ธ๋ํค X)
๊ด๊ณ๋์
๊ด๊ณํ DB์์ ์ํ๋ ์ ๋ณด์ ๊ทธ ์ ๋ณด๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ์ด๋ป๊ฒ ์ ๋ํ๋๊ฐ๋ฅผ ๊ธฐ์ ํ๋ ์ ์ฐจ์ ์ธ์ด
ํด๋ฅผ ๊ตฌํ๊ธฐ ์ํด ์ํํด์ผ ํ ์ฐ์ฐ์ ์์ ๋ช ์
์์ ๊ด๊ณ ์ฐ์ฐ์
Select (์๊ทธ๋ง | Project (ํ์ด | Join (๊ต์ฐจ๊ณฑ, select) | Division (๋๋๊ธฐ |
σ | ๐ฟ |
โทโ |
÷ |
์ ํ ์กฐ๊ฑด ๋ง์กฑํ๋ ๋ถ๋ถ์งํฉ ๊ตฌํด ์๋ก ๋ง๋๋ ์ฐ์ฐ. ํ (tuple) ๊ตฌํ๋ ์ฐ์ฐ์ด๋ผ ์ํ์ฐ์ฐ์ด๋ผ๊ณ ๋ ํจ. |
์์ฑ ๊ฐ๋ง์ ์ถ์ถํ์ฌ ์๋ก์ด ๋ฆด๋ ์ด์
๋ง๋๋ ์ด (attribute) ๊ตฌํ๋ ์ฐ์ฐ์ด๋ผ ์์ง ์ฐ์ฐ์๋ผ๊ณ ๋ ํจ. |
๊ณตํต ์์ฑ ์ค์ฌ์ผ๋ก ๋ ๊ฐ ๋ฆด๋ ์ด์ ํฉ์ณ์ ๋ง๋๋ | X⊃Y ์ธ ๋ ๊ฐ์ ๋ฆด๋ ์ด์ R(X), S(Y)๊ฐ ์์ ๋, ๊ฒน์น์ง ์๋ ๊ฑฐ ์ ๊ฑฐ |
์ผ๋ฐ ์งํฉ ์ฐ์ฐ์
ํฉ์งํฉ UNION | ๊ต์งํฉ INTERSECTION | ์ฐจ์งํฉ DIFFERENCE | ๊ต์ฐจ๊ณฑ CARTESIAN PRODUCT |
∪ | ∩ | - |
X |
์ ํ ์กฐ๊ฑด ๋ง์กฑํ๋ ๋ถ๋ถ์งํฉ ๊ตฌํด ์๋ก ๋ง๋๋ ์ฐ์ฐ. ํ (tuple) ๊ตฌํ๋ ์ฐ์ฐ์ด๋ผ ์ํ์ฐ์ฐ์ด๋ผ๊ณ ๋ ํจ. |
์์ฑ ๊ฐ๋ง์ ์ถ์ถํ์ฌ ์๋ก์ด ๋ฆด๋ ์ด์
๋ง๋๋ ์ด (attribute) ๊ตฌํ๋ ์ฐ์ฐ์ด๋ผ ์์ง ์ฐ์ฐ์๋ผ๊ณ ๋ ํจ. |
๊ณตํต ์์ฑ ์ค์ฌ์ผ๋ก ๋ ๊ฐ ๋ฆด๋ ์ด์ ํฉ์ณ์ ๋ง๋๋ | X⊃Y ์ธ ๋ ๊ฐ์ ๋ฆด๋ ์ด์ R(X), S(Y)๊ฐ ์์ ๋, ๊ฒน์น์ง ์๋ ๊ฑฐ ์ ๊ฑฐ |
๊ด๊ณํด์ Relational Calculus
๊ด๊ณ ๋ฐ์ดํฐ์ ์ฐ์ฐ ํํ. ๋ชจ๋ธ์ ์ ์์ ์ฝ๋ ๊ฐ ์ ์.
์ํ๋ ์ ๋ณด๊ฐ ๋ฌด์์ด๋ผ๋ ๊ฒ. (๋น์ ์ฐจ์ ํน์ฑ)
์ํ๋ ์ ๋ณด๋ ๊ณ์ฐ ์์
์ด์ Anomaly
๋ฐ์ดํฐ ๋ถํ์ํ๊ฒ ์ค๋ณต, ์กฐ์ ์ ์๊ธฐ์น ์๊ฒ ๋ฐ์ํ๋ ๊ณค๋ํ..
- ์ฝ์ ์ด์ : ์ํ์ง ์์ ๊ฐ๋ค๋ก ์ธํด ์ฝ์ ํ ์ ์๊ฒ ๋๋ ํ์
- ์ญ์ ์ด์ : ์๊ด์๋ ๊ฐ๋ค๋ ํจ๊ป ์ญ์ ๋๋, ์ฐ์ ์ญ์
- ๊ฐฑ์ ์ด์ : ์ผ๋ถ ํํ์ ์ ๋ณด๋ง ๊ฐฑ์ ๋์ด ์ ๋ณด์ ๋ถ์ผ์น์ฑ Inconsistency
ํจ์์ ์ข ์
table R ์์ X, Y ๋ถ๋ถ ์งํฉ. ํญ์ ์์ฑ Y์ ๊ฐ์ด ์ค์ง ํ๋๋ง ์ฐ๊ด (X→Y)
- ์์ ํจ์์ ์ข
์ Full Functional Dependency
table R์์
Y๊ฐ X์ ์ ์ฒด ์ข ์,
Z ⊂ X
= Y๋ X์ ์์ ํจ์์ ์ข ์ - ๋ถ๋ถ ํจ์์ ์ข
์ Partial Functional Dependency
table R์์
Y๊ฐ ๋ค๋ฅธ ์์ฑ X์ ์ ์ฒด์ ์ข ์,
์์ฑ X ์์ ๋ถ๋ถ ์งํฉ์ ์ข ์. - ์ดํ์ ํจ์์ ์ข
์ Transitive Functional Dependency
X → Y, Y → Z์ผ๋ X → Z
์ดํด๊ฐ ์ ์๋๊ธธ๋...
์์ ํจ์์ ์ข ์ : ํ๋ฒ, ๊ณผ๋ชฉ๋ฒํธ → ์ฑ์
๋ถ๋ถ ํจ์์ ์ข ์ : ํ๋ฒ → ํ๋
์ ๊ทํ Normalization
ํ ์ด๋ธ์ ์์ฑ๋ค์ด ์ํธ ์ข ์์ ์ธ ๊ด๊ณ๋ฅผ ๊ฐ๋ ํน์ฑ์ ์ด์ฉํ์ฌ ํ ์ด๋ธ์ ๋ฌด์์ค ๋ถํดํ๋ ๊ณผ์
์ค๋ณต ์ ๊ฑฐํ์ฌ ์ฝ์ , ์ญ์ , ๊ฐฑ์ ์ด์์ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์ค์ด๊ธฐ
- ์์๋ก ์ค๋ช
์ ํผ๋ฒํธ | ์ ํ๋ช | ์ฌ๊ณ ์๋ | ์ฃผ๋ฌธ๋ฒํธ | ๊ณ ๊ฐ๋ฒํธ | ์ฃผ์ | ์ฃผ๋ฌธ์๋ |
1001 | ๋ชจ๋ํฐ | 2000 | A345 D347 |
100 200 |
์์ธ ๋ถ์ฐ |
150 300 |
1007 | ๋ง์ฐ์ค | 9000 | A210 A345 B230 |
300 100 200 |
๊ด์ฃผ ์์ธ ๋ถ์ฐ |
600 400 700 |
1201 | ํค๋ณด๋ | 2100 | D347 | 200 | ๋ถ์ฐ | 300 |
<์ฃผ๋ฌธ๋ชฉ๋ก> - table
์ ํ๋ฒํธ - Primary Key ๊ธฐ๋ณธํค
- ์ 1 ์ ๊ทํ (1NF; First Normal Form)
์ฃผ๋ฌธ๋ฒํธ ๊ณ ๊ฐ๋ฒํธ ๊ฐ์ด ์ฌ๋ฌ ์ ๋ณด๊ฐ ๋ค์ด๊ฐ ์์ผ๋ฏ๋ก → 1์ ๊ทํ ํ๋ฉด
์ ํผ๋ฒํธ | ์ ํ๋ช | ์ฌ๊ณ ์๋ |
1001 | ๋ชจ๋ํฐ | 2000 |
1007 | ๋ง์ฐ์ค | 9000 |
1201 | ํค๋ณด๋ | 2100 |
์ฃผ๋ฌธ๋ฒํธ | ์ ํ๋ฒํธ | ๊ณ ๊ฐ๋ฒํธ | ์ฃผ์ | ์ฃผ๋ฌธ์๋ |
A345 | 1001 | 100 | ์์ธ | 150 |
D347 | 1001 | 200 | ๋ถ์ฐ | 300 |
A210 | 1007 | 300 | ๊ด์ฃผ | 600 |
A345 | 1007 | 100 | ์์ธ | 400 |
B230 | 1007 | 200 | ๋ถ์ฐ | 700 |
D347 | 1201 | 200 | ๋ถ์ฐ | 300 |
- ์ 2 ์ ๊ทํ (2NF; Second Normal Form)
1 ์ ๊ทํ + ๊ธฐ๋ณธํค๊ฐ ์๋ ์์ฑ์ด ๊ธฐ๋ณธํค์ ๋ํด ์์ ํจ์์ ์ข ์
์ฃผ๋ฌธ๋ฒํธ์ ์ข ์์ด ๋๋ ์์ฑ์ ๋ถ๋ฆฌํด๋ผ ! → ๊ด๋ จ ์๋๊ฑฐ ์๋๊ฑฐ ๋ถ๋ฆฌํด๋ผ
์ฃผ๋ฌธ๋ฒํธ | ์ ํ๋ฒํธ | ์ฃผ๋ฌธ์๋ |
A345 | 1001 | 150 |
D347 | 1001 | 300 |
A210 | 1007 | 600 |
A345 | 1007 | 400 |
B230 | 1007 | 700 |
D347 | 1201 | 300 |
์ฃผ๋ฌธ๋ฒํธ | ๊ณ ๊ฐ๋ฒํธ | ์ฃผ์ |
A345 | 100 | ์์ธ |
D347 | 200 | ๋ถ์ฐ |
A210 | 300 | ๊ด์ฃผ |
A345 | 100 | ์์ธ |
B230 | 200 | ๋ถ์ฐ |
D347 | 200 | ๋ถ์ฐ |
- ์ 3 ์ ๊ทํ (3NF; Third Normal Form)
2 ์ ๊ทํ + ์ดํ์ ํจ์์ ์ข ์์ ๋ง์กฑํ์ง ์๋ ์ ๊ทํ
<์ฃผ๋ฌธ> ํ ์ด๋ธ์์ ์ดํ์ ํจ์์ ์ข ์์ ์ ๊ฑฐํด 3์ ๊ทํ ๋ง๋์์ค
→
์ฃผ๋ฌธ๋ฒํธ → ๊ณ ๊ฐ๋ฒํธ, ์ฃผ์
๊ณ ๊ฐ๋ฒํธ → ์ฃผ์ - ์ ์ข
์์ด ์กด์ฌํ๋ฏ๋ก, ์ฃผ๋ฌธ๋ฒํธ → ์ฃผ์ ๋ ์ดํ์ ํจ์์ ์ข
์์ด ๋๋ค.
์ด๋ฅผ ์ ๊ฑฐํ์ฌ ๋ฌด์์ค ๋ถํด.
์ฃผ๋ฌธ๋ฒํธ | ๊ณ ๊ฐ๋ฒํธ | ์ฃผ์ |
A345 | 100 | ์์ธ |
D347 | 200 | ๋ถ์ฐ |
A210 | 300 | ๊ด์ฃผ |
A345 | 100 | ์์ธ |
B230 | 200 | ๋ถ์ฐ |
D347 | 200 | ๋ถ์ฐ |
์์..
์ฃผ๋ฌธ๋ฒํธ | ๊ณ ๊ฐ๋ฒํธ |
A345 | 100 |
D347 | 200 |
A210 | 300 |
A345 | 100 |
B230 | 200 |
D347 | 200 |
๊ณ ๊ฐ๋ฒํธ | ์ฃผ์ |
100 | ์์ธ |
200 | ๋ถ์ฐ |
300 | ๊ด์ฃผ |
100 | ์์ธ |
200 | ๋ถ์ฐ |
200 | ๋ถ์ฐ |
- ์ 1 ์ ๊ทํ (1NF; First Normal Form)
๋ชจ๋ ์์ฑ์ ๋๋ฉ์ธ์ด ์์ ๊ฐ์ผ๋ก๋ง ๋์ด์๋. ์ ๋ฆฌ๋๋ - ์ 2 ์ ๊ทํ (2NF; Second Normal Form)
1 ์ ๊ทํ + ๊ด๋ จ ์๋๊ฑฐ ์๋๊ฑฐ ๋ถ๋ฆฌ - ์ 3 ์ ๊ทํ (3NF; Third Normal Form)
2 ์ ๊ทํ + ๊ด๋ จ ์๋๊ฑฐ ๋ถ๋ฆฌ - BCNF (Boyce-Codd Normal Form)
๋ชจ๋ ๊ฒฐ์ ์๊ฐ ํ๋ณดํค Candidate Key์ธ ์ ๊ทํ
3์ ๊ทํ + ํ๋ณดํค ์ฌ๋ฌ๊ฐ -> ์ด๊ฒ ์ค์ฒฉ์ธ ๊ฒฝ์ฐ ์ ์ฉ O
๊ฐ๋จ ์ค๋ช ์์
{(ํ๋ฒ, ๊ณผ๋ชฉ๋ช ) → ๋ด๋น๊ต์, (ํ๋ฒ, ๋ด๋น๊ต์) → ๊ณผ๋ชฉ๋ช , ๋ด๋น๊ต์ → ๊ณผ๋ชฉ๋ช }
๋ฉด, ํ๋ณดํค๋ (ํ๋ฒ, ๊ณผ๋ชฉ๋ช ), (ํ๋ฒ, ๋ด๋น๊ต์)
์๋๊ฑด ๋ด๋น๊ต์ → ๊ณผ๋ชฉ๋ช . == ๋ด๋น๊ต์๋ ํ๋ณดํค๊ฐ ์๋๋ค
๊ทธ๋ผ ํ ์ด๋ธ์ ํ๋ฒ, ๋ด๋น๊ต์ / ๋ด๋น๊ต์, ๊ณผ๋ชฉ๋ช ์ผ๋ก ๋ถ๋ฆฌํ๋ฉด๋๋ค. - ์ 4 ์ ๊ทํ (4NF; Fourth Normal Form)
๋ค์ค ๊ฐ ์ข ์ (MVD ; Multi Valued Dependency) A → →B
3๊ฐ ์ข ์์ค ํ๋๊ฐ ๋ค๋ฅธ ํ๋์๋ง ์ข ์์ด๊ณ ๋๋จธ์ง ๋ฌด๊ด์ด๋ฉด ใ ใ - ์ 5 ์ ๊ทํ (5NF; Fifth Normal Form)
๋ชจ๋ ์กฐ์ธ ์ข ์ (JD ; Join Dependency)์ด ํ๋ณดํค๋ฅผ ํตํด์๋ง ์ฑ๋ฆฝ.
๋ถ๋ถ์งํฉ์ด ์ฌ๋ฌ๊ฐ, ๊ทธ ํ ์ด๋ธ์ Projection x, y, z.. ๋ฅผ ๋ชจ๋ ์กฐ์ธํ ๊ฒฐ๊ณผ์ ๋์ผํ ๊ฒฝ์ฐ ๋ง์กฑํ๋ค.. (?)๋ณต์ฌ?
๋น์ ๊ท ๋ฆด๋ ์ด์ → 1NF → 2NF → 3NF → BCNF → 4NF → 5NF
๋๋ฉ์ธ์์๊ฐ, ๋ถ๋ถ์ ํจ์์ข ์์ ๊ฑฐ, ์ดํ์ ์ ๊ฑฐ, ๊ฒฐ์ ์+ํ๋ณดํค์๋๊ฑฐ์ ๊ฑฐ, ๋ค์น์ ๊ฑฐ, ์กฐ์ธ ์ข ์์ฑ์ด์ฉ
๋ฐ์ ๊ทํ Denormalization
์ ๊ทํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๋์ ์ผ๋ก ํตํฉ, ์ค๋ณต, ๋ถ๋ฆฌํ์ฌ ์ ๊ทํ ์์น ์๋ฐฐ.
์ฑ๋ฅํฅ์, ํจ์จ์ฆ๊ฐ BUT ์ผ๊ด ์ ํ or ๊ณผ๋ํ๋ฉด ์ฑ๋ฅ์ ํ
์ฉ์ด ์ง์ฅ ์์ ;;
์์คํ ์นดํ๋ก๊ทธ System Catalog
๋ค์ํ ๊ฐ์ฒด์ ๊ดํ ์ ๋ณด๋ฅผ ํฌํจํ๋ ์์คํ DB
Data Dictionary์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์ฌ์ ์ด๋ผ๊ณ ๋ํจ.
ํธ๋์ญ์ ์ ํน์ฑ
- Atomicity ์์์ฑ - DB์ ์ฌ commit or Rollback ๊ฐ๋ฅ
- Consistency ์ผ๊ด์ฑ - ์ฑ๊ณต์ ์ผ๋ก ํ๋ฉด ์ธ์ ๋ ์ผ๊ด์ฑ์๋ DB
- Isolation ๋ ๋ฆฝ์ฑ - ๋ ์ด์์ด ๋ณํ ์คํ, ํ๋ ์คํ ์ค์ ๋ ์ ์์
- Durability ์์์ฑ - ์๋ฃ๋ ํธ๋์ญ์ ๊ฒฐ๊ณผ๋ ๊ณ ์ฅ๋๋๋ผ๋ ์๊ตฌ์ ๋ฐ์
์์ผ๋ ์
CRUD ๋ถ์ (Create, Read, Update, Delete)
ํ๋ก์ธ์ค์ ํ ์ด๋ธ ๊ฐ์ CRUD ๋งคํธ๋ฆญ์ค๋ฅผ ๋ง๋ค์ด ํธ๋์ญ์ ๋ถ์.
๋ง์ด ํธ๋์ญ์ ๋ชฐ๋ฆฌ๋ ํ ์ด๋ธ ๋ถ์
Index
๋ฐ์ดํฐ ๋น ๋ฅด๊ฒ ์ ๊ทผ ์ํด <ํค๊ฐ, ํฌ์ธํฐ> ์์ผ๋ก ๊ตฌ์ฑ๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ
View
์ฌ์ฉ์์๊ฒ ์ ๊ทผ๊ฐ๋ฅํ ์๋ฃ๋ง ๋ณด์ฌ์ฃผ๊ธฐ ์ํด
ํ๋ ์ด์์ ๊ธฐ๋ณธ ํ ์ด๋ธ๋ก๋ถํฐ ์ ๋๋ ๊ฐ์ ํ ์ด๋ธ. *๊ธฐ๋ณธ์ ์ญ์ ํ๋ฉด ๋ค ์์ด์ง๋ค
CREATE, DROP
ํํฐ์ ์ ์ข ๋ฅ
- ๋ฒ์ ๋ถํ Range Partitioning : ์ง์ ์ด์ ๊ฐ ๊ธฐ์ค ๋ถํ . ์ผ๋ณ, ์๋ณ...
- ํด์ ๋ถํ Hash Partitioning : ํด์ ํจ์ ์ ์ฉํ ๊ฒฐ๊ณผ ๊ฐ ๋ฐ๋ผ ๋ถํ .
๋ฐ์ดํฐ ๊ณ ๋ฅด๊ฒ ๋ถ์ฐํ ๋ ์ฉ์ด. ๊ณ ๊ฐ๋ฒํธ, ์ฃผ๋ฏผ๋ฒํธ๊ฐ์..๊ฑฐ ๊ตฟ - ์กฐํฉ ๋ถํ Composite Partitioning : ๋ฒ์ → ํด์. ๋ฒ์ํ๋๋ฐ ๋๋ฌด ํด ๋ ์ ์ฉ
RTO / RPO
- Recovery Time Objective ๋ชฉํ ๋ณต๊ตฌ ์๊ฐ : ๋ณต๊ตฌ๋์ด ์ฌ๊ฐ๋ ; ์ฅ์ ํ 6์๊ฐ ๋ด ๋ณต๊ตฌ ๊ฐ๋ฅ
- Recovery Point Objective ๋ชฉํ ๋ณต๊ตฌ ์์ : ๋ฐฑ์ ๊ธฐ์ค์ ; ์ฅ์ ์ ๊ธ์ ๋ฐฑ์ ์ผ๋ก ๋ณต๊ตฌ ๊ฐ๋ฅ
DAC, MAC, RBAC
- ์์ ์ ๊ทผํต์ DAC ; Discretionary Access Control
๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ์ฌ์ฉ์์ ์ ์์ ๋ฐ๋ผ ์ ๊ทผ ๊ถํ ๋ถ์ฌ. ๋ฐ์ดํฐ ์์ ์๊ฐ ๊ถํ์ง์ - ๊ฐ์ ์ ๊ทผํต์ MAC ; Mandatory Access Control
์ฃผ์ฒด์ ๊ฐ์ฒด์ ๋ฑ๊ธ ๋น๊ต, ์์คํ ์ด ๊ถํ ์ง์ , ์ธ๊ฐ ๋ฑ๊ธ ๋ถ์ฌ - ์ญํ ๊ธฐ๋ฐ ์ ๊ทผํต์ RBAC; Role Based Access control
์ญํ ์ ๋ฐ๋ผ. ์ค์๊ด๋ฆฌ์๊ฐ ๊ถํ ์ง์ . ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์ ์ต์ ํ
DAS ; Direct Attached Storage
์๋ฒ - ์ ์ฅ์ฅ์น ์ ์ฉ ์ผ์ด๋ธ๋ก ์ง์ ์ฐ๊ฒฐ
์ปดํจํฐ์ ์ธ์ฅํ๋. ๋ค๋ฅธ ์๋ฒ์์ ์ ๊ทผ ๋ถ๊ฐ
SAN ; Storage Area Network
DAS ๋น ๋ฆ + NAS ํ์ผ ๊ณต์ , ์๋ฒ์ ์ ์ฅ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ๋ ์ ์ฉ ๋คํธ์ํฌ ๋ณ๋ ๊ตฌ์ฑ
Fibre Channel ๊ด์ฑ๋ ์ค์์น ์ด์ฉํ์ฌ ๊ตฌ์ฑ. ์๋ ๋น ๋ฆ. ์ฅ์น ๋ฐ ํ์ผ ๊ณต์
์๋ฃ๊ตฌ์กฐ
- ์ ํ ๊ตฌ์กฐ : ๋ฐฐ์ด, ์ ํ(์ฐ์, ์ฐ๊ฒฐ), ์คํ, ํ, ๋ฐํฌ
- ๋น์ ํ ๊ตฌ์กฐ : ํธ๋ฆฌ, ๊ทธ๋ํ
------------------- - (์ ํ) Stack : ๋ฆฌ์คํธ ํ์ชฝ ๋์ผ๋ก๋ง ์๋ฃ์ ์ฝ์
, ์ญ์ ์์
- LIFO ํ์ ์ ์ถ
- ๊ณต๊ฐ์์ผ๋ฉด overflow
- ์๋๋ฐ ์ญ์ ํ๋ฉด underflow
- (๋น์ ํ) ๋ฐฉํฅ / ๋ฌด๋ฐฉํฅ ๊ทธ๋ํ์ ์ต๋ ๊ฐ์ ์
- ๋ฐฉํฅ n(n-1)
- ๋ฌด๋ฐฉํฅ n(n-1)/2
- (๋น์ ํ) ํธ๋ฆฌ
Preorder / Inorder / Postorder ์ดํ๋ฒ
Postfix ์์ → Infix
์ฐ์ฐ์๋ฅผ ๋ค๋ก ๋ฏธ๋ฃฌ post ๋ฅผ ์์ผ๋ก ๋ค์ ๋ฃ๊ธฐ
- A B C - / D E F + * +
- ์ธ์ ๊ธฐ์ค์ผ๋ก ๋๊ฐ์ฉ ๋ฌถ๊ธฐ
( ( A ( B C - ) / ) ( D ( E F + ) * ) + ) - ์ฐ์ฐ์๋ฅผ ๊ฐ์ด๋ฐ๋ก ์ด๋
( ( A / ( B - C ) ) + ( D * ( E + F ) ) ) - ๊ดํธ ์ ๊ฑฐ
A / ( B - C ) + D * ( E + F )
์ฝ์ , ์ ํ, ๋ฒ๋ธ, ํต ์ ๋ ฌ
์ค์ ํค์๋ ์ ์ฌ์ ๋ฆฌ
์คํค๋ง(์ธ๋ถ, ๊ฐ๋ , ๋ด๋ถ), ์๊ฐ๋ ผ๋ฌผ๊ตฌ (์ค๊ณ์์), ๊ด๊ณํ DB ๋ฆด๋ ์ด์ ๊ตฌ์กฐ (๊ธฐ๋ณธํค, ํ๋ณดํค, ์ํผํค, ์ธ๋ํค), ์์ ๊ด๊ณ ์ฐ์ฐ์ (๊ธฐํธ๊ฐ ๋์ ์ต๋๋ก ํ์), ์ด์ (์ฝ์ , ์ญ์ ๊ฐฑ์ ), ๋ฐ์ ๊ทํ, ํธ๋์ญ์ ํน์ฑ (์์, ์ผ๊ด, ๋ ๋ฆฝ, ์์), ์ ๊ทผํต์ (DAC, MAC, RBAC)
๊ฝค๋ ๋ง์ด ๋ค์ํ๊ฒ ๋์ฌ ์ ์์ผ๋ ์ด๋ฒ ์ฅ์ ์ค์ํ๊ฒ ์ ๋ฐ์ ์ผ๋ก ๋ค ๋ณด๋ ๊ฒ์ด.. ์ข๊ฒ ๋ค... ใ ใ
'์๊ฒฉ์ฆ ์์ผ๋ฉด ์ข์ง > ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๊ธฐ] ์ด์ด์ด์์ฝ - 6์ฅ ํ๋ฉด ์ค๊ณ (1) | 2024.10.16 |
---|---|
[์ค๊ธฐ] ์ด์ด์ด์์ฝ - 5์ฅ ์ธํฐํ์ด์ค ๊ตฌํ (0) | 2024.10.15 |
[์ค๊ธฐ] ์ด์ด์ด์์ฝ - 4์ฅ ์๋ฒ ํ๋ก๊ทธ๋จ ๊ตฌํ (2) | 2024.10.15 |
[์ค๊ธฐ] ์ด์ด์ด์์ฝ - 3์ฅ ํตํฉ ๊ตฌํ (1) | 2024.10.13 |
[์ค๊ธฐ] ์ด์ด์ด์์ฝ - 1์ฅ ์๊ตฌ์ฌํญ ํ์ธ (6) | 2024.10.06 |