0. ์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ
- ์ฌ์ฉ์ ํ ์ด๋ธ(User Table, Normal Table)๊ณผ ๋ฐ์ดํฐ ์ฌ์ (Data dictionary, Base Table)์ผ๋ก ๋๋จ
- ์ฌ์ฉ์ ํ ์ด๋ธ : ์ฌ๋ฌ SQL ๋ฌธ์์ ์ฌ์ฉํ EMP, DEPT ๋ฑ์ ํ ์ด๋ธ
- ๋ฐ์ดํฐ ์ฌ์ : ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ฑํ๊ณ ์ด์ํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ํน์ํ ํ ์ด๋ธ
1. ๋ฐ์ดํฐ ์ฌ์ Data dictionary
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฑ๋๋ ์์ ์ ์๋์ผ๋ก ๋ง๋ค์ด์ง
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฉ๋ชจ๋ฆฌ, ์ฑ๋ฅ, ์ฌ์ฉ์, ๊ถํ, ๊ฐ์ฒด ๋ฑ ์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด์์ ์ค์ํ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ด
- ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํด์ง ์๋ ์์
- ์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ ์ฌ์ ์ ๋ณด์ ์ง์ ์ ๊ทผํ๊ฑฐ๋ ์์ ํ๋ ๊ฒ์ ํ์ฉํ์ง ์์
- ๋์ ๋ฐ์ดํฐ ์ฌ์ ๋ทฐ๋ฅผ ์ ๊ณตํ์ฌ SELECT๋ฌธ์ผ๋ก ์ ๋ณด ์ด๋์ด ๊ฐ๋ฅ
2. ๋ฐ์ดํฐ ์ฌ์ ๋ทฐ
- USER_XXXX : ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ ์ฌ์ฉ์๊ฐ ์์ ํ ๊ฐ์ฒด ์ ๋ณด
- ALL_XXXX : ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ ์ฌ์ฉ์๊ฐ ์์ ํ ๊ฐ์ฒด ๋๋ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์์ ํ ๊ฐ์ฒด ์ค ์ฌ์ฉ ํ๊ฐ๋ฅผ ๋ฐ์ ๊ฐ์ฒด, ์ฆ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฐ์ฒด ์ ๋ณด
- DBA_XXXX : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋ฅผ ์ํ ์ ๋ณด (๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๊ถํ์ ๊ฐ์ง SYSTEM, SYS ์ฌ์ฉ์๋ง ์ด๋ ๊ฐ๋ฅ)
- V$_XXXX : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ๊ด๋ จ ์ ๋ณด (X$_XXXX ํ ์ด๋ธ์ ๋ทฐ)
-- 1.
SELECT * FROM DICT;
SELECT * FROM DICTIONARY;
(1) ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ์ฌ์ ์ ์๊ณ ์ถ์ ๋ ์กฐํํ๋ ๋ฐฉ๋ฒ
2-1. USER_XXXX
- USER_ ๋ก ์์ํ๋ ์ด๋ฆ์ ๋ฐ์ดํฐ ์ฌ์ ์๋ ํ์ฌ ์ค๋ผํด์ ์ ์ํด ์๋ ์ฌ์ฉ์๊ฐ ์์ ํ ๊ฐ์ฒด ์ ๋ณด๊ฐ ์ ์ฅ๋จ
-- 1.
SELECT TABLE_NAME
FROM USER_TABLES;
(1) USER_TABLES : ํ์ฌ ์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํด ์๋ ๊ณ์ ์ด ์์ ํ๊ณ ์๋ ํ ์ด๋ธ ์ด๋ฆ ์ถ๋ ฅ
2-2. ALL_XXXX
- ALL_ ๋ก ์์ํ๋ ์ด๋ฆ์ ๋ฐ์ดํฐ ์ฌ์ ์ ์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ์ํด ์๋ ์ฌ์ฉ์๊ฐ ์์ ํ ๊ฐ์ฒด ๋ฐ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์์ ํ ๊ฐ์ฒด ์ค ์ฌ์ฉ์ด ํ๋ฝ๋์ด ์๋ ๊ฐ์ฒด ์ ๋ณด๊ฐ ์ ์ฅ๋จ
-- 1.
SELECT OWNER, TABLE_NAME
FROM ALL_TABLES;
(1) ALL_TABLES : SCOTT ๊ณ์ ์ผ๋ก ์ ์ํ์ฌ ALL_TABLES๋ฅผ ์กฐํํ๋ฉด SCOTT ๊ณ์ ์ด ์ฌ์ฉํ ์ ์๋ ํ ์ด๋ธ ์ ๋ณด๋ฅผ ์ถ๋ ฅ
- USER_TABLES์ ๋ฌ๋ฆฌ ALL_TABLES๋ OWNER๋ผ๋ ์นผ๋ผ์ด ํ๋ ๋ ์๋๋ฐ ์ด ์นผ๋ผ์ ํ ์ด๋ธ์ ์์ ํ ์ฌ์ฉ์๋ฅผ ๋ช ์
2-3. DBA_XXXX
- DBA_ ๋ก ์์ํ๋ ์ด๋ฆ์ ๋ฐ์ดํฐ ์ฌ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์(SYSTEM, SYS)๋ง ์กฐํ๊ฐ ๊ฐ๋ฅ
- ์กฐํ๊ฐ ๋ถ๊ฐ๋ฅํ ๊ณ์ ์ผ๋ก ์กฐํ๋ฅผ ์๋ํ๋ฉด ํด๋น ๊ฐ์ฒด๊ฐ ์กด์ฌํ๋๋ผ๋ '์กด์ฌํ์ง ์์ต๋๋ค' ๋ผ๊ณ ์ถ๋ ฅ๋จ
- ์ฌ์ฉ ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ ํด๋น ๊ฐ์ฒด์ ์กด์ฌ ์ฌ๋ถ์กฐ์ฐจ ํ์ธํ ์ ์์์ ์๋ฏธ(๋ณด์ ๋ฌธ์ ๋๋ฌธ)
- ์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด์๊ณผ ๊ด๋ จ๋ ์ฌ๋ฌ ์ ๋ณด๋ฅผ ๋ณด๊ด
-- 1.
SELECT * FROM DBA_TABLES;
-- 2.
SELECT *
FROM DBA_USERS
WHERE USERNAME = 'SCOTT';
(1) DBA_TABLES : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌํ๋ ๋ชจ๋ ํ ์ด๋ธ์ด ์ถ๋ ฅ๋จ
(2) DBA_USERS : ์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฑ๋ก๋ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅ. WHERE ์ ์ ์กฐ๊ฑด์ผ๋ก ์ง์ ๋ SCOTT ์ฌ์ฉ์๋ง ์ถ๋ ฅ