๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฟผ๋ฆฌ๋ ๊ด๊ณ์(๊ด๊ณ๋์์, ๊ด๊ณํด์์)์ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง ์ธ์ด์ด๋ค.
๊ด๊ณ๋์์์ ์ฟผ๋ฆฌ์ ์ ์ฐจ๋ฅผ ํํํ๊ณ , ๊ด๊ณํด์์์ ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ธ๋ค.
โ
๊ด๊ณ๋์์ (Relational algebra expression)
- ๋ฆด๋ ์ด์ ๊ณผ ์ฐ์ฐ์๋ค๋ก ์ด๋ฃจ์ด์ง ๋์์
- 1๊ฐ ๋๋ 2๊ฐ์ ๋ฆด๋ ์ด์ ์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์, 1๊ฐ์ ์๋ก์ด ๋ฆด๋ ์ด์ ์ธ์คํด์ค๋ฅผ ๋ฆฌํดํ๋ค.
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฟผ๋ฆฌ ์ตํฐ๋ง์ด์ ๋ ์ฟผ๋ฆฌ ์คํ ๊ณํ์ ๊ด๊ณ๋์์์ผ๋ก ํํํ๋ค.
๊ด๊ณ๋์์์ ์คํ ์ ์ฐจ(์์)๋ฅผ ๋ช ํํ๊ฒ ๋ํ๋ผ ์ ์๊ธฐ ๋๋ฌธ
โ ํ์ ๊ด๊ณ ์ฐ์ฐ์ ์ข ๋ฅ
Selection(σ) | ๋จํญ์ฐ์ฐ์ | ๋ฆด๋ ์ด์ ์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํํ์ ์ ํํ์ฌ ๋ฐํ |
Projection(π) | ๋จํญ์ฐ์ฐ์ | ๋ฆด๋ ์ด์ ์์ ํน์ attribute๋ฅผ ์ถ์ถํ์ฌ ๋ฐํ |
Intersection(∩) | ์ดํญ์ฐ์ฐ์ | ๋ ๋ฆด๋ ์ด์ ๊ฐ ๊ณตํต๋ ํํ๋ค์ ์ ํํ์ฌ ๋ฐํ |
Union(∪) | ์ดํญ์ฐ์ฐ์ | ๋ ๋ฆด๋ ์ด์ ์ ์ํ๋ ๋ชจ๋ ํํ๋ค์ ์งํฉ์ ๋ฐํ |
Difference(-) | ์ดํญ์ฐ์ฐ์ | ํ ๋ฆด๋ ์ด์ ์๋ ์๊ณ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์๋ ์๋ ํํ์ ๋ฐํ |
Cartesian Product(×) | ์ดํญ์ฐ์ฐ์ | ๋ ๋ฆด๋ ์ด์ ๊ฐ ๊ฐ๋ฅํ ๋ชจ๋ ์กฐํฉ์ ์์ฑํ์ฌ ๋ฐํ |
โญ๏ธ Selection ์ฐ์ฐ์ (σ)
- ๋ฆด๋ ์ด์ ์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํํ๋ค์ ์ ํํ์ฌ ๋ฐํํ๋ค.
- ์์์ผ๋ก๋ σ์กฐ๊ฑดโ(๋ฆด๋ ์ด์ ) ํ์์ผ๋ก ๋ํ๋ธ๋ค.
- SQL ์์๋ WHERE ์ ์ ํด๋นํ๋ค.
- ์์
๋ค์๊ณผ ๊ฐ์ด ํฌ์ผ๋ชฌ์ด๋ผ๋ ๋ฆด๋ ์ด์ ์ด ์๋ค๊ณ ํ์.
ํฌ์ผ๋ชฌ
๋๊ฐ๋ฒํธ | ์ด๋ฆ | ๋ถ๋ฅ | ํค | ๋ชธ๋ฌด๊ฒ |
1 | ์ด์ํด์จ | ์จ์ํฌ์ผ๋ชฌ | 0.7 | 6.9 |
2 | ์ด์ํดํ | ์จ์ํฌ์ผ๋ชฌ | 1.0 | 13.0 |
3 | ์ด์ํด๊ฝ | ์จ์ํฌ์ผ๋ชฌ | 2.0 | 100.0 |
4 | ํ์ด๋ฆฌ | ๋๋กฑ๋ฝํฌ์ผ๋ชฌ | 0.6 | 8.5 |
5 | ๋ฆฌ์๋ | ํ์ผํฌ์ผ๋ชฌ | 1.1 | 19.0 |
6 | ๋ฆฌ์๋ชฝ | ํ์ผํฌ์ผ๋ชฌ | 1.7 | 90.5 |
7 | ๊ผฌ๋ถ๊ธฐ | ๊ผฌ๋ง๊ฑฐ๋ถํฌ์ผ๋ชฌ | 0.5 | 9.0 |
8 | ์ด๋๋ถ๊ธฐ | ๊ฑฐ๋ถํฌ์ผ๋ชฌ | 1.0 | 22.5 |
- σ ํค >= 1.0 (ํฌ์ผ๋ชฌ) ์ํ๊ฒฐ๊ณผ:
๋๊ฐ๋ฒํธ | ์ด๋ฆ | ๋ถ๋ฅ | ํค | ๋ชธ๋ฌด๊ฒ |
2 | ์ด์ํดํ | ์จ์ํฌ์ผ๋ชฌ | 1.0 | 13.0 |
3 | ์ด์ํด๊ฝ | ์จ์ํฌ์ผ๋ชฌ | 2.0 | 100.0 |
5 | ๋ฆฌ์๋ | ํ์ผํฌ์ผ๋ชฌ | 1.1 | 19.0 |
6 | ๋ฆฌ์๋ชฝ | ํ์ผํฌ์ผ๋ชฌ | 1.7 | 90.5 |
8 | ์ด๋๋ถ๊ธฐ | ๊ฑฐ๋ถํฌ์ผ๋ชฌ | 1.0 | 22.5 |
- σ ๋ถ๋ฅ = ๊ฑฐ๋ถํฌ์ผ๋ชฌ (ํฌ์ผ๋ชฌ) ์ํ๊ฒฐ๊ณผ:
๋๊ฐ๋ฒํธ | ์ด๋ฆ | ๋ถ๋ฅ | ํค | ๋ชธ๋ฌด๊ฒ |
8 | ์ด๋๋ถ๊ธฐ | ๊ฑฐ๋ถํฌ์ผ๋ชฌ | 1.0 | 22.5 |
โญ๏ธ Projection ์ฐ์ฐ์ (π)
- ๋ฆด๋ ์ด์ ์์ ํน์ attribute๋ฅผ ์ถ์ถํ์ฌ ๋ฐํํ๋ค.
- ์์์ผ๋ก๋ π์์ฑ๋ช (๋ฆด๋ ์ด์ ) ํ์์ผ๋ก ๋ํ๋ธ๋ค.
- SQL ์์๋ SELECT ์ ์ ํด๋นํ๋ค.
- ์์
- π ๋๊ฐ๋ฒํธ, ์ด๋ฆ(ํฌ์ผ๋ชฌ) ์ํ๊ฒฐ๊ณผ:
๋๊ฐ๋ฒํธ | ์ด๋ฆ |
1 | ์ด์ํด์จ |
2 | ์ด์ํดํ |
3 | ์ด์ํด๊ฝ |
4 | ํ์ด๋ฆฌ |
5 | ๋ฆฌ์๋ |
6 | ๋ฆฌ์๋ชฝ |
7 | ๊ผฌ๋ถ๊ธฐ |
8 | ์ด๋๋ถ๊ธฐ |
- π ๋ชธ๋ฌด๊ฒ (ํฌ์ผ๋ชฌ) ์ํ๊ฒฐ๊ณผ:
๋ชธ๋ฌด๊ฒ |
6.9 |
13.0 |
100.0 |
8.5 |
19.0 |
90.5 |
9.0 |
22.5 |
- π ์ด๋ฆ (σ ํค >= 1.0 (ํฌ์ผ๋ชฌ)) ์ํ๊ฒฐ๊ณผ:
์ด๋ฆ |
์ด์ํดํ |
์ด์ํด๊ฝ |
๋ฆฌ์๋ |
๋ฆฌ์๋ชฝ |
์ด๋๋ถ๊ธฐ |
โญ๏ธ ๊ต์งํฉ(Intersection) ์ฐ์ฐ์ (∩)
- ๋ ๋ฆด๋ ์ด์ ๊ฐ ๊ณตํต๋ ํํ๋ค์ ์ ํํ์ฌ ๋ฐํํ๋ค.
- ์ฐ์ฐ ๋์ ๋ฆด๋ ์ด์ ๋ผ๋ฆฌ๋ ๋ณํฉ์ด ๊ฐ๋ฅํด์ผ ํ๋ค.
๋ค์ ๋งํด, ๋ ๋ฆด๋ ์ด์ ์ ํ๋์ ์๊ฐ ๊ฐ๊ณ , ๋์๋๋ ํ๋๋ผ๋ฆฌ์ ๋๋ฉ์ธ์ด ๊ฐ์์ผ ํ๋ค.
- R∩S ์ฐ์ฐ ๊ฒฐ๊ณผ ์์ฑ๋๋ ๋ฆด๋ ์ด์
์ ์คํค๋ง๋ R์ ์คํค๋ง์ ๋์ผํ๋ค.
โญ๏ธ ํฉ์งํฉ(Union) ์ฐ์ฐ์ (∪)
- ๋ ๋ฆด๋ ์ด์
์ ์ํ๋ ๋ชจ๋ ํํ๋ค์ ์งํฉ์ ๋ฐํํ๋ค.
- ์ฐ์ฐ ๋์ ๋ฆด๋ ์ด์ ๋ผ๋ฆฌ๋ ๋ณํฉ์ด ๊ฐ๋ฅํด์ผ ํ๋ค.
๋ค์ ๋งํด, ๋ ๋ฆด๋ ์ด์ ์ ํ๋์ ์๊ฐ ๊ฐ๊ณ , ๋์๋๋ ํ๋๋ผ๋ฆฌ์ ๋๋ฉ์ธ์ด ๊ฐ์์ผ ํ๋ค.
- R∪S ์ฐ์ฐ ๊ฒฐ๊ณผ ์์ฑ๋๋ ๋ฆด๋ ์ด์ ์ ์คํค๋ง๋ R์ ์คํค๋ง์ ๋์ผํ๋ค.
โญ๏ธ ์ฐจ์งํฉ(Difference) ์ฐ์ฐ์ (-)
- ํ ๋ฆด๋ ์ด์ ์๋ ์๊ณ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์๋ ์๋ ํํ์ ๋ฐํํ๋ค.
- ์ฐ์ฐ ๋์ ๋ฆด๋ ์ด์ ๋ผ๋ฆฌ๋ ๋ณํฉ์ด ๊ฐ๋ฅํด์ผ ํ๋ค.
๋ค์ ๋งํด, ๋ ๋ฆด๋ ์ด์ ์ ํ๋์ ์๊ฐ ๊ฐ๊ณ , ๋์๋๋ ํ๋๋ผ๋ฆฌ์ ๋๋ฉ์ธ์ด ๊ฐ์์ผ ํ๋ค.
- R-S ์ฐ์ฐ ๊ฒฐ๊ณผ ์์ฑ๋๋ ๋ฆด๋ ์ด์ ์ ์คํค๋ง๋ R์ ์คํค๋ง์ ๋์ผํ๋ค.
โญ๏ธ Cartesian product ์ฐ์ฐ์ (×)
- ๋ ๋ฆด๋ ์ด์ ๊ฐ ๊ฐ๋ฅํ ๋ชจ๋ ํํ์กฐํฉ์ ์์ฑํ์ฌ ๋ฐํํ๋ค.
- ์นดํฐ์ ํ๋ก๋ํธ๋ ์งํฉ ์ฐ์ฐ์ด ์๋๊ณ ๋ณํฉ์ด๊ธฐ ๋๋ฌธ์,
์ฐ์ฐ ๋์ ๋ฆด๋ ์ด์
๋ผ๋ฆฌ ๋ณํฉ ๊ฐ๋ฅํ์ง ์๋๋ผ๋ ์นดํฐ์
ํ๋ก๋ํธ๋ฅผ ํ ์ ์๋ค.
- R×S ์ฐ์ฐ ๊ฒฐ๊ณผ ์์ฑ๋๋ ๋ฆด๋ ์ด์
์ ์คํค๋ง๋ R์ ๋ชจ๋ ํ๋ + S์ ๋ชจ๋ ํ๋๊ฐ ๋๋ค.
๋ฆด๋ ์ด์
R๊ณผ S์์ ์ด๋ฆ์ด ๊ฒน์น๋ ํ๋๊ฐ ์๋ค๋ฉด, ํ๋์ ์ด๋ฆ์ ๋น์๋๊ณ ์์ฑ๋๋ค.
- ์์
๊ฐ๋จํ๊ฒ 3๊ฐ์ ๋ฆด๋ ์ด์ ์ด ์๋ค๊ณ ์๊ฐํด๋ณด์.
ํฌ์ผ๋ชฌ
์ด๋ฆ | ๋ถ๋ฅ | ํค | ๋ชธ๋ฌด๊ฒ |
ํผ์นด์ธ | ์ฅํฌ์ผ๋ชฌ | 0.4 | 6.0 |
ํ์น๋ฆฌ์ค | ์ ๊ธฐ๋ค๋์ฅํฌ์ผ๋ชฌ | 0.4 | 3.9 |
๊ธฐ๋ผํฐ๋ | ๋ฐ๊ณจํฌ์ผ๋ชฌ | 6.9 | 650.0 |
์ ์ค์ํฌ์ผ๋ชฌ
์ด๋ฆ | ๋ถ๋ฅ | ํค | ๋ชธ๋ฌด๊ฒ |
๊ธฐ๋ผํฐ๋ | ๋ฐ๊ณจํฌ์ผ๋ชฌ | 6.9 | 650.0 |
๋ชฌ์คํฐ๋ณผ
ํธ๋ ์ด๋ | ์ด๋ฆ |
ํ์ง์ฐ | ํผ์นด์ธ |
๋๋น๋ | ํฝ๋๋ฆฌ |
- ํฌ์ผ๋ชฌ ∩ ์ ์ค์ํฌ์ผ๋ชฌ ์ํ๊ฒฐ๊ณผ:
์ด๋ฆ | ๋ถ๋ฅ | ํค | ๋ชธ๋ฌด๊ฒ |
๊ธฐ๋ผํฐ๋ | ๋ฐ๊ณจํฌ์ผ๋ชฌ | 6.9 | 650.0 |
- ํฌ์ผ๋ชฌ ∪ ์ ์ค์ํฌ์ผ๋ชฌ ์ํ๊ฒฐ๊ณผ:
์ด๋ฆ | ๋ถ๋ฅ | ํค | ๋ชธ๋ฌด๊ฒ |
ํผ์นด์ธ | ์ฅํฌ์ผ๋ชฌ | 0.4 | 6.0 |
ํ์น๋ฆฌ์ค | ์ ๊ธฐ๋ค๋์ฅํฌ์ผ๋ชฌ | 0.4 | 3.9 |
๊ธฐ๋ผํฐ๋ | ๋ฐ๊ณจํฌ์ผ๋ชฌ | 6.9 | 650.0 |
- ํฌ์ผ๋ชฌ - ์ ์ค์ํฌ์ผ๋ชฌ ์ํ๊ฒฐ๊ณผ:
์ด๋ฆ | ๋ถ๋ฅ | ํค | ๋ชธ๋ฌด๊ฒ |
ํผ์นด์ธ | ์ฅํฌ์ผ๋ชฌ | 0.4 | 6.0 |
ํ์น๋ฆฌ์ค | ์ ๊ธฐ๋ค๋์ฅํฌ์ผ๋ชฌ | 0.4 | 3.9 |
- ํฌ์ผ๋ชฌ×๋ชฌ์คํฐ๋ณผ ์ํ๊ฒฐ๊ณผ:
๋ถ๋ฅ | ํค | ๋ชธ๋ฌด๊ฒ | ํธ๋ ์ด๋ | ||
ํผ์นด์ธ | ์ฅํฌ์ผ๋ชฌ | 0.4 | 6.0 | ํ์ง์ฐ | ํผ์นด์ธ |
ํผ์นด์ธ | ์ฅํฌ์ผ๋ชฌ | 0.4 | 6.0 | ๋๋น๋ | ํฝ๋๋ฆฌ |
ํ์น๋ฆฌ์ค | ์ ๊ธฐ๋ค๋์ฅํฌ์ผ๋ชฌ | 0.4 | 3.9 | ํ์ง์ฐ | ํผ์นด์ธ |
ํ์น๋ฆฌ์ค | ์ ๊ธฐ๋ค๋์ฅํฌ์ผ๋ชฌ | 0.4 | 3.9 | ๋๋น๋ | ํฝ๋๋ฆฌ |
๊ธฐ๋ผํฐ๋ | ๋ฐ๊ณจํฌ์ผ๋ชฌ | 6.9 | 650.0 | ํ์ง์ฐ | ํผ์นด์ธ |
๊ธฐ๋ผํฐ๋ | ๋ฐ๊ณจํฌ์ผ๋ชฌ | 6.9 | 650.0 | ๋๋น๋ | ํฝ๋๋ฆฌ |
โ ๊ทธ ์ธ ๊ด๊ณ ์ฐ์ฐ์
โญ๏ธ Join ์ฐ์ฐ์ (โ)
- ๊ณตํต ์์ฑ์ ์ค์ฌ์ผ๋ก 2๊ฐ์ ๋ฆด๋ ์ด์ ์ ํ๋๋ก ํฉ์ณ ์๋ก์ด ๋ฆด๋ ์ด์ ์ ๋ง๋๋ ์ฐ์ฐ์ด๋ค.
- ์นดํฐ์ ํ๋ก๋ํธ๋ฅผ ํ ๋ค์ ํ๋ก์ ์ ์ ์ํํ ๊ฒ๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์ถํ๋ค.
- ์นดํฐ์ ํ๋ก๋ํธ ๊ฒฐ๊ณผ ๋ฆด๋ ์ด์ ์ ๋ถํ์ํ๊ฒ ํฌ๊ธฐ๊ฐ ๋งค์ฐ ์ปค์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์,
๋ชจ๋ ํํ ์กฐํฉ์ ๋ฐํํ๋ ์นดํฐ์ ํ๋ก๋ํธ๋ณด๋ค๋, ์กฐ๊ฑด์ ์ผ์นํ๋ ํํ๋ค๋ง์ ๋ฐํํ๋ ์กฐ์ธ์ ๋ง์ด ์ฌ์ฉํ๋ค.
- ์์์ผ๋ก๋ Rโ์กฐ๊ฑดโS ํ์์ผ๋ก ๋ํ๋ธ๋ค.
- ์์
- ํฌ์ผ๋ชฌ โ ํฌ์ผ๋ชฌ.์ด๋ฆ=๋ชฌ์คํฐ๋ณผ.์ด๋ฆ ๋ชฌ์คํฐ๋ณผ ์ํ ๊ฒฐ๊ณผ:
๋ถ๋ฅ | ํค | ๋ชธ๋ฌด๊ฒ | ํธ๋ ์ด๋ | ||
ํผ์นด์ธ | ์ฅํฌ์ผ๋ชฌ | 0.4 | 6.0 | ํ์ง์ฐ | ํผ์นด์ธ |
'๊ฐ์ธ ๊ณต๋ถ > DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DBMS์์ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐฉ์ (Heap, ISAM, B+ Tree) (1) | 2024.11.08 |
---|---|
๊ด๊ณ ๋ชจ๋ธ์ ๋ฆด๋ ์ด์ ๊ณผ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด (1) | 2024.11.07 |
DBMS๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ DBMS ์คํค๋ง (0) | 2024.11.07 |
[๊ฐ์ ์ ๋ฆฌ] Relational Database, KEY, Constraints (1) | 2023.12.18 |
[๊ฐ์ ์ ๋ฆฌ] ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ก (0) | 2023.08.28 |