๊ตญ๋ฏผ๋ํ๊ต์์ "์ค๋ผํด๋ก ๋ฐฐ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ก ๊ณผ ์ค์ต(2ํ)" ์ ์ด์ฉํ
์ ์ธ์ ๊ต์๋์ ๊ฐ์ ๊ต์์ ์ด์ฉํ์ฌ ์์
๋ด์ฉ์ ์ ๋ฆฌํ์์ต๋๋ค
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋
ํ๋ก๊ทธ๋๋ฐ : ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๊ณ ์์ค์ฝ๋๋ฅผ ์์ฑํ์ฌ ๋๋ฒ๊น ํ๋ ๊ณผ์
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ก๊ทธ๋๋ฐ
=> DBMS์ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ณ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๊ณผ์
(์ผ๋ฐ ํ๋ก๊ทธ๋๋ฐ๊ณผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด์ธ SQL์ ํฌํจํ๋ค๋ ์ ์ด ๋ค๋ฆ)
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ
1. SQL ์ ์ฉ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- SQL ์์ฒด์ ๊ธฐ๋ฅ์ ํ์ฅํ์ฌ ๋ณ์, ์ ์ด, ์
์ถ๋ ฅ ๋ฑ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์๋ก์ด ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- Oracle์ PL/SQL ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉฐ, MS-SQL Server๋ T-SQL์ด๋ผ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํจ
2. ์ผ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ SQL์ ์ฝ์ ํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ์๋ฐ, C, C++ ๋ฑ ์ผ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ SQL ์ฝ์
ํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ์ผ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑ๋ ์์ฉ ํ๋ก๊ทธ๋จ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌ, ๊ฒ์ํจ
- ์ฝ์
๋ SQL๋ฌธ์ DBMS์ ์ปดํ์ผ๋ฌ๊ฐ ์ฒ๋ฆฌํจ
3. ์น ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ SQL์ ์ฝ์ ํ์ฌ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ํธ์คํธ ์ธ์ด๊ฐ JSP, ASP, PHP ๋ฑ ์น ์คํฌ๋ฆฝํธ ์ธ์ด์ธ ๊ฒฝ์ฐ
4. 4GL(4th Generation Language)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๊ธฐ๋ฅ๊ณผ ๋น์ฃผ์ผ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ๊ฐ์ถ ‘GUI ๊ธฐ๋ฐ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋๊ตฌ’๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋๋ฐํ๋ ๋ฐฉ๋ฒ
(Delphi, Power Builder, Visual Basic ๋ฑ์ด ์์)
2. PL-SQL
Procedural Language/Structured Query Language์ ์ค์๋ง๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํ๋ ์ค๋ผํด์ SQL ์ ์ฉ ์ธ์ด์ด๋ค.
SQL ์ ์ฉ ์ธ์ด๋ก SQL๋ฌธ์ ๋ณ์, ์ ์ด, ์ ์ถ๋ ฅ ๋ฑ์ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ SQL๋ง์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ
PL/SQL์ SQL Developer์์ ๋ฐ๋ก ์์ฑํ๊ณ ์ปดํ์ผํ ํ ๊ฒฐ๊ณผ๋ฅผ ์คํํจ
ํ๋ก์์
ํ๋ก์์ ๋ฅผ ์ ์ํ๋ ค๋ฉด CREATE PROCEDURE๋ฌธ์ ์ฌ์ฉํจ
์ ์ ๋ฐฉ๋ฒ
- PL/SQL์ ์ ์ธ๋ถ์ ์คํ๋ถ(BEGIN-END)๋ก ๊ตฌ์ฑ๋จ
(์ ์ธ๋ถ์์๋ ๋ณ์์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ธํ๊ณ , ์คํ๋ถ์์๋ ํ๋ก๊ทธ๋จ ๋ก์ง์ ๊ตฌํํจ) - ๋งค๊ฐ๋ณ์(parameter)๋ ์ ์ฅ ํ๋ก์์ ๊ฐ ํธ์ถ๋ ๋ ๊ทธ ํ๋ก์์ ์ ์ ๋ฌ๋๋ ๊ฐ์
- ๋ณ์(variable)๋ ์ ์ฅ ํ๋ก์์ ๋ ํธ๋ฆฌ๊ฑฐ ๋ด์์ ์ฌ์ฉ๋๋ ๊ฐ์
- ์์ค์ฝ๋์ ๋ํ ์ค๋ช
๋ฌธ์ /*์ */ ์ฌ์ด์ ๊ธฐ์
(๋ง์ฝ ์ค๋ช ๋ฌธ์ด ํ ์ค์ด๋ฉด ์ด์ค ๋์(--) ๊ธฐํธ ๋ค์์ ๊ธฐ์ ํด๋ ๋จ)
์ฝ์ ์์ ์ ํ๋ ํ๋ก์์
ํ๋ก์์ ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์์ ์ ํ๋ฉด ์ข ๋ ๋ณต์กํ ์กฐ๊ฑด์ ์ฝ์ ์์ ์ ์ธ์ ๊ฐ๋ง ๋ฐ๊พธ์ด ์ํํ ์๋ ์๊ณ , ์ ์ฅํด ๋์๋ค๊ฐ ํ์ํ ๋๋ง๋ค ํธ์ถํ์ฌ ์ฌ์ฉํ ์๋ ์์
์ ์ด๋ฌธ์ ์ฌ์ฉํ๋ ํ๋ก์์
PL/SQL์ ์ ์ด๋ฌธ์ ์ด๋ค ์กฐ๊ฑด์์ ์ด๋ค ์ฝ๋๊ฐ ์คํ๋์ด์ผ ํ๋์ง๋ฅผ ์ ์ดํ๊ธฐ ์ํ ๋ฌธ๋ฒ์ผ๋ก, ์ ์ฐจ์ ์ธ์ด์ ๊ตฌ์ฑ์์๋ฅผ ํฌํจํจ
๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ํ๋ก์์
SET SERVEROUTPUT : SQL Plus ๋ SQL Developer์ ๊ฐ์ Oracle ํด๋ผ์ด์ธํธ์์ ์๋ฒ์ ์ถ๋ ฅ์ ํ์ฑํ ํจ
DECLARE : ๋ก์ปฌ ๋ณ์๋ฅผ ์ ์ธํจ
DBMS_OUTPUT.PUT_LINE() : ์ถ๋ ฅ
์ปค์๋ฅผ ๋ฐํํ๋ ํ๋ก์์
์ปค์(cursor)๋ ์คํ ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ํ ๋ฒ์ ํ ํ์ฉ ์ฒ๋ฆฌํ๊ธฐ ์ํ์ฌ ํ ์ด๋ธ์ ํ์ ์์๋๋ก ๊ฐ๋ฆฌํค๋ ๋ฐ ์ฌ์ฉํจ
ํธ๋ฆฌ๊ฑฐ
ํธ๋ฆฌ๊ฑฐ(trigger)๋ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ(INSERT, DELETE, UPDATE)๋ฌธ์ด ์คํ๋ ๋ ์๋์ผ๋ก ๋ฐ๋ผ์ ์คํ๋๋ ํ๋ก์์ ๋ฅผ ๋งํจ
์ฌ์ฉ์ ์ ์ ํจ์
์ฌ์ฉ์ ์ ์ ํจ์๋ ์ํ์ ํจ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ๋ ฅ๋ ๊ฐ์ ๊ฐ๊ณตํ์ฌ ๊ฒฐ๊ณผ ๊ฐ์ ๋๋๋ ค์ค
PL/SQL ๋ฌธ๋ฒ ์์ฝ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ค์ต์ ์ถํ์ ๋ค๋ค๋ณด์..
'๐ซง Database > ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Chapter 07. ์ ๊ทํ (0) | 2024.05.17 |
---|---|
Chapter 06. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง (0) | 2024.05.15 |
Chapter 04. SQL ๊ณ ๊ธ (1) | 2024.04.15 |
Chapter 03. SQL ๊ธฐ์ด (1) | 2024.04.14 |
Chapter 02. ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ (1) | 2024.04.12 |