ORACLE
-
[7회차] JDBC (기타 예제, DAO와 DTO-②)ORACLE 2021. 5. 5. 18:17
강의명 : 오픈프레임워크 활용 디지털융합 SW엔지니어 양성 과정 강의 날짜 : 21.05.04 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class PreviousPrepareTest { Connection conn; //static 블록 static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); }catch ( ClassNotFoundException cne) { cne.printStackTrace(); } }..
-
[6회차] JDBC (DAO와DTO, 싱글톤)ORACLE 2021. 5. 5. 16:53
강의명 : 오픈프레임워크 활용 디지털융합 SW엔지니어 양성 과정 강의 날짜 : 21.05.03 PreparedStatement Statement prepareStatement(sql) executeQuery() / executeUpdate() createStatement() executeQuery(sql) / executeUpdate(sql) SQL명령문을 컴파일 시점에 Statement로 준비 후 바로 실행 SQL명령문을 실행 시에 Statement로 준다. 실행 시 SQL injection이 되지 않아 보안 상 안전 실행 시 SQL injection 위험성 1. PreparedStatement SELECT 예제 import java.sql.Connection; import java.sql.Driver..
-
[5회차] JDBC (JAVA와 ORACLE 연동)ORACLE 2021. 5. 3. 21:38
강의명 : 오픈프레임워크 활용 디지털융합 SW엔지니어 양성 과정 강의 날짜 : 21.04.30 오라클 데이터베이스에 접속하기 위해서는 해당 드라이버(=객체)가 필요하다. 오라클에서 다운로드 가능하며, 오라클 전용 드라이버로 자바와 오라클의 연동이 가능하다. 오라클 11g은 ojdbc6이 전용 드라이버이니 확인이 필수이다. ojdbc의 확장자는 jar이며, 패키지를 생성할 때마다 라이브러리에서 추가를 해주어야 참조가 가능하다. 1. 자바와 DB연동 ① 드라이버 로딩 : 드라이버를 불러서 실행 ② DB와 커넥션(연결) ③ SQL문 전송 위한 객체 할당 ④ DB에 쿼리문 전송 ⑤ ResultSet의 커서를 이용해 데이터 출력 ⑥ DB와 연결된 자원 반납(해제) : 문을 닫는 것은 객체 생성의 역순 import..
-
[4회차-②] ORACLE (PL/SQL)ORACLE 2021. 5. 3. 09:27
강의명 : 오픈프레임워크 활용 디지털융합 SW엔지니어 양성 과정 강의 날짜 : 21.04.29 Oracle's Procedure Language extension to SQL : 오라클 내장 절차형 언어 비절차적 언어의 단점을 보완하였다. SQL문장에서 변수 정의, 조건, 반복 등의 처리를 지원한다. 다음과 같은 하나의 절차가 존재한다. DECLARE 에서 선언을 하고 BEGIN과 END 사이에 실행문이 온다. 마치 JAVA에서 하나의 클래스 파일을 만드는 것과 같다. 1. 초기 설정 DBMS_OUTPUT.PUTLINE()이 출력 실행문인데, 이 실행문이 정상 작동하려면 SET SERVEROUTPUT ON이 필수이다. * / → RUN이라는 키워드가 들어가 있는 예약 문자이다. * 결국 컬럼에 있는 데이..
-
[4회차-①] ORACLE (시퀀스, 뷰, DCL)ORACLE 2021. 5. 2. 21:27
강의명 : 오픈프레임워크 활용 디지털융합 SW엔지니어 양성 과정 강의 날짜 : 21.04.29 임시로 테이블을 생성하자. 이 테이블은 은행과 같은 역할이라고 생각하자. 1. 시퀀스 생성 CREATE SEQUENCE 시퀀스명 NOCACHE; CREATE SEQUENCE 시퀀스명 START WITH 10 (초기값) INCREMENT BY 10 (증가값) MAXVALUE 30 (최대값) NOCACHE; 시퀀스는 순번 발급기, 번호 발급기와 같은 역할을 한다고 생각할 수 있다. 2. 번호 발급 데이터베이스의 인덱스는 1부터이므로 시퀀스도 1부터 값을 준다. 시퀀스는 대기 상태를 유지하다가 데이터가 INSERT되면 순번이 발급된다. 시퀀스 값을 받을 컬럼은 반드시 PRIMARY KEY로 지정이 되어있어야 한다. ..
-
[3회차-②] ORACLE (JOIN과 서브쿼리)ORACLE 2021. 5. 2. 18:39
강의명 : 오픈프레임워크 활용 디지털융합 SW엔지니어 양성 과정 강의 날짜 : 21.04.28 JOIN은 내가 가지고 있지 않은 정보를 다른 테이블을 통해서 가져오는 것이다. WHERE절에서 조인 조건을 사용한다. 명확성을 위해서 컬럼명 앞에 테이블명 또는 테이블 별칭을 사용해 준다. 1. EQUAL JOIN 가상 듀얼 테이블에서 두 테이블을 모두 가져와서 구성을 하고 조건을 주어 걸러내는 작업을 하는 것이다. EMP테이블의 부서번호와 DEPT 테이블의 부서번호가 같은 경우의 가상 테이블을 생성한 후, 그 테이블에서 AND 연산을 진행한다. 즉, 가상 테이블에서 이름에 A가 들어가는 경우로 걸러내는 것이다. 2. SELF JOIN 자기 테이블 하나만 가지고도 JOIN은 가능하다. 관리자 번호와 사원번호가..
-
[3회차-①] ORACLE (트랜잭션과 무결성 제약 조건)ORACLE 2021. 5. 2. 16:35
강의명 : 오픈프레임워크 활용 디지털융합 SW엔지니어 양성 과정 강의 날짜 : 21.04.28 모든 DBMS에 다 있는 기능으로 데이터를 처리하는 논리적인 작업 단위이다. 데이터를 처리하는 작업이므로 트랜잭션 작업은 즉, DML 명령어로 수행되는 작업을 의미한다. 트랜잭션 명령어 설명 COMMIT 완료, 확정 ROLLBACK 작업 취소, 명령 취소 SAVEPOINT 복구 지점 1. 자동 COMMIT과 자동 ROLLBACK cmd 창을 EXIT 명령어로 정상 종료 → 자동 COMMIT DDL, DCL명령문이 수행된 경우 → 자동 COMMIT 단, DDL, DCL명령문이 수행된 경우에 에러가 난 것은 무관하게 자동 COMMIT이 수행된다. 오류가 뜨냐 안 뜨냐가 문제가 아니라 DDL 명령어 + 엔터키(확정키..
-
[2회차-③] ORACLE (DML)ORACLE 2021. 4. 29. 21:58
강의명 : 오픈프레임워크 활용 디지털융합 SW엔지니어 양성 과정 강의 날짜 : 21.04.27 데이터를 조작하는 언어로 DDL과는 대상이 달라진다. DML 설명 INSERT 데이터 삽입 UPDATE 데이터 변경 DELETE 레코드 삭제 1. INSERT INTO INSERT INTO 테이블명(컬럼명, ...) VALUES(컬럼값, ...); 자료형의 순서는 당연히 일치해야 한다. 값을 대입할 컬럼명을 명시하지 않을 경우에는 자료형, 순서에 모두 맞춰서 값을 주어야 한다. 값을 삽입하지 않거나, NULL값을 주거나, ''을 값에 준 경우는 모두 NULL 값이 삽입된다. NULL은 자료형이라는 것이 존재하지 않기 때문에 어느 속성에든지 들어갈 수 있다. 2. 데이터 복사 INSERT ALL INTO 모든 데..