ํ์ค SQL์ ๊ธฐ๋ฅ์ ํ์ฅํ ๋ฌธ๋ฒ์ ์ ๊ณตํ๋ค(์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ๋ฑ๋ฑ...)๋ฏธ๋ฆฌ ์ปดํ์ผ ๋์ด ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌ์๋์ ํจ์จ์ฑ์ด ์ฆ๊ฐํ๋ค.๊ฐ DBMS์ ์ข ์์ ์ธ ๋ฌธ๋ฒ์ด๊ธฐ ๋๋ฌธ์ DBMS๋ง๋ค ์ฐจ์ด๊ฐ ์กด์ฌํ๋ค.๋ณต์กํ ๋ก์ง์ ์บก์ํํ ์ ์์ด ๋ชจ๋ํ, ์ถ์ํ๊ฐ ๊ฐ๋ฅํ๋ค.์ ๊ณตํ๋
ํ ์ด๋ธSQL๋ฌธ๋ฐ์ดํฐ ์ฌ์ (data dictionary)์ธ๋ฑ์ค(index)๋ทฐ(view)์ํ์ค(sequence)๋์์ด(synonym)๊ฐ์ฒด๋ ์ด 7๊ฐ์ง ์ข ๋ฅ๋ก ๋ฐ์ดํฐ ๋ณด๊ด ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํ ์ฌ๋ฌ ๊ธฐ๋ฅ๊ณผ ์ ์ฅ๊ณต๊ฐ์ ๊ฐ์ฒด๋ฅผ ํตํด ์ ๊ณตํ๋ค.์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์ ์์ฃผ ์ฐ์ด๋ ์ธ๋ฑ์ค, ๋ทฐ,
SELECT ๋ฌธ์ ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ฐ๋ฆฌ๋ ํ๋์ ์งํฉ(SET)์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.๊ทธ๋ ๋ค๋ฉด ์ด ์งํฉ์ ๋์์ผ๋กํ ์ฐ์ฐ์ ๋ด๋นํ๋ ์งํฉ์ฐ์ฐ์ ๊ฐ์ด ์ค์๋์??์งํฉ์ฐ์ฐ์์ ์ข ๋ฅUNIONUNION ALLINTERSECTMINUS์งํฉ์ฐ์ฐ์ ์ ์์ฌํญ์งํฉ์ฐ์ฐ์ ์ฌ์ฉ๋๋ ๋ชจ๋ SELECT๋ฌธ
์๋ธ์ฟผ๋ฆฌ๋ ํ๋์ SQL๋ฌธ ์์ ํฌํจ๋์ด ์๋ ๋ ๋ค๋ฅธ SQL์ฟผ๋ฆฌ๋ฅผ ๋งํฉ๋๋ค.์ฆ ๋ณด์กฐQuery๋ก์จ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ณ์ฐ์ ์ค๊ฐ๊ฐ ๋ฑ์ ๋ฐํํ๊ธฐ ์ํ ์ฟผ๋ฆฌ์ด๋ค.์๋ธ์ฟผ๋ฆฌ ์ฌํญ์๋ธ์ฟผ๋ฆฌ๋ ๋ฐ๋์ '( )' ์์ ๊ธฐ์ ํด์ผํฉ๋๋ค.SELECT ์ ์ ์ฌ์ฉํ๋ค๋ฉด SE
์กฐ์ธ์ด๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS)์ ์ฃผ์ ์ฐ์ฐ ์ค ํ๋๋ก ๋ค์๊ฐ์ ํ ์ด๋ธ์ ๋ถ์ฐ๋ ์๋ฃ๋ฅผ ํ ์ด๋ธ ๊ฐ ์ค์ ๋ ๊ด๊ณ๋ฅผ ์ด์ฉํ์ฌ ์๋ก๋ฅผ ์ฐธ์กฐํ๋ ์ฐ์ฐ์ด๋ค.์ฆ, ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ถ์์ ํน์, ์ธ๋ถ์์ ๋ฝ์ ์จ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.๋ํ, ํ ์ด๋ธ์ ๋ ๊ฐ ์ฌ์ฉํ๋ค๋ฉด ์๋ธ์ฟผ
Query ๋ฅผ ์ฐ๋ค ๋ณด๋ฉด ๊ฐ๋๊ฐ๋ค ํจ์๊ฐ ์๊ฐ์ด ์๋ ๋๊ฐ ์๋ค.์๋ฌด๋ฆฌ ๊ธฐ์ต๋ ฅ์ด ์ข๋ค ํด๋ ๊ทธ ์์ด ๋ง๊ณ ๋ค์ํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํ๋ค.๋๋ฌธ์ ํจ์๊ฐ ํ์ํ ๋๋ง๋ค ์์ ๋ณด๊ธฐ ์ํด ์์ฑํ๋ ๊ธ์ด๋ค.์ฆ, ๋ด๊ฐ ํ์ํ ๋ ์์ ๋ณด๊ธฐ ์ํด ์์ฑํ๋ ๊ธ์ด๋ฏ๋ก ๋ถ์กฑํ ๋ถ๋ถ์ด ์๋๋ผ
์ฌ์น์ฐ์ฐ์๊ด๊ณ์ฐ์ฐ์ ( >, <, >=, <=, =, !=, (<>) ) ๋ ผ๋ฆฌ์ฐ์ฐ์ ( not, and, or ) ๊ธฐํ์ฐ์ฐ์ (IN, =ANY, =SOME, ALL, EXISTS, LIKE, BETWEEN) 1\. ์ฌ์น์ฐ์ฐ์, ๊ด๊ณ์ฐ์ฐ์, ๋ ผ๋ฆฌ์ฐ์ฐ
์ฐ๋ฆฌ๊ฐ ์์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์จ์ผํ๋ SELECT ๋ฌธ๋ด๊ฐ ๊ทธ๊ฑธ ๊ฐ์ฅ ๋ง์ด ์ธ์ง ๋๊ฐ ์ด๋ป๊ฒ ์์ด? ๋ผ๋ ๊ถ๊ธ์ฆ์ด ์๊ธธ ์ฌ๋๋ ์๋ง ๋ช ์ผ ๋ค ๋ฌด์์์ ์ผ๋ก SELECT ๋ฅผ ์น๊ณ ์๋ ์์ ์ ๋ฐ๊ฒฌํ ๊ฒ์ ๋๋ค ใ ใ ๊ทธ๋งํผ ๊ฐ์ฅ ์ค์ํ๊ณ ์์ฃผ ์ฐ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ๋ฒ์ ์ ํํ ์์งํ๊ณ
DBCP ๋ Database Connection Pool ์ ์ฝ์๋ก ๋ง ๊ทธ๋๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ๋ ์ปค๋ฅ์ ์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด Pool ์ ๋ฏธ๋ฆฌ ์ ์ฅํด ๋๊ณ ์๋ค๊ฐ ํ์ํ ์์ ์ด ์๊ธฐ๋ฉด ์๋ก ์์ฑ์ด ์๋ ๊ธฐ์กด์ ์๋ ์ปค๋ฅ์ ๊ฐ์ฒด๋ฅผ ๋ฐํํ์ฌ ์ฌ์ฉํ๊ณ ์ฌ์ฉํ ๊ฐ์ฒด๋ฅผ ๋ค์ Poo
๋ฐ์ดํฐ ํ์ ์ค๋ผํด์์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์ ์ ๋ฌธ์, ์ซ์, ๋ ์ง, ์ด์ง๋ฐ์ดํฐ ํ์ ์ผ๋ก ๊ตฌ๋ถ๋๋ค. ์ค๋ผํด ๋ฟ๋ง ์๋๋ผ ๋๋ถ๋ถ์ DB๊ฐ ๋น์ทํ ์ ํ์ด๋ค.1\. ๋ฌธ์ ๋ฐ์ดํฐ ํ์ ๋ฌธ์ ๋ฐ์ดํฐ ํ์ ์ ํฌ๊ฒ ๊ฐ๋ณ๊ธธ์ด์ ๊ณ ์ ๊ธธ์ด๋ก ๋๋ ์ ์๋ค.๊ฐ๋ณ๊ธธ์ด๋? : ์ค์ ์ ๋ ฅ๋ ๋ฐ์ดํฐ
DDL (DATA DEFINITION LANGUAGE) ์๋ฌธ ๊ทธ๋๋ก ๋ฐ์ดํฐ ์ ์์ด ์ ๋๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ํ๋ ์ธ์ด์ด๋ฉฐ, ๋ฐ์ดํฐ๋ฆฌ๋ฅผ ์์ฑ, ์์ , ์ญ์ ํ๋ ๋ฑ์ ๋ฐ์ดํฐ์ ์ ์ฒด์ ๊ณจ๊ฒฉ์ ๊ฒฐ์ ํ๋ ์ญํ ์ ํ๋ ์ธ์ด ์ ๋๋ค.CREATE : ๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ ์ด๋ธ ๋ฑ์
์ฌ์ฉ์ ์์ฑ์ผ๋จ ์ค๋ผํด์์ DB๋ฅผ ์์ฑ ๋ฐ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๊ณ์ ์ด ํ์ํฉ๋๋ค. ์ด ๊ณ์ ์ ์ถํ JDBC์์๋ ์ฌ์ฉํ๊ณ ์ฐ๊ฒฐํ ๋ ๊ผญ ํ์ํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ๊ธฐ์ตํ๊ธฐ ์ฌ์ด ํจํด์ผ๋ก ์ง์๊ธฐ ๋ฐ๋๋๋ค.๊ณ์ ์์ฑ ์ค๋ผํด์์ ์ ์๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์ ๊ณ์ ๋ช , ์ํธ, ๊ถํ ์์ฑ์