2025. 6. 26. 17:47ใDB
[๐ Oracle SQL DDL/DML/TCL/DCL ๋ณต์ต ์ ๋ฆฌ]
์ด๋ฒ ์ค์ต์ ํ ์ด๋ธ ์ญ์ , ์์ฑ๋ถํฐ DML(์ ๋ ฅ, ์์ , ์ญ์ ), ํธ๋์ญ์ ์ ์ด์ด(TCL), ๊ถํ ์ ์ด์ด(DCL)๊น์ง ์ ์ฒด์ ์ธ ํ๋ฆ์ ๋ค์ ๋ณต์ตํ๋ ์๊ฐ์ด์์ต๋๋ค. ํนํ ROLE ๊ฐ๋ ์ ์ด๋ฒ์ ์ฒ์ ์ ํ๊ธฐ ๋๋ฌธ์ ์ข ๋ ์ง์คํด์ ์ ๋ฆฌํ์ต๋๋ค.
๐ง 1. ํ ์ด๋ธ ์ญ์ ๋ฐ ์์ฑ
-- ํ
์ด๋ธ ์ญ์
DROP TABLE ํ
์ด๋ธ๋ช
CASCADE CONSTRAINT;
-- ํ
์ด๋ธ ๊ตฌ์กฐ ํ์ธ
DESC ํ
์ด๋ธ๋ช
;
-- ํ
์ด๋ธ ์์ฑ
CREATE TABLE ์๊ฐ์์ ๋ณด (
ํ์ID VARCHAR2(9) PRIMARY KEY,
ํ์์ด๋ฆ VARCHAR2(50) NOT NULL,
์์๋ฐ VARCHAR2(5)
);
CREATE TABLE ์ฑ์ ํ (
ํ์ID VARCHAR2(9),
๊ณผ๋ชฉ VARCHAR2(30),
์ฑ์ NUMBER,
CONSTRAINT PK_์ฑ์ ํ PRIMARY KEY(ํ์ID, ๊ณผ๋ชฉ),
CONSTRAINT FK_์ฑ์ ํ FOREIGN KEY(ํ์ID) REFERENCES ์๊ฐ์์ ๋ณด(ํ์ID)
);
โ๏ธ 2. DML (๋ฐ์ดํฐ ์กฐ์์ด)
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ/์์ /์ญ์ ํ๋ ๋ช ๋ น์ด์ ๋๋ค.
- INSERT: ๋ฐ์ดํฐ ์ฝ์
- UPDATE: ๋ฐ์ดํฐ ์์
- DELETE: ๋ฐ์ดํฐ ์ญ์
- SELECT: ๋ฐ์ดํฐ ์กฐํ
-- ๋ฐ์ดํฐ ์ฝ์
INSERT INTO ์๊ฐ์์ ๋ณด (ํ์ID, ํ์์ด๋ฆ, ์์๋ฐ)
VALUES ('SMHRD1', '๋ฐ์ง์ฐ', 'B');
-- ๋ฐ์ดํฐ ์์
UPDATE ์๊ฐ์์ ๋ณด
SET ์์๋ฐ = 'C'
WHERE ํ์์ด๋ฆ LIKE '%oo';
-- ๋ฐ์ดํฐ ์ญ์
DELETE FROM ์ฑ์ ํ
WHERE ํ์ID = 'SMHRD1';
๐ 3. TCL (ํธ๋์ญ์ ์ ์ด์ด)
ํธ๋์ญ์ ์ '์์ ์ ์ต์ ๋จ์'์ด๋ฉฐ, ํธ๋์ญ์ ์ ํ๋ฆ์ ๊ด๋ฆฌํ๋ ๋ช ๋ น์ด๋ค์ ๋๋ค.
- COMMIT: ์๊ตฌ ์ ์ฅ
- ROLLBACK: ๋ง์ง๋ง COMMIT ์ง์ ์ผ๋ก ๋ณต๊ตฌ
- SAVEPOINT: ์ค๊ฐ ์ ์ฅ ์ง์ ์ค์
COMMIT; -- ์์
ํ์
ROLLBACK; -- ์ด์ ์ปค๋ฐ์ผ๋ก ๋ณต๊ตฌ
๐ 4. DCL (๋ฐ์ดํฐ ์ ์ด์ด)
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ์ ๊ณ์ ๊ณผ ๊ถํ์ ๊ด๋ฆฌํ๋ ์ธ์ด์ ๋๋ค.
- GRANT: ๊ถํ ๋ถ์ฌ
- REVOKE: ๊ถํ ํ์
- ROLE: ์ฌ๋ฌ ๊ถํ์ ๋ฌถ์ด ๊ด๋ฆฌ
-- ๊ณ์ ์์ฑ
CREATE USER ์ฌ์ฉ์๋ช
IDENTIFIED BY ๋น๋ฐ๋ฒํธ;
-- ๊ถํ ๋ถ์ฌ
GRANT CONNECT, RESOURCE TO ์ฌ์ฉ์๋ช
;
-- ๊ถํ ํ์
REVOKE RESOURCE FROM ์ฌ์ฉ์๋ช
;
-- ROLE์ ์์
CONNECT : ์ ์ ๊ถํ
RESOURCE : ํ
์ด๋ธ, ์ํ์ค ๋ฑ ๊ฐ์ฒด ์์ฑ ๊ถํ
GRANT CREATE SESSION TO ์ฌ์ฉ์๋ช
;
๐ ROLE ๊ฐ๋ ์ ์ด๋ฒ์ ์ฒ์ ์๊ฒ ๋ ๊ฐ๋ ์ด๋ผ ๊ธฐ์ต์ ๋จ์ต๋๋ค. ์ฌ๋ฌ ๊ถํ์ ํ๋์ '๋ฌถ์'์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ด ์ค๋ฌด์์ ๋งค์ฐ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
๐ง ๋ง๋ฌด๋ฆฌ ๋ณต์ต ํฌ์ธํธ
- DDL์ ๊ตฌ์กฐ ๋ณ๊ฒฝ (CREATE, DROP)
- DML์ ๋ฐ์ดํฐ ์กฐ์ (INSERT, UPDATE, DELETE)
- TCL์ ํธ๋์ญ์ ์ ์ด (COMMIT, ROLLBACK)
- DCL์ ๊ถํ ๊ด๋ฆฌ (GRANT, REVOKE, ROLE)
โ ์ด ํ๋ฆ์ ๋ค์ ํ ๋ฒ ์ ๋ฆฌํ๋ฉด์ SQL์ ๋ํ ํฐ ๊ทธ๋ฆผ์ด ๋ ๋๋ ทํด์ก์ต๋๋ค.