1.1 ๊ฐ์ ๊ตฌ์ฑ ์์น
๋น์ ๊ณผ ๋๋ ์๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์น๋ถ์ ์๊ธฐ ์์ํ์ต๋๋ค . ์ด๊ฒ์ ์ฌ๋๋ค์ ๊ฐ๋ฅด์น๋ ๊ฐ์ธ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ํน์ง์ ๋๋ค. ์๋ก์ด ์ฃผ์ ์ ๋ํด ์ด์ผ๊ธฐํ ๋ ํญ์ ํน์ ๋๊ตฌ๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋จผ์ ์๋ ค์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ ์ฌ๋์ด ๊ทธ๊ฒ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์๋ค๋ ๊ฒ์ ์์์ ๋ ๋๋ ๋ชจ๋ ๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ๋งํ๊ธฐ ์์ํฉ๋๋ค.
์ด ์ ๊ทผ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ๊ฐ ์์ง๋ง ์ฃผ๋ ์ด์ ๋ ํ์ต ๊ณผ์ ์์ ๊ฐ์ฅ ๊ฐ์น ์๊ณ ๊ฐ์ฅ ๋ถ์กฑํ ์์์ด ํ์์ ๋๊ธฐ๋ผ๋ ๊ฒ์ ๋๋ค .
์ด ์ ๊ทผ ๋ฐฉ์์ ์ฐ๋ฆฌ๊ฐ ํ๊ต์ ๋ํ์์ ์ฌ์ฉํ๋ ์ต์ํ ๋ฐฉ์๊ณผ ์ฝ๊ฐ ๋ค๋ฆ ๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ๊ฒ์ด ๋ถ๋ช ํฉ๋๋ค. ํ๊ต๋ ๋ํ์์ ๊ณต๋ถํ ๋ ์ฌ๋ฐ๋ฅธ ์ฐ์ ์์๊ฐ ์์ต๋๋ค. ๊ณต๋ถ๋ ํ์ฌ ์ธ์์์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋๋ค.
์ฑ์ธ๊ธฐ์ ๋ ํ์ ์ข ์ฌํ๋ ๊ฒฝ์ฐ ์ด๋ฏธ ๊ณต๋ถ๋ฅผ ์ผ, ์ง์์ผ, ์ด๋ฆฐ์ด ๋๋ ์ฐ๋ก ํ ๋ถ๋ชจ ๋๋ณด๊ธฐ์ ๊ฒฐํฉํด์ผํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ์ข ์ข ๊ณต๋ถ๊ฐ ์ต์ฐ์ ์์๊ฐ ์๋๋๋ค.
์ฐ์ ์์์ ๊ดํ ๊ฒ์ ๋๋ค. ์คํํธ์ ์ธ๊ณ์๋ ์ด๋ฐ ๊ฐ๋ ์ด ์๋ค. Fail Fast, ์ต๋ํ ๋นจ๋ฆฌ ์คํจ . ์ด์ํ๊ฒ ๋ค๋ฆฌ์ง๋ง ์ค์ ๋ก๋ ๋ง์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ์ ์ ๊ธฐ์ ์ ์๋ฌด๋ ๊ทธ์ ๊ฐ์ค์ด ์ฌ๋ฐ๋ฅธ์ง ๋น ๋ฅด๊ฒ ํ์ธํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์ฌ์ค์ด ์๋๋ผ๋ฉด ๋น์ ์ ๊ทธ๊ฒ์ ๋น์ ์ ์ธ์์ ๋ณด๋ผ ํ์๊ฐ ์์ต๋๋ค. ํน์ ์๋น์ค ๋ ์ ํ์ ๋ํ ์์๊ฐ ์๋ค๋ ๊ฒ์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ดํดํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Java์ SQL์ ๊ฐ๋ฅด์น ๋๋ ๋์ผํ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค. ํ๋ก๊ทธ๋๋ฐ์ ์๋๋ฅด๊ณ ์๋์ง ์ฌ๋ถ๋ฅผ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ดํดํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค . ํ๋ก๊ทธ๋๋ฐ์ ์ข์ํ๊ณ ๋ฃจํ ๋ฐ ๋ฐฐ์ด๋ก ์์ ํ๋ ๋ฐฉ๋ฒ์ ์ค์ค๋ก ์์๋ผ ์ ์์๋ค๋ฉด ๋ฉํ ์ ์ ์ค๊ณ๋ ํ๋ก๊ทธ๋จ์ ๋์์ ๋ฐ์ ํ์ ์ ๋ง์น๊ณ ์ผ์๋ฆฌ๋ฅผ ์ฐพ์ ์ ์๋ ๋ชจ๋ ๊ธฐํ๊ฐ ์ฃผ์ด์ง๋๋ค.
๊ทธ๋ฌ๋ ๋ ๋ค๋ฅธ ์ฌ์ค์ ๊ทธ๋ค์ง ์ค์ํ์ง ์์ต๋๋ค. ๋ฉฐ์น ์ฌ๋ฉด ํ๋ก๊ทธ๋๋ฐ์ด ๋น์ ์์ํ ๊ฒ์ด ์๋๋ผ๋ ๊ฒ์ ์ดํดํ ์ ์์ต๋๋ค. ๊ด์ฌ์ด ์์ ์๋ ์์ง๋ง ๊ด์ฐฎ์ต๋๋ค . ๊ทธ๋์, ๋น์ ์ ๊ทธ๊ฒ์ ๋น์ ์ ์ถ์ ๋ช ๋ฌ์ ๋ณด๋ผ ํ์๊ฐ ์์ต๋๋ค.
์กธ์ ์์ 40%๋ง์ด ๋ํ์์ ๋ฐ์ ์ ๋ฌธ ๋ถ์ผ์์ ์ผํฉ๋๋ค. ์ฌ๋๋ค์ 5-6๋ ๋์ ๊ณต๋ถํ๊ณ ๊ทธ๋ค ์ค 60%๋ ์์ ์ ์ ๋ฌธ ๋ถ์ผ์์ ์ผํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์, ์ป์ ์ง์ ์ค ์ผ๋ถ๋ ์ฌ์ ํ ์ฌ์ฉ๋์ง๋ง ์ ๋ฐ ์ ๋๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
์ด๊ฒ์ Fail Fast ๊ฐ๋ ์ ๊ฐ์น์ ๋๋ค. ํน์ ์ง์ , ํน์ ์ฌ๋ ๋๋ ํน์ ์ทจ๋ฏธ๊ฐ ๊ทํ์๊ฒ ์ ํฉํ์ง ์๋ค๋ ๊ฒ์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ดํดํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์๊ฒ ์๊ฐ๊ณผ ์๋์ง๋ฅผ ๋ญ๋นํ์ง ๋ง์ญ์์ค. ์ฅ๊ธฐ์ ์ผ๋ก ์ด๊ฒ์ ๋งค์ฐ ์ข์ ์ ๋ต์ ๋๋ค.
1.2 SQL๊ณผ ๋ชจ๋, ๋ชจ๋, ๋ชจ๋
์ฐ๋ฆฌ๋ ์ฒ ํ์ ์๊ฐ๋ฅผ ๋ง์ณค์ต๋๋ค. SQL ํ์ต์ผ๋ก ๋์๊ฐ๊ฒ ์ต๋๋ค.
SQL ์ธ์ด์ DBMS๋ ์ฝ๊ฐ ๋ค๋ฆ ๋๋ค. SQL ์ธ์ด ์์ฒด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ SQL ์ฟผ๋ฆฌ๋ก ์์ฑํ ์ ์๋ ๋ด์ฉ์ ์ค๋ช ํ๋ ์ผ์ข ์ ํ์ค์ ๋๋ค. DBMS๋ ์ด๋ฏธ ์ด ํ์ค์ ๊ตฌํํ๊ณ ์์ต๋๋ค. ์ผ๋ถ DBMS๋ ํ์ค์ ์ผ๋ถ ๊ธฐ๋ฅ, ๋ ๋ฒ์งธ ๊ธฐ๋ฅ ๋ฑ์ ๊ตฌํํฉ๋๋ค.
DBMS๊ฐ ๋น์์๋ก ๊ตฌํํ๋ ํ์ค์ ๊ธฐ๋ฅ์ด ๋ง์์ง๋๋ค. ๋ํ ๋ง์ DBMS๋ ์ข ์ข SQL ํ์ค ์ด์ธ์ ๊ณ ์ ํ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค. ๋๋๋ก ์ด๋ก ์ธํด ์ด์์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ํ DBMS์ฉ์ผ๋ก ์์ฑ๋ SQL ์ฟผ๋ฆฌ๊ฐ ๋ค๋ฅธ DBMS์ฉ์ผ๋ก ์ ๋๋ก ์๋ํ์ง ์์ ์ ์์ต๋๋ค.
Java๋ ๋น์ทํ ์ํฉ์ ๋๋ค. Java ํ๋ก๊ทธ๋จ์ด Windows์์ ์์ฑ๋๋ฉด Linux์์ ์ ์์ ์ผ๋ก ์๋ํ์ง ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Java๋ ์ด์ ์ฒด์ ๋ง๋ค ๋ค๋ฅด๊ฒ ๊ตฌํ๋๋ ํน์ ํด๋์ค๋ฅผ ๋์ ํฉ๋๋ค. ์: WindowsPath, LinuxPath ๋ฑ์ ๊ตฌํ์ด ์๋ ๊ฒฝ๋ก ํด๋์ค
๋ฌธ์ ์ ๋ ๋ฒ์งธ ๋ถ๋ถ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํตํด ํด๊ฒฐ๋ฉ๋๋ค. ๋ค๋ฅธ ์ธ์ด ๋๋ DBMS์ ๋ชจ๋ ์ฑ๊ณต์ ์ธ ํ์ ์ด ์๋ก์ด JDK ๋๋ SQL ํ์ค์ ์ถ๊ฐ๋ฉ๋๋ค. JDK์๋ ๋ค์ํ ๋ฒ์ ์ด ์๊ณ ์ต์ ๋ฒ์ ์ผ์๋ก ๋ ๋ง์ ๊ธฐ๋ฅ์ด ์๋ค๋ ๊ฒ์ ์ด๋ฏธ ์๊ณ ์์ต๋๋ค. SQL๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
SQL ์ธ์ด์๋ ์ฐ๋๋ณ๋ก ์ด๋ฆ์ด ์ง์ ๋ ์ฌ๋ฌ ๋ฒ์ ์ ํ์ค์ด ์์ต๋๋ค.
- SQL:1999
- SQL:2003
- SQL:2006
- SQL:2011
- SQL:2016
- SQL:2019
์ข์ ์์ : ์ฐ๋ฆฌ๋ ์ด๋ฌํ ํ์ค์ ์ฐ๊ตฌํ์ง ์์ ๊ฒ์ ๋๋ค. ์ฒซ์งธ, ์ด ๋ชจ๋ ๊ฒ์ ์ฐ๊ตฌํ๊ณ ์๋ฌํ๋ ๋ฐ ๋ช ๋ ์ด ๊ฑธ๋ฆด ๊ฒ์ ๋๋ค. ๋์งธ, ์ด๋ฌํ ํ์ค์ Android ๋ฒ์ ๊ณผ ๊ฐ์ต๋๋ค. ์ถ์ ํ ๋ถ๊ณผ 5~10๋ ์ด ์ง๋๋ฉด ํ์ค์ด ๊ด๋ฒ์ํ๊ฒ ํ์ฐ๋ฉ๋๋ค.
๋ง์ ์์ ๋ฐ์ดํฐ๊ฐ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ๋๋ค์ ์ ๋ขฐ์ฑ๊ณผ ์์ ์ฑ์ด ํ์ํฉ๋๋ค. "์๋ํฉ๋๋ค. ๋ง์ง์ง ๋ง์ญ์์ค."๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ ํ๋ ๋ชจ๋ ์ฌ๋์ ๋ชจํ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ฒ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก์ ์ ํ์ ๊ทธ๋ฌํ ์๋ฃจ์ ์ ๋ชจ๋ ์ด์ ์ด ์ด๋ฏธ ๋ถ๋ช ํ 5๋ ๋ง๋ค ์ด๋ฃจ์ด์ง๋๋ค.
1.3 ๊ดํธ ๋๋จธ
์์์ ๋งํ๋ฏ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฌธ๊ฐ๊ฐ ๋๋ ค๋ฉด ๋ช ๋ ์ด ๊ฑธ๋ฆฝ๋๋ค. ์ ๋ฌธ๊ฐ๋ ์ฐ๋ฆฌ๊ฐ ๊ณต๋ถํ์ง ์์ ๋ง์ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ ๋ค๋ฅธ ํญ๋ชฉ์ ๋ํด ์กฐ๊ธ ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
๊ฑฐ์ ๋ชจ๋ ์ต์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์์ ์ง์ํฉ๋๋ค.
1 ์ ์ฐจ์ ์ธ์ด(PL)
RDBMS๋ SQL Server์์ ์คํ๋๋ ํ๋ก์์ ๋ฐ ํจ์๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ์ง์ํ๋ฉฐ ์ฟผ๋ฆฌ ์ค์ ๋ฐ์ดํฐ๋ก ๋ง์ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Oracle ์๋ฒ์ PL SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ฉด ์ฟผ๋ฆฌ์ ๋ํ ์๋ต์ผ๋ก ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ HTML ํ์ด์ง๊ฐ ์์ฑ๋ฉ๋๋ค. ๊ทธ๋ ๋ ํ ์์์ด.
2 ์ด๋ฒคํธ(ํธ๋ฆฌ๊ฑฐ)
๋ชจ๋ ์ต์ DBMS๋ SQL ์ธ์ด์์ ํธ๋ฆฌ๊ฑฐ๋ผ๊ณ ํ๋ ์ด๋ฒคํธ ๋ฉ์ปค๋์ฆ์ ์ง์ํฉ๋๋ค. ํธ๋ฆฌ๊ฑฐ๋ ์ผ๋ถ ์์ ์ ๋ํ ์๋ต์ผ๋ก ๋ฐ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ธฐ๋ฅผ ์๋ํ๋ ๋ชจ๋ ์๋๋ฅผ ์ฐจ๋จํ๊ณ ์ ํํ ๋ณ๊ฒฝ ์๊ฐ์ ์ ์ค์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
3 ๋ก๊น
์ต์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋งค์ฐ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ(์ ํ, ์ญ์ ๋ ํ, ๋ณ๊ฒฝ๋ ํ)์ ๋จผ์ ๋ก๊ทธ๋ผ๋ ํน์ ํ์ผ์ ๊ธฐ๋ก๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ผ๋ง ํ SQL ์๋ฒ๋ ์ด๋ฌํ ๋ ์ฝ๋๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณํฉํฉ๋๋ค.
์ด๋ค ๋ฉด์์ ์ด๋ Java์ ๊ฐ๋น์ง ์์ง๊ธฐ ๋์๊ณผ ์ ์ฌํฉ๋๋ค. ๋ํ ์ฒ์์๋ ๊ฐ์ฒด๋ฅผ ์ญ์ ๋ ๊ฒ์ผ๋ก ํ์ํ๊ณ ์ ํด ์๊ฐ ๋์ ๋ฉ๋ชจ๋ฆฌ ์ ๋ฆฌ ๋ฐ ์ต์ ํ๋ฅผ ์ํํฉ๋๋ค.
4 ํ๋ฌ๊ทธ์ธ
๋ง์ ํ๋ก๊ทธ๋จ๋ฟ๋ง ์๋๋ผ DBMS์๋ ์์ ๋ง์ ํ๋ฌ๊ทธ์ธ์ ์์ฑํ ์ ์์ต๋๋ค. ์ด๋ฌํ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ฉด ๊ณ ์ ํ ๋ฐ์ดํฐ ์ ํ, ์์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ DBMS์ ํ์ค ๋์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ด๋ ์คํ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์์ ํ๊ณ ์ผ๋ถ ๋ฒ๊ทธ๊ฐ ์์ ๋ ํนํ ์ ์ฉํฉ๋๋ค.
5 ๋ถ์ฐ ์์ (ํด๋ฌ์คํฐ)
์ต์ SQL ์๋ฒ์ ์ผ๋ฐ์ ์ธ ์๋๋ฆฌ์ค๋ ์ฌ๋ฌ ์๋ฒ์ ํด๋ฌ์คํฐ์ ๋๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ์ต์ ์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ์๋ฒ์ ์ฐ๊ณ ์๋ฒ ๊ทธ๋ฃน์์ ์ฝ๋ ๊ฒ์ ๋๋ค. ์ด ๊ฒฝ์ฐ SQL ์๋ฒ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๊ธฐํ์ ๋ํ ๋ค์ํ ์๋๋ฆฌ์ค๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
6 ์ค๋ฉ
๋ฐ์ดํฐ๊ฐ ๋ง์ผ๋ฉด ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ถํ ๋๊ธฐ ์์ํฉ๋๋ค. ํ๋์ ํ ์ด๋ธ์ด ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๋ถ๋ก ์ ์ฅ๋ ์ ์๋ค๋ ์ฌ์ค๊น์ง.
์ค๋ฉ์ ์์ง ๋ฐ ์ํ์ด ๋ ์ ์์ต๋๋ค. ์์ง ์ค๋ฉ์ ํ ์ด๋ธ์ ๊ทธ๋๋ก ์์ง์ ์ผ๋ก ์๋ฅด๊ณ ์ํ ์ค๋ฉ์ ์ํ์ผ๋ก ์ ๋จํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์๋ฅผ ๋ค์ด ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋๋ณ๋ก ๋๋๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๊ฒ์ ์ํ ์ค๋ฉ์ด ๋ ๊ฒ์ ๋๋ค.
7 ๋ฐ์ง ์๋ ๊ฒ์ ๋ฐ๋ค
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ์ ํน์ ๋จ๊ณ์์ ์ ์ ๋ ๋ง์ ๋น์ฆ๋์ค ๋ก์ง์ด ์ถ๊ฐ๋๊ธฐ ์์ํ์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ํ๋ก์์ , ํจ์, ์๋ฒ์ ์ํ ์น ํ์ด์ง ์์ฑ์ผ๋ก ์์ํ์ฌ Python, JavaScript, ์ฌ์ง์ด Java ๋ฐ C++์ ๊ฐ์ ๊ฑฐ์ ๋ชจ๋ ์ธ๊ธฐ ์ธ์ด์ ๋ํ ์ง์์ DBMS์ ์ถ๊ฐํ๋ ๊ฒ์ผ๋ก ๋๋ฌ์ต๋๋ค.
์ธ๋ถ ์ฌํญ์ ๋ค์ด๊ฐ๊ธฐ ์ ๊น์ง๋ ๋ฉ์ง ๊ฒ ๊ฐ์ต๋๋ค. JDK, Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๋ ์์ํฌ, ์์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ SQL ์๋ฒ ๋ด์์ ์คํ๋ Java๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ๋น์ฆ๋์ค ๋ก์ง์ ์์ฑํ๊ณ ์ถ์ต๋๊น? ๋ค๋ฅธ ์ ํ?
GO TO FULL VERSION