SQL + DBMS - accidentlywoo/sec GitHub Wiki
Oracle EX ์ฌ์ฉ : ์ฐ์ต์ฉ, ์ธ์ ์ด 20๊ฐ์ ๋๋ก๋ง ์ ๊ณต๋๋ค.
์๋์ฐ -> ์๋น์ค -> OracleServiceXE / OracleXETNSListener ํ์ธ
- OracleServiceXE : ์ค๋ผํด ๊ตฌ๋
- OracleXETNSListener : ์ค๋ผํด๊ณผ ๋คํธ์ํฌ ๊ธฐ๋ฅ์ฐ๋
์๋ฐ๋ ๊ธ์์ ๋ณ๋ก ๊ตฌ๋ถํ์ง๋ง ์ค๋ผํด์ ๋ฐ์ด๋๋ฆฌ๋ก ๊ตฌ๋ถํ๋ค.
VARCHAR(20)
์คํค๋ง : ์ฌ๊ธฐ์ ์คํค๋ง๋ ๋ฌผ๋ฆฌ์ ์คํค๋ง
MySQL์ด๋ ๋ค๋ฅธ DBMS๋ ๊ณ์ ๋ณ๋ก ์ฌ๋ฌ๊ฐ์ ์คํค๋ง๋ฅผ ๊ฐ์ง ์ ์๋ค.
- ์คํค๋ง : ๊ฐ์ฒด๋ค์ ์งํฉ
- ๊ฐ์ฒด์ ์ข ๋ฅ : ํ ์ด๋ธ, ๋ทฐ, ์ธ๋ฑ์ค, ์ํ์ค, ์๋ ธ๋,...
-> ๊ฐ์ฒด๋ค์ด ๋ฐ์ด๋๋ฆฌ๋ก ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ธ ํ ์คํธ๋ทฐ์ด๋ก ๋ด์ฉ์ ๋ณผ ์ ์๋ค.
์ต์ด ๊ด๋ฆฌ์ ๊ณ์ system
- ๊ณ์ ์ ์ถ๊ฐ์ ์ผ๋ก ๋ง๋ ๋ค.
- ๋ฐ๋ก ์ ์์ ์๋ํ๋ฉด lock ์ํ์ด๋ค.
- system ๊ณ์ ์ผ๋ก ๋ค์ ์ ์ํด์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ผํด(XE)์์ ์ ๊ณตํ๋ ๊ต์ก์ฉ ๊ณ์ 'hr/hr'์ ์ฌ์ฉํ๊ธฐ ์ํ ์ ๊ทผ๊ถํ์ ์ฃผ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
alter user hr identified by hr;
SELECT * FROM TAB;
- ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฑ๋ก๋ ํ ์ด๋ธ๋ค์ ํ์ธํด๋ณธ๋ค.
์ค๋ผํด์ ๋ช ๋ น์ด๋ ๋์๋ฌธ์ ๊ตฌ๋ถํ์ง ์๋๋ค.
DESC employees;
ํ ์ด๋ธ์ ๊ตฌ์กฐ๋ฅผ ํ์ธํ ์ ์๋ค.
์ปฌ๋ผ์ ๊ฐฏ์ : Degree(์ฐจ์) : ์ปฌ๋ผ๋ค์ ์ค๋ณต๋ ์๋ฃ๋ฅผ ๊ฐ๊ณ ์์ผ๋ฉด ์๋๋ค.
(์ค๋ณต๋ ์์๋ฅผ ๊ฐ์ผ๋ฉด ์๋๋ค. : ์์์ฑ์ ๊ฐ๋๋ค.)
๋ฌด๋ฃ ํด๋ผ์ด์ธํธ 'SqlDeveloper' ์ฌ์ฉ
๊ฐ์ฒด์งํฅ์ ๋ถ๋ชจ ์์๊ด๊ณ์ ์ ํ ๋ค๋ฅด๋ค.
์ํฐํฐ๋ฅผ ๊ตฌ๋ถํด์ฃผ๋ ์๋ณ์ ์ญํ ์ ํด์ฃผ๋ PK
๋ฐ์ดํฐ๊ฐ ๋จผ์ ์ ๋ ฅ๋์ผํ๋ ์ํฐํฐ๊ฐ ๋ถ๋ชจ ์ํฐํฐ๋ผ ํ ์ ์๋ค.
๋น์๋ฒฝ์ ๊ด๊ณ : [JOBS]-----[EMPLOYEES] ์ ์ ์ผ๋ก ํ์. JOBS(๋ถ๋ชจ)์ PK๊ฐ EMPLOYEES(์์)์ ์ผ๋ฐ ์ปฌ๋ผ์ผ๋ก ์ฐธ์กฐ๋ ๋
์ฃผ์๋ณ์ ๊ด๊ณ : [JOB_HISTORY]ใ ก[EMPLOYEES] ์ค์ . EMPLOYEES(๋ถ๋ชจ)์ PK๋ฅผ JOB_HISTORY(์์)์ PK๋ก ์ฐธ์กฐํ๋ ๊ฒ
-> ์นด๋๋๋ฆฌํฐ N ํํ : ์ ํ ์ฐธ์ฌ
-> ์นด๋๋๋ฆฌํฐ 1 ํํ : ํ์ ์ฐธ์ฌ
์ฐ๊ด(์ฐธ์กฐ) ๊ด๊ณ๋ฅผ ํํํ ๋
-
O : ์ ํ์ฐธ์ฌ : ์ฐ๊ด ์ปฌ๋ผ์ด NOT NULL์ด ์๋๋ค
-
Oํ๊ธฐ ์์ผ๋ฉด : ํ์ ์ฐธ์ฌ : ์ฐ๊ด ์ปฌ๋ผ์ ๋ฐ๋์ NOT NULL
- DBMS๋ก ๋ฐ์ดํฐ ๋ณต๊ตฌ ์์ ์ ํ ์ ์๋ค.
- ์ํฐํฐ์ ๊ด๊ณ๋ฅผ ํตํด ์ค๋ณต๋ฐ์ดํฐ ์์ฑ์ ํผํ ์ ์๋ค. ์๋ชป๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ์ง ๋ชปํ๋ ์ ์ฝ์กฐ๊ฑด์ ์ค ์ ์๋ค.(Integrity Constraint : ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด)
Structured Query Language
DML :
DCM :
DDL :
-
์ ํ : ํ ์ด๋ธ์ ํ์ ์ ํํ๋ค. : Where ์
-
ํ๋ก์ ์ : ํ ์ด๋ธ์ ์ด์ ์ ํํ๋ค. : Select ์
!=
: Window OS์์๋ ์ ์ ๋์ํ์ง๋ง, Unix๊ณ์ด์์ ์๋ชป๋ ํํ์ด ํ์๋ ์ ์๋ค.
<>
: ์ด ํํ์ด ํ์ค! ์ดํํ์ ์ฌ์ฉํ์
- FROM ์ : Column Alias ์ฌ์ฉ ๋ถ๊ฐ๋ฅ : Table Alias ์ง์ ์ ์๋ ๋ชจ๋ ๋จ๊ณ์์ Alias๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
- WHERE ์ : Column Alias ์ฌ์ฉ ๋ถ๊ฐ๋ฅ
- GROUP BY ์ : Column Alias ์ฌ์ฉ ๋ถ๊ฐ๋ฅ
- HAVING ์ : Column Alias ์ฌ์ฉ ๋ถ๊ฐ๋ฅ
- SELECT ์ : Column Alias ์ง์
- ORDER BY ์ : Column Alias ์ฌ์ฉ ๊ฐ๋ฅ
NULL - ๊ณต์งํฉ, ์๋ฌด๊ฒ๋ ์๋ค. ๊ณต๋ฐฑ ํ์
NULL๊ณผ ์ฐ์ฐ์๊ฐ ๋ง๋๋ฉด ๋ฌด์กฐ๊ฑด NULL์ด ๋์จ๋ค.
where A = null
์ด๋ฐ ์์ ๋น๊ต๊ฐ ๋ง์๋ฐ, ์๋ํ ๊ฒฐ๊ณผ์ ๋ค๋ฅธ ์๋ชป๋ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
WHERE A IS NULL
NULL๋น๊ต๋ ์์ฝ๋ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
์ฐ์ฐ์ ๊ตฌ๋ฌธ์ ์ต์ ํ ํ ์ ์๋๋ก ์ฐ์ฐ์์ ์์ฑํด์ผ ํ๋ค.
- ๊ฐ๋ ๋ชจ๋ธ๋ง : ํ, ํํ, ์ํฐํฐ, ์ํฐํฐํ์ , ์ดํธ๋ฆฌ๋ทฐํธ
- ๋ ผ๋ฆฌ ๋ชจ๋ธ๋ง : ํ ์ด๋ธ, ํ, ์ปฌ๋ผ