본문 바로가기

전체 글

(83)
[JDBC] JDBC 개요(이클립스-오라클 연결) JDBC(Java DataBase Connectivity)란? - 자바에서 데이터베이스에 접근할 수 있게 해주는 Programming API DB 접속을 위한 Connection 인스턴스 생성을 위한 레퍼런스 변수 선언 나중에 finally 블럭에서 사용하기 위해 try 블럭 밖에 선언함 package com.greedy.section01.connection; import java.sql.Connection; public class Application1 { public static void main(String[] args) { Connection con = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFo..
[Oracle(SQL)] SYNONYM(동의어), 권한과 ROLE 동의어(SYNONYM) - 다른 데이터베이스가 가진 객체에 대한 별명 혹은 줄임말 - 여러 사용자가 테이블을 공유할 경우 다른 사용자가 테이블에 접근할 때 '사용자명.테이블명'으로 표현하는데 동의어를 사용하면 간단하게 사용할 수 있다. 생성 방법 CREATE SYNONYM 줄임말 FOR 사용자명.객체명; CREATE SYNONYM EMP FOR EMPLOYEE; SELECT E.* FROM EMP E; (권한부여) GRANT CREATE SYNONYM TO C##EMPLOYEE; 동의어의 구분 1. 비공개 동의어 - 객체에 대한 접근 권한을 부여 받은 사용자가 정의한 동의어 2. 공개 동의어 - 모든 권한을 주는 사용자가 정의한 동의어 - 모든 사용자가 사용할 수 있음(PUBLIC) CREATE PUBL..
[Oracle(SQL)] SEQUENCE, INDEX SEQUENCE(시퀀스) - 자동 번호 발생기 역할을 하는 객체 - 순차적으로 정수값을 자동으로 생성해줌 CREATE SEQUENCE 시퀀스이름 [INCREMENT BY 숫자] -- 다음 값에 대한 증가치, 생략하면 자동 1 기본 [START WITH 숫자] -- 처음 발생시킬 값 지정, 생략하면 자동 1 기본 [MAXVALUE 숫자 | NOMAXVALUE] -- 발생시킬 최대값 지정(10의 27승) [MINVALUE 숫자 | NOMINVALUE] -- 최소값 지정(-10의 26승) [CYCLE | NOCYCLE] -- 값 순환 여부 CACHE 바이트크기 | NOCACHE] -- 캐쉬메모리 기본값은 20바이트, 최소는 2바이트 CREATE SEQUENCE SEQ_EMPID START WITH 300 IN..
[Oracle(SQL)] VIEW VIEW(뷰) - SELECT 쿼리문을 저장한 객체이다. - 실질적인 데이터를 저장하고 있지 않은 논리적인 테이블 - 테이블을 사용하는 것과 동일하게 사용 가능 - 1) 복잡한 SELECT문을 다시 작성할 필요가 없음 - 2) 민감한 데이터를 숨길 수 있음 CREATE [OR REPLACE] VIEW 뷰이름 AS 서브쿼리 사번, 이름, 직급명, 부서명, 근무지역을 조회하고, 그 결과를 V_RESULT_EMP라는 뷰를 생성해서 저장하세요 CREATE OR REPLACE VIEW V_RESULT_EMP AS SELECT E.EMP_ID , E.EMP_NAME , J.JOB_NAME , D.DPET_TITLE , L.LOCAL_NAME FROM EMPLOYEE E LEFT JOIN JOB J ON(E.JOB_..
[Oracle(SQL)] TCL(Transaction Control Language), DDL(ALTER, DROP) TCL(Transaction Control Language) - 트랜잭션 제어 언어 - COMMIT과 ROLLBACK이 있다. 트랜잭션이란? - 한꺼번에 수행되어야 할 최소의 작업 단위를 말한다. - 논리적 작업 단위(Logical Unit of Work : LUW) - 하나의 트랜잭션으로 이루어진 작업은 반드시 한꺼번에 완료(COMMIT)되어야 하며, 그렇지 않은 경우에는 한꺼번에 취소(ROLLBACK)되어야 함 COMMIT - 트랜잭션 작업이 정상 완료되면 변경 내용을 영구히 저장 ROLLBACK - 트랜잭션 작업을 취소하고 최근 COMMIT한 시점으로 이동 SAVEPOINT - 현재 트랜잭션 작업 시점에 이름을 정해줌 - 하나의 트랜잭션 안에 구역을 나눔 ROLLBACK TO 세이브포인트명 - 트랜..
[Oracle(SQL)] DML (INSERT, UPDATE, DELETE, TRUNCATE, MERGE) DML(Data Manipulation Language) - INSERT, UPDATE, DELETE, SELECT - 데이터 조작 언어, 테이블에 값을 삽입하거나, 수정하거나, 삭제하거나, 조회하는 언어 INSERT - 새로운 행을 추가하는 구문 - 테이블의 행 갯수가 증가한다 - 테이블의 일부 컬럼에 INSERT할 때 표현식 INSERT INTO 테이블명 (컬럼명, 컬럼명, ..) VALUES (데이터, 데이터, ..); - 테이블의 모든 컬럼에 INSERT할 때 INSERT INTO 테이블명 VALUES (데이터, 데이터, ..); - 하지만 모든 컬럼에 INSERT할 때에도 컬럼명을 기술하는 것이 의미파악에 더 좋다. INSERT INTO EMPLOYEE E ( E.EMP_ID, E.EMP_NAM..
[Oracle(SQL)] DDL(CREATE) DDL이란? - 데이터 정의 언어이다. 객체(Object)를 만들고 (CREATE), 수정하고(ALTER), 삭제(DROP)하는 구문을 말한다. 오라클 객체의 종류 - 테이블(TABLE) - 뷰(VIEW) - 시퀀스(SEQUENCE) - 인덱스(INDEX) - 패키지(PACKAGE) - 프로시져(PROCEDUAL) - 함수(FUNCTION) - 트리거(TRIGGER) - 동의어(SYNONYM) - 사용자(USER) CREATE - 테이블만들기 CREATE TABLE 테이블명 ( 컬럼명 자료형(크기), 컬럼명 자료형(크기), . . . ); CREATE TABLE MEMBER( MEMBER_ID VARCHAR2(20), MEMBER_PWD VARCHAR2(20), MEMBER_NAME VARCHAR2(20..
[Javad의 정석 3판] chapter8 예외처리 [8-1] 예외처리의 정의와 목적에 대해서 설명하시오. 정의 : 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 목적 : 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 [8-2] 다음은 실행도중 예외가 발생하여 화면에 출력된 내용이다. 이에 대한 설명 중 옳 지 않은 것은? 답 : d (d는 무조건 옳은 설명인 줄 알았다. 당연한걸 문제로 접하면 헷갈림) [8-3] 다음 중 오버라이딩이 잘못된 것은? (모두 고르시오) 답 : d, e 오버라이딩할 때 조상클래스의 메소드보다 많은 수의 예외를 선언할 수 없다. Exception은 모든 예외의 조상클래스이므로 개수가 적어보여도 제일 많은 개수를 가지고 있다. [8-4] 다음과 같은 메서드가 있을 때, 예외를 잘못 ..