๐ ๊ตญ๋น์ง์ํ์/๐DB ์์

[DB] ํ์ 230203(๊ธ) PreparedStatement
** PreparedStatement - ์ฟผ๋ฆฌ๋ฌธ์ ์๊ณ ์๋ ๊ฐ์ฒด. - ์ฟผ๋ฆฌ๋ฌธ์ ๋ฏธ๋ฆฌ ์์ฑํ๊ณ , ๊ฐ์ด ๋ค์ด๊ฐ๋ ๋ถ๋ถ์ bind๋ณ์(?)๋ก ์ฒ๋ฆฌํ์ฌ ์ฟผ๋ฆฌ๋ฌธ์ ๋ณต์ก๋๋ฅผ ๋ฎ์ถ๋ ์ฟผ๋ฆฌ๋ฌธ ์์ฑ๊ฐ์ฒด. - ์ฟผ๋ฆฌ๋ฌธ์ด ๋ฐ๋ณต ์คํ๋๋๋ผ๋ ํ๋ฒ๋ง ์์ฑํ์ฌ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ณต ์คํ๋๋ ํ๊ฒฝ์์ ํจ์จ์ด ์ข๋ค. - SQLInjection ๊ณต๊ฒฉ์ ์์ ํ๋ค. ์์ ์์ 1. ๋๋ผ์ด๋ฒ๋ก๋ฉ 2. ์ปค๋ฅ์ ์ป๊ธฐ 3. ์ฟผ๋ฆฌ๋ฌธ์์ฑ๊ฐ์ฒด ์ป๊ธฐ String example=“insert into ํ ์ด๋ธ๋ช (์ปฌ๋ผ๋ช ,,) values(?,?,?,?)”; PreparedStatement pstmt=con.prepareStatement( example ); 4. ๋ฐ์ธ๋๋ณ์์ ๊ฐ ์ค์ -์ ์ pstmt.setInt( ์ธ๋ฑ์ค, ์ ์๊ฐ); -์ค์ pstmt.se..

[DB] ํ์ 230202(๋ชฉ) Statement
* Statement - ๊ฐ์ฒด๊ฐ ์คํํ ์ฟผ๋ฆฌ๋ฌธ์ ์์ง ๋ชปํ๋ ์ํ๋ก ์ป์ด์ง๋ค. Statement stmt=con.createStatement(); - ์ฟผ๋ฆฌ๋ฌธ์ ์คํ(executeXxx(“์ฟผ๋ฆฌ๋ฌธ”))ํ ๋ ์์ฑํ์ฌ ์คํ. - ๊ฐ์ ์ฟผ๋ฆฌ๋ฌธ์ด๋๋ผ๋ ๋งค๋ฒ ์๋ก ์์ฑํ์ฌ ์คํ. (์ฟผ๋ฆฌ๋ฌธ์ด ๋ฐ๋ณต์ ์ผ๋ก ์คํ๋ ๋ ํจ์จ์ด ๋จ์ด์ง๋ค.) - SQLInjection๊ณต๊ฒฉ์ ์ทจ์ฝ.(์ธ๋ถ์์ ์ฟผ๋ฆฌ๋ฌธ์ ์์ํ์ฌ ์กฐ์ํ ์ฟผ๋ฆฌ๋ฌธ์ ๋ฃ๋ ๊ณต๊ฒฉ) * Statement ์ฌ์ฉ. - Statement ๊ฐ์ฒด ์ป๊ธฐ Statement stmt=con.createStatement(); - ์ฟผ๋ฆฌ๋ฌธ์ ๋ฐ๋ผ execute(), executeUpdate(), executeQuery() method๋ฅผ ํธ์ถํ์ฌ ์ฒ๋ฆฌ. String sql=“create tabl..

[DB] ํ์ 230201(์) JDBC, DBMS ์์ ์์, Execute, ExecuteQuery, ExecuteUpdate
** JDBC ( Java DataBase Connectivity ) - Java์์ DBMS์ ์ฐ๋ํ๊ธฐ์ํ ์ ์์ค API - java.sql ํจํค์ง์์ ๊ด๋ จ ์ธํฐํ์ด์ค, ํด๋์ค๋ฅผ ์ ๊ณต - Driver loading ๋ฐฉ์ ( Driver๋ง ์ ๊ณต๋๋ค๋ฉด ๋ชจ๋ DBMS์ ์ฐ๋ํ ์ ์๋ค ) * ์ฌ์ฉ๊ฐ์ฒด - java.lang.Class : ๋ฐฐํฌ๋ .jar๋ฅผ ๊ฐ์ฒดํํ์ฌ JVM์ ๋ก๋ฉ(instance)ํ๋ ์ผ. - java.sql.DriverManager : ๋ก๋ฉ๋ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ์ฌ DB์ฐ๊ฒฐ์ ์ป๋ ์ผ. - java.sql.Connection : DBMS์ ์ฐ๊ฒฐ์ ์ ์ง, transaction์ฒ๋ฆฌ, ์ฟผ๋ฆฌ๋ฌธ ์์ฑ๊ฐ์ฒด ์ป๋ ์ผ. - java.sql.Statement : ์ฟผ๋ฆฌ๋ฌธ์ ์ฟผ๋ฆฌ๊ฐ ์คํ๋ ๋๋ง๋ค ์์ฑํ์ฌ ์ฒ๋ฆฌํ๋ ..

[DB] ํ์ 230131(ํ) self join, ๋ฐฑ์ , ๋ณต์. ๊ณ์ ์์ฑ, ๊ณ์ ์ญ์ , ๊ถํ๋ถ์ฌ, ๊ถํํ์, synonym, view
* self join - ํ ์ด๋ธ ํ๋๋ฅผ ์กฐ์ธ ํ๋ ๊ฒ . - ๊ฒ์์ฉ๋์ ์กฐ๊ฑด์ฉ๋๋ฅผ ์๋ณํด์ ์ฌ์ฉํด์ผ ํ๋ค. ๋ฌธ๋ฒ) select alias.์ปฌ๋ผ๋ช ,,,,, from ํ ์ด๋ธ๋ช alias, ์กฐ์ธํ ํ ์ด๋ธ๋ช alias e2.sal and e2.ename='JONES'; -- ๊ณ์ ์กฐํ select * from dba_users; -- ๊ถํ ํ์ธ select * from dba_role_privs; ** ๋ฐฑ์ - ๋ชจ๋ ๊ณ์ ์ ๊ณ์ ์ด ์์ฐํ ๊ฐ์ฒด ( table, sequence, index, view, synonym, function, procedure, package) ๋ฐฑ์ ์ ์ํํ ์ ์๋ค. - exp.exe ํด์ ์ฌ์ฉํ๋ค. - dos์ฐฝ์์ ์ํ. - ์์ฑ๋ ํ์ผ์ ์ง๋ฆฌ์ ์ผ๋ก ๋จ์ด์ง ์์ ํ์ฅ์์ ๋ณด๊ด ์ฌ์ฉ๋ฒ) -..

[DB] ํ์ 230130(์) sequence, currval, nextval, union, join(inner join, outer join)
** sequence - ์์ฐจ์ ์ธ ๋ฒํธ๋ฅผ ์ ๊ณตํ๋ ๊ฐ์ฒด. - Orcacle 11g๊น์ง๋ DBMS๊ฐ ์ข ๋ฃ๋๋ฉด ์ค์ ํด๋์ ๋ฒํธ๋งํผ ์ฌ๋ผ์ง๋ค. - ์ฟผ๋ฆฌ๋ฌธ์ด ์คํจ๋๋ฉด ํด๋น ๋ฒํธ๊ฐ ์ฌ๋ผ์ง๋ค. - ์ปฌ๋ผ์ ๊ฐ์ ์์ฐจ์ ์ธ ๋ฒํธ๋ก insert ํ ๋ - user_sequences DD์์ sequence๋ฅผ ํ์ธํ ์ ์๋ค. select * from user_sequences; ์์ฑ) create sequence ์ํ์ค๋ช start with ์์๋ฒํธ maxvalue ๋ ๋ฒํธ increment by ์ฆ๊ฐ๊ฐ cache ๋ฉ๋ชจ๋ฆฌ์ ์ฅํด๋์ ์์ ๊ฐ์ ๋ฐ๋ณต์ฌ๋ถ; -- (nocycle, cycle) create sequence seq_test2 start with 10 maxvalue 1000000 increment by 10 cac..

[DB] ํ์ 230127(๊ธ) unique, check, not null, default, alter
** ์ ์ฝ์ฌํญ (Constraint) - ์ปฌ๋ผ์ ๊ฐ์ ๊ฐ๋ฐ์๊ฐ ์ํ๋ ํํ๋ก ๋ฐ๊ธฐ ์ํด ์ฌ์ฉ. - primary key, foreign key, unique, check, not null 5๊ฐ์ง๋ฅผ ์ ๊ณต - user_constraints DD( Data Dictionary ) ์์ ํ ์ด๋ธ์ ์ค์ ๋ ์ ์ฝ์ฌํญ์ ํ์ธํ ์ ์๋ค. - DD( Data Dictionary ) : DBMS์์ ์ด์์ ํ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ ํ ์ด๋ธ. ์ฌ์ฉ์๊ฐ ์ง์ insert, update, delete๋ฅผ ํ ์ ์๋ค. - ํ ์ด๋ธ ์์ฑํ ๋ ์ปฌ๋ผ๋จ์ ์ ์ฝ์ฌํญ, ํ ์ด๋ธ๋จ์ ์ ์ฝ์ฌํญ ๋ฌธ๋ฒ์ผ๋ก ์ค์ ํ ์ ์๋ค. - alter๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฝ์ฌํญ์ ์ถ๊ฐ, ์ญ์ , ๋ณ๊ฒฝ, ํ์ฑํ, ๋นํ์ฑํ๋ฅผ ํ ์ ์๋ค. *on delete cascade - ๋ถ..

[DB] ํ์ 230126(๋ชฉ) rownum, ์ ์ฝ์ฌํญ(Constraint), primary key(๊ธฐ๋ณธํค), foreign key(์ธ๋ํค), on delete cascade, ERD(Entity Relationship Diagram)
**select subquery - ๋จ์ํ, ๋ณต์ํ, scalar subquery 3๊ฐ์ง๋ก ์ฌ์ฉ๊ฐ๋ฅ. * ๋จ์ํ ์๋ธ์ฟผ๋ฆฌ ๋ค๋ฅธํ ์ด๋ธ ์ปฌ๋ผ ๊ฐ์ ์ฌ์ฉํ์ฌ ์กฐํํ๋ ๊ฒ. select ์ปฌ๋ผ๋ช ,,,, from ํ ์ด๋ธ๋ช where ์ปฌ๋ผ๋ช = ( select ,,, ) * scalar subquery - ๋ค๋ฅธ ํ ์ด๋ธ์ ์ปฌ๋ผ ๊ฐ์ผ๋ก ์กฐํํ ๋ - ์๋ธ์ฟผ๋ฆฌ๋ง ๋ณ๋์ ์คํ์ ํ ์ ์๋ค. (ctrl + F7) - ๋จ์ํ ์๋ธ์ฟผ๋ฆฌ๋ง ๊ฐ๋ฅ - ํ ์ด๋ธ์ ๋ค๋ฅด๊ณ ์ปฌ๋ผ๋ช ๊ฐ์ ๋ ์๋ณํด์ผ ํ๋ค.(ํ ์ด๋ธ๋ช , ์ปฌ๋ผ๋ช ) -- ๋ค๋ฅธํ ์ด๋ธ์ ์ปฌ๋ผ๊ฐ์ ํจ๊ป ์กฐํ -- empํ ์ด๋ธ deptํ ์ด๋ธ -- dept.deptno=emp.deptno select empno, ename, deptno, (select dname from dept whe..

[DB] ํ์ 230127(๊ธ)
eXERD์์ student๋ผ๋ ํ ์ด๋ธ์ ์ง์๋ ๋ชจ๋ธ์ฐฝ์์ student๋ผ๋ ํ ์ด๋ธ์ ์ง์์ฃผ์ง ์์ผ๋ฉด ์์ ํ ์ญ์ ๋ ๊ฒ์ด ์๋๋ค. ๋ง๋ ํ ์ด๋ธ์ ์ค๋ผํด์ ์ ์ฅํ๊ธฐ 1. P(๋ฌผ๋ฆฌ ๋ชจ๋)๋ก ํ ์ด๋ธ ์์ฑ 2. ํฌ์๋ ์์ง๋์ด๋ง -> ์ค์ ๊ด๋ฆฌ -> ์์ฐ๊ฒฐ -> Oracle 9i ~ 12c๋๋ฅด๊ณ -> ์ด๋ฆ ์๋ฌด๊ฑฐ๋ ์ ๊ณ E:\oracle\jdbc\lib\ojdbc8.jar