๐ข๏ธ ๊ด๊ณ ๋์ | ๐์ ์ฒ๊ธฐ ์ค๊ธฐ ๋๋น ๋ฌธ์ ํฌํจ
์์ฝ
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ์ํ์ ํต์ฌ ๊ฐ๋ ์ธ ๊ด๊ณ ๋์์ ์ฐ์ฐ์์ ํน์ง์ ์์๋ด ๋๋ค. ์ ์ฐจ์ ์ธ์ด์ ๋น์ ์ฐจ์ ์ธ์ด์ ์ฐจ์ด์ ์ ์ดํดํ๊ณ , ์ค์ ๊ธฐ์ถ๋ฌธ์ ์ ํ์ ํตํด ์ํ์ ์๋ฒฝํ๊ฒ ๋๋นํ์ธ์.
๊ธฐ์ถ๋ฌธ์ ์์ ๊ธฐํธ๋ฅผ ๋ฌป๋ ๊ฐ๋จํ ํ์์ผ๋ก ์ถ์ ๋์์ต๋๋ค.
ํ๋จ ๋ฌธ์ ๋ฅผ ํ ์ ์์ ์ ๋๋ก๋ง ๊ณต๋ถํ์ธ์.
๊ด๊ณ ๋์(Relational Algebra)๋?
๊ด๊ณ ๋์๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ๊ธฐ์ ํ๋ ์ ์ฐจ์ ์ ํ ์ธ์ด์ ๋๋ค. ํ๋ ์ด์์ ๋ฆด๋ ์ด์ (ํ ์ด๋ธ)์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ก์ด ๋ฆด๋ ์ด์ ์ ์์ฑํ๋ ์ฐ์ฐ๋ค์ ์งํฉ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๊ด๊ณ ๋์ vs. ๊ด๊ณ ํด์: ์ ์ฐจ์ ์ธ์ด์ ๋น์ ์ฐจ์ ์ธ์ด
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด๋ ํฌ๊ฒ ์ ์ฐจ์ ์ธ์ด์ ๋น์ ์ฐจ์ (์ ์ธ์ ) ์ธ์ด๋ก ๋๋ฉ๋๋ค.
-
์ ์ฐจ์ ์ธ์ด (Procedural Language)
- "์ด๋ป๊ฒ(How)" ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ณ ๊ฐ์ ธ์ฌ ๊ฒ์ธ์ง๋ฅผ ๋ช ์ํฉ๋๋ค.
- ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํ ๊ตฌ์ฒด์ ์ธ ์ฒ๋ฆฌ ์ ์ฐจ์ ์์๋ฅผ ๋จ๊ณ๋ณ๋ก ๊ธฐ์ ํฉ๋๋ค.
- ๊ด๊ณ ๋์๊ฐ ๋ํ์ ์ธ ์์
๋๋ค.
SELECT
์ ๋จผ์ ํ ์ง,JOIN
์ ๋จผ์ ํ ์ง ๋ฑ ์์๊ฐ ์ ํด์ ธ ์์ต๋๋ค.
-
๋น์ ์ฐจ์ ์ธ์ด (Non-procedural Language)
- **"๋ฌด์(What)"**์ ์ํ๋์ง๋ง์ ๋ช ์ํฉ๋๋ค.
- ์ํ๋ ๊ฒฐ๊ณผ๊ฐ ๋ฌด์์ธ์ง๋ง ์ ์ธํ๊ณ , ๊ทธ๊ฒ์ ์ป๋ ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ์ด๋ ์ ์ฐจ๋ ์์คํ (DBMS)์ ์์ํฉ๋๋ค.
- ๊ด๊ณ ํด์๊ณผ SQL์ด ๋ํ์ ์ธ ์์
๋๋ค. ์ฌ์ฉ์๋
SELECT * FROM ... WHERE ...
์ ๊ฐ์ด ์ํ๋ ๋ฐ์ดํฐ์ ์กฐ๊ฑด๋ง ๋ช ์ํ๋ฉด, ๋ด๋ถ์ ์ธ ์ฒ๋ฆฌ ์ ์ฐจ๋ DBMS์ ์ตํฐ๋ง์ด์ ๊ฐ ๊ฒฐ์ ํฉ๋๋ค.
๋ฐ๋ผ์ ๊ด๊ณ ๋์๋ '๊ณผ์ '์, ๊ด๊ณ ํด์์ '๋ชฉํ'๋ฅผ ์ค์ฌ์ผ๋ก ๊ธฐ์ ํ๋ ์ธ์ด๋ผ๊ณ ์ดํดํ ์ ์์ต๋๋ค.
๊ด๊ณ ๋์ ์ฐ์ฐ์
๊ด๊ณ ๋์ ์ฐ์ฐ์๋ ํฌ๊ฒ ์ผ๋ฐ ์งํฉ ์ฐ์ฐ์์ ์์ ๊ด๊ณ ์ฐ์ฐ์๋ก ๋๋ฉ๋๋ค.
์ผ๋ฐ ์งํฉ ์ฐ์ฐ์
์ํ์ ์งํฉ ์ด๋ก ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ, ๋ ๋ฆด๋ ์ด์ ์ด **ํฉ๋ณ ๊ฐ๋ฅ(Union-compatible)**ํด์ผ ํ๋ค๋ ์ ์ ์กฐ๊ฑด์ด ์์ต๋๋ค. (๋ ๋ฆด๋ ์ด์ ์ ์ ํธ๋ฆฌ๋ทฐํธ ๊ฐ์๊ฐ ๊ฐ๊ณ , ๋์๋๋ ์ ํธ๋ฆฌ๋ทฐํธ์ ๋๋ฉ์ธ์ด ๊ฐ์์ผ ํจ)
์ฐ์ฐ์ | ๊ธฐํธ | ์ค๋ช |
---|---|---|
ํฉ์งํฉ | โช | ๋ ๋ฆด๋ ์ด์ ์ ํํ์ ๋ชจ๋ ํฌํจํ๋ ๋ฆด๋ ์ด์ ์ ๋ฐํํฉ๋๋ค. (์ค๋ณต ์ ์ธ) |
๊ต์งํฉ | โฉ | ๋ ๋ฆด๋ ์ด์ ์ ๊ณตํต์ผ๋ก ์กด์ฌํ๋ ํํ๋ง์ผ๋ก ๊ตฌ์ฑ๋ ๋ฆด๋ ์ด์ ์ ๋ฐํํฉ๋๋ค. |
์ฐจ์งํฉ | - | ์ฒซ ๋ฒ์งธ ๋ฆด๋ ์ด์ ์๋ ์ํ์ง๋ง ๋ ๋ฒ์งธ ๋ฆด๋ ์ด์ ์๋ ์ํ์ง ์๋ ํํ์ ๋ฐํํฉ๋๋ค. |
์นดํฐ์ ํ๋ก๋ํธ | ร | ๋ ๋ฆด๋ ์ด์ ์ ํํ๋ค์ ์์์์ผ๋ก ์กฐํฉํ์ฌ ๋ง๋ค ์ ์๋ ๋ชจ๋ ํํ์ ๋ฐํํฉ๋๋ค. |
์์ ๊ด๊ณ ์ฐ์ฐ์
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ์ ์ํด ํน๋ณํ ๋ง๋ค์ด์ง ์ฐ์ฐ์์ ๋๋ค.
์ฐ์ฐ์ | ๊ธฐํธ | ์ค๋ช |
---|---|---|
์ ๋ ํธ (Select) | ฯ(Sigma) | ๋ฆด๋ ์ด์ ์์ ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํํ(ํ)๋ง์ผ๋ก ๊ตฌ์ฑ๋ ์ํ์ ๋ถ๋ถ์งํฉ์ ๋ฐํํฉ๋๋ค. |
ํ๋ก์ ํธ (Project) | ฯ(Pi) | ๋ฆด๋ ์ด์ ์์ ์ฃผ์ด์ง ์ ํธ๋ฆฌ๋ทฐํธ(์ด)๋ง์ผ๋ก ๊ตฌ์ฑ๋ ์์ง์ ๋ถ๋ถ์งํฉ์ ๋ฐํํฉ๋๋ค. (์ค๋ณต ์ ์ธ) |
์กฐ์ธ (Join) | โ | ๊ณตํต ์ ํธ๋ฆฌ๋ทฐํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ ๋ฆด๋ ์ด์ ์ ๊ฒฐํฉํ์ฌ ์๋ก์ด ๋ฆด๋ ์ด์ ์ ๋ฐํํฉ๋๋ค. |
๋๋น์ (Division) | รท | A รท B๋ B์ ๋ชจ๋ ํํ์ ๋ํด ๊ด๊ณ๋ฅผ ๋งบ๊ณ ์๋ A์ ํํ์ ๋ฐํํฉ๋๋ค. |
๐ ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ์์ ๋ฌธ์
์๋ ๋ณด๊ธฐ์์ ์๋ง์ ๊ด๊ณ ๋์ ์ฐ์ฐ์ ๊ธฐํธ๋ฅผ ์ฐพ์ ๋ต๋์ ์์ฑํ์์ค.
[๋ณด๊ธฐ]
ฯ
, ฯ
, โ
, รท
, โช
, โฉ
, -
, ร
๋ฌธ์ | Select ๊ด๊ณ ๋์ ์ฐ์ฐ์์ ๊ธฐํธ๋ฅผ ์ฐ์์ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | Project ๊ด๊ณ ๋์ ์ฐ์ฐ์์ ๊ธฐํธ๋ฅผ ์ฐ์์ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | Join ๊ด๊ณ ๋์ ์ฐ์ฐ์์ ๊ธฐํธ๋ฅผ ์ฐ์์ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | Division ๊ด๊ณ ๋์ ์ฐ์ฐ์์ ๊ธฐํธ๋ฅผ ์ฐ์์ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | ํฉ์งํฉ ๊ด๊ณ ๋์ ์ฐ์ฐ์์ ๊ธฐํธ๋ฅผ ์ฐ์์ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | ๊ต์งํฉ ๊ด๊ณ ๋์ ์ฐ์ฐ์์ ๊ธฐํธ๋ฅผ ์ฐ์์ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | ์ฐจ์งํฉ ๊ด๊ณ ๋์ ์ฐ์ฐ์์ ๊ธฐํธ๋ฅผ ์ฐ์์ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |
๋ฌธ์ | ์นดํฐ์ ํ๋ก๋ํธ ๊ด๊ณ ๋์ ์ฐ์ฐ์์ ๊ธฐํธ๋ฅผ ์ฐ์์ค. |
๋ต๋ณ | |
์ ๋ต | ์ ๋ต ๋ณด๊ธฐ |