๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
0125 ์ง๊ณ ํจ์ ์ง๊ณ ์ดํฉ rollup cube having ์์ํจ์(rank over row_number over) ๋ ์งํจ์(add_months months_between) subquery ์๋ธ์ฟผ๋ฆฌ (create insert delete select)
*์ง๊ณํจ์ -group by์ ํจ๊ป ์ฌ์ฉ๋๋ฉด ๊ทธ๋ฃน๋ณ ์ง๊ณ๋ฅผ ์ป์ ์ ์์ -group by์ ํจ๊ป ์ฌ์ฉ๋์ง ์์ผ๋ฉด ๋ชจ๋ ์ปฌ๋ผ์ ํ๋๋ก ์ง๊ณํจ select ***group by์ ์ค์ ๋ ์ปฌ๋ผ๋ช ๋ง ์ ์*** , ์ง๊ณํจ์(์ผ๋ฐ์ปฌ๋ผ - ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ฌ์ง ์ผ๋ฐ ์ปฌ๋ผ์ ๋ํ ์ง๊ณ๋ฅผ ์ํ) from group by ์ปฌ๋ผ๋ช *์ง๊ณ์ ๋ํ ์ดํฉ -rollup๊ณผ cube๋ฅผ ์ฌ์ฉ 1) group์ผ๋ก ๋ฌถ์ธ ์ปฌ๋ผ์ด ํ๋์ธ ๊ฒฝ์ฐ ์ฌ์ฉ๋ฒ) group by rollup(์ปฌ๋ผ๋ช ) group by cube(์ปฌ๋ผ๋ช ) rollup: ์๊ณ ํ ์ ์ฒด ํฉ๊ณ๊ฐ ์ถ๋ ฅ๋จ cube: ์ ์ฒด ํฉ๊ณ๊ฐ ๋จผ์ ์ถ๋ ฅ๋ ํ ์๊ณ๊ฐ ์ถ๋ ฅ๋จ 2) group์ผ๋ก ๋ฌถ์ธ ์ปฌ๋ผ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ -์ฌ์ํ ์ด๋ธ์์ ๋ถ์์ ํด๋นํ๋ ์ง๋ฌด๋ณ rollup(deptno, job) ํน์ ..
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ ์์ฝ ์ ๋ฆฌ
๋ฐ์ดํฐ๋? ๊ด์ฐฐ์ ๊ฒฐ๊ณผ๋ก ๋ํ๋ ์ ๋์ , ์ ์ฑ์ ์ธ ์ค์ ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋? ์กฐ์ง์ ํ์ํ ์ ๋ณด๋ฅผ ์ป๊ธฐ ์ํด ๋ ผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ด๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์ ๊ตฌ์กฐ์ ์ผ๋ก ํตํฉํด ๋์ ๊ฒ ๊ฐ ์กฐ์ง์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์ ํตํฉํ๊ณ ์๋ก ๊ณต์ ํ์ฌ ์๊ธฐ๋ ์ฅ์ ์ ์ด์ฉํ๋ ์์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ ํตํฉ๋ ๋ฐ์ดํฐ(intergrated data) : ์ฌ๋ฌ ๊ณณ์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ์ฌ ํ๋๋ก ์ ์ฅํ ๋ฐ์ดํฐ, ๋ฐ์ดํฐ์ ์ค๋ณต์ ์ต์ํํ์ฌ ์ค๋ณต ์ ์ฅ์ผ๋ก ์ธํ ๋ฐ์ดํฐ ๋ถ์ผ์น ํ์ ์ ๊ฑฐ ์ ์ฅ๋ ๋ฐ์ดํฐ(stored data): ๋ฌธ์๊ฐ ์๋ ์ปดํจํฐ ์ ์ฅ ์ฅ์น(๋์คํฌ, ํ ์ดํ ๋ฑ)์ ์ ์ฅ๋ ๋ฐ์ดํฐ, ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ผ๋ก ๋์คํ๋ ์ด ํน์ ์ธ์๋ฌผ๋ก ์ถ๋ ฅ ์ด์ ๋ฐ์ดํฐ(operational data): ์กฐ์ง์ ๋ชฉ์ ์ ์ํด ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ, ์ ๋ฌด๋ฅผ ์ํด..
0120 ๊ตญ๋น ์์ ์ค๋ผํด ๋ฌธ์์ด ํจ์(concat trim replace pad substr) null ๋ณํํจ์(nvl nvl2) ์กฐ๊ฑดํจ์(decode case) ๋ณํํจ์(to_char to_date to_number) ์ง๊ณํจ์(cont max min sum avg)
-concat : ๋ฌธ์์ด์ ํฉ์น ๋ ์ฌ์ฉ๋ฒ) concat(๋ฌธ์์ด, ํฉ์น ๋ฌธ์์ด) -trim : ๋ฌธ์์ด์ ์.๋ค ๊ณต๋ฐฑ์ ์ ๊ฑฐํ ๋ ์ฌ์ฉ๋ฒ) trim(๋ฌธ์์ด) -ltrim : ๋ฌธ์์ด์ ์ ๊ณต๋ฐฑ(์ผ์ชฝ ๊ณต๋ฐฑ)๋ง ์ ๊ฑฐ ์ฌ์ฉ๋ฒ) ltrim(๋ฌธ์์ด) -rtrim : ๋ฌธ์์ด์ ๋ท ๊ณต๋ฐฑ(์ค๋ฅธ์ชฝ ๊ณต๋ฐฑ)๋ง ์ ๊ฑฐ ์ฌ์ฉ๋ฒ) rtrim(๋ฌธ์์ด) -replae : ์นํ ์ฌ์ฉ๋ฒ replace(๋ฌธ์์ด, ์ฐพ์ ๋ฌธ์์ด, ์นํํ ๋ฌธ์์ด) -lpad: ๋ฌธ์์ด ์์ ๋ฌธ์์ด ์ฑ์ฐ๊ธฐ ์ฌ์ฉ๋ฒ) lpad(๋ฌธ์์ด, ๊ธธ์ด, ์ฑ์ธ ๋ฌธ์์ด) lpad('test',10,'$') > $$$$$$test ํ๊ธ์ charset์ ์๊ด์์ด ํ ๊ธ์์ 2byte๋ก ์ฐ์ฐํจ -rpad: ๋ฌธ์์ด ๋ค์ ๋ฌธ์์ด ์ฑ์ฐ๊ธฐ ์ฌ์ฉ๋ฒ) rpad(๋ฌธ์์ด, ๊ธธ์ด, ์ฑ์ธ๋ฌธ์์ด) rpad('a..
0119 ๊ตญ๋น์์ ์ค๋ผํด group by distinct order by ๋ดdual ํ ์ด๋ธ ์์น ํจ์(abs round ceil floor trunc) ๋ฌธ์์ด ํจ์(length upper lower initcap instr)
*group by์ > ์ค๋ณต๊ฐ ๋ฐฐ์ - ๊ฐ์ ๊ฐ์ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด ๊ฒ์ํ๋ ์ผ(์ค๋ณต๋ ๊ฐ์ด ์ถ๋ ฅ๋์ง ์์) - ์ง๊ณ(๊ทธ๋ฃน)ํจ์์ ํจ๊ป ์ฌ์ฉํ๋ฉด ๊ทธ๋ฃน๋ณ ์ง๊ณ๋ฅผ ์ป์ ์ ์์ - having์ ์ ๋ถ์ฌ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด๋ ์กฐ๊ฑด์ ์ค์ ํ ์ ์์ - ์ฌ๋ฌ ๋ ์ฝ๋๊ฐ ์กฐํ๋๋ ์ปฌ๋ผ๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ฉด error ๋ฐ์ ๋ฌธ๋ฒ) group by ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ผ ์ปฌ๋ผ๋ช ,,, having ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ผ ์กฐ๊ฑด < ์ง๊ณํจ์๊ฐ ์ฌ์ฉ๋ ์ ์์ ์ค๋ณต๊ฐ์ด ์๋ ์ปฌ๋ผ์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ผ๋ฉด ์ค๋ณต๊ฐ์ด ํ๋๋ก ํฉ์ณ์ ธ์ ๊ฒ์๋จ - ๋ด๊ฐ ๊ฑธ๋ฌ๋ผ ํ์ ์์ ์๋ฌ ์ฃผ์) ์กฐํ๋๋ ์ปฌ๋ผ์ ๋ ์ฝ๋ ์๊ฐ ๋ฐ๋์ ๊ฐ์์ผ ํจ (์ธ๋ผ์ธ๋ทฐ๋ ๋ชจ๋ ์ปฌ๋ผ์ ๋ ์ฝ๋ ๊ฐ์๊ฐ ๊ฐ์์ผ ํจ) ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ธ ๋ฐ์ดํฐ์ ์ผ๋ฐ ์ปฌ๋ผ์ ๋ฐ์ดํฐ๊ฐ ๊ด๋ จ์ด ์์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ธ ์ปฌ๋ผ๊ณผ ์ผ๋ฐ ์ปฌ..
0118 ๊ตญ๋น ์์ ์ค๋ผํด update delete truncate drop select alias where ์กฐ๊ฑด์ ๋ฒ์ ๋น๊ต ์ฐ์ฐ์ between and or ๋ฌธ์์ด ์ฐ์ฐ์
*Update - ์ปฌ๋ผ์ ๊ฐ์ ๋ณ๊ฒฝํ ๋ ์ฌ์ฉํ๋ DML - transaction ๋์ ์ฟผ๋ฆฌ๋ฌธ > commitํ์ ๋ฌธ๋ฒ) update ํ ์ด๋ธ๋ช set ์ปฌ๋ผ๋ช = ๋ณ๊ฒฝํ ๊ฐ,,,, (๋์ ์ =) where ์ปฌ๋ผ๋ช = ๊ธฐ์ค๊ฐ (๊ด๊ณ์ = / or like between ๋ฑ๋ฑ์ ์ฐ์ฐ์๊ฐ ๋ค์ด๊ฐ ์ ์์) - where์ ์ ์ผ์นํ๋ (์กฐ๊ฑด์ ๋ง๋) ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ์ฐพ์์ ์ปฌ๋ผ์ ๊ฐ์ ๋ณ๊ฒฝํจ - 0~n๊ฐ์ ๋ ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋จ - ๋ฐ๋์ง ๋ง์์ผํ ๋ ์ฝ๋๊ฐ ๋ฐ๋์ง ์๋๋ก ์กฐ๊ฑด ์ค์ * ํ์ ํ ์ด๋ธ์์ ๋ฒํธ๊ฐ 2๋ฒ์ธ ํ์์ ์ด๋ฆ์ ์คoo์ผ๋ก, ์ ํ๋ฒํธ๋ฅผ 010-1234-567๋ก ๋ณ๊ฒฝ update student set name='์คoo', phone = '010-3456-7891' -- 2. ์ด ๊ฐ์ผ๋ก ๋ณ๊ฒฝ ์ํ where ..
0117 ๊ตญ๋น์์ ์ค๋ผํด insert null transaction commit rollback savepoint select ์ฐ์ฐ์
*insert - DML (์กฐ์์ด) - ํ ์ด๋ธ์ Record๋ฅผ ์์ฑํ ๋ ์ฌ์ฉํ๋ SQL๋ฌธ - ์ถ๊ฐ๋๋ ๋ฐ์ดํฐ๋ ์์๋๋ก ๋ค์ด๊ฐ์ง ์์ ์๋ ์์ - transaction ๋์ ์ฟผ๋ฆฌ๋ฌธ ๋ฌธ๋ฒ) -์ปฌ๋ผ์ ์๋ตํ๊ณ ์ถ๊ฐ(๊ถ์ฅx) (insertํ ๋ ์ปฌ๋ผ์ ์์๋ฅผ ์ง์ผ ์ปฌ๋ผ์ ์์๋๋ก๋ง ์ ๋ ฅ ๊ฐ๋ฅ, ์ปฌ๋ผ์ ๊ฐ ์๋ต ๋ถ๊ฐ / ์ปฌ๋ผ์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ์ถ๊ฐ x) insert into ํ ์ด๋ธ๋ช values(๊ฐ,,,,,) ; -์ปฌ๋ผ์ ๋ช ์ํ๊ณ ์ถ๊ฐ(๊ถ์ฅ) (insertํ ๋ ํ ์ด๋ธ์ ์ปฌ๋ผ ์์๋ฅผ ๋ฐ๊ฟ์ ์ ๋ ฅ ๊ฐ๋ฅ, ์ปฌ๋ผ์ ๊ฐ ์๋ต ๊ฐ๋ฅ / ์ปฌ๋ผ์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ๋ ์ถ๊ฐ o) insert into ํ ์ด๋ธ๋ช (์ปฌ๋ผ๋ช ,,,) values(๊ฐ,,,) ; // ๊ฐ์ด ์ด๋ค ์ปฌ๋ผ์ผ๋ก ๋ค์ด๊ฐ๋์ง ๋ช ํํ ๋ช ์๋จ ํ ์ด๋ธ Test num n..
0116 ๊ตญ๋น ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ 4๊ฐ์ง ํน์ง DB์ ํน์ฑ DB ์ฅ๋จ์ ์ ์์ด ์ ์ด์ด ์กฐ์์ด RDBMS ํ ์ด๋ธ ์์ฑ Oracle ๋ฐ์ดํฐํ editor
*DBMS ( DataBase Management System) - ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค (RDBMS – Relationship DBMS) : ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ์ ์ ์ฅํ๊ณ , ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํ์ฌ ์ฌ์ฉํ๋ DBMS -1950๋ ์ ๋ฏธ๊ตญ ๊ตฐ๋์์ ์ฒ์ ๋ฑ์ฅํ ์ฉ์ด ๊ตฐ๋์์ ์ฌ์ฉํ๋ ๊ตฐ๋น๋ฅผ ์ง์ค์ , ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ๋์๊ด ๊ฐ๋ ์ ๋์ ํ์ฌ ๊ฐ๋ฐํ๋ฉด์ ๋ฐ์ดํฐ์ ๊ธฐ์ง๋ผ๋ ๋ป์ผ๋ก “๋ฐ์ดํฐ๋ฒ ์ด์ค”๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉ - 1965๋ ์์คํ ๋๋ฒจ๋กํ ์ฌ ์ฌํฌ์ง์์์ ํ๋ฉด์ ์ผ๋ก ์ฌ์ฉ *๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ data(์๋ฃ) : ์ซ์, ์์, ๋จ์ด ๋ฑ์ ํํ๋ก ๋ ์๋ฏธ์๋ ๋จ์ ์ฐ๊ตฌ,์กฐ์ฌ์ ๋ฐํ์ด ๋๋ ์ฐ์ฌ๋์ด ์๋ ์ฌ๋ฃ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธ์๊ฒ ์ ๋ฆฌํ๋ฉด ์ ๋ณด๊ฐ ๋จ database : ์ฒด๊ณํ๋ ๋ฐ์ดํฐ์ ๋ชจ์ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์์ ํตํฉ๋..
0113 ๊ตญ๋น ์์ ์๋ฐ Thread๊ฐ ๋์ ๋ ์ฑํ ๋ค๋๋ค ์ฑํ
์๋ฒ ํด๋ผ์ด์ธํธ 1.ํฌํธ๋ฅผ ์ด๊ณ , 2.์ ์์ ์์ผ์ ๋ฐ๊ณ , 3. ์คํธ๋ฆผ์ ์ฐ๊ฒฐ 4.์ ์์ ์์ผ๋ค์์ ๋ฉ์์ง๋ฅผ ์ฝ์ด๋ค์ฌ 5. ๋ชจ๋ ์ ์์์๊ฒ ๋ฉ์์ง๋ฅผ ๋ฟ๋ ค์ค๋ค. 1.์๋ฒip์ ํฌํธ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ ์ ์ํ์ฌ 2.๋ฉ์์ง๋ฅผ ์๋ฒ๋ก ๋ณด๋ด๊ณ 3.์๋ฒ์์ ๋ฐ์์จ ๋ฉ์์ง๋ฅผ ์ฝ์ด ๋ค์ธ๋ค. Vector :Helper๊ด๋ฆฌ Helper: ์ ์์ ์์ผ์ ๋ฐ์, ์คํธ๋ฆผ์ ์ฐ๊ฒฐํ๊ณ ๋ฉ์์ง๋ฅผ ๋ฌดํ ๋ฃจํ๋ก ์ฝ๊ณ ๋ชจ๋ ์ ์์์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ธ๋ค.