데이터베이스

데이터베이스

DATABASE STEP 38 - JDBC Applications

★ JDBC 클래스 모든 JDBC 작업은 Auto commit이 일어난다. 1. Connection DB 연결/해제 2. Statement 문장 > SQL 실행 a. Statement 기본 b. PreparedStatement 매개변수 특화 c. CallableStatement 3. ResultSet select 결과 참조 클래스 ■ insert 실행 1. DB 연결 2. SQL 실행 3. DB 종료 private static void m1() { Connection conn = null; Statement stat = null; try { //1. conn = DBUtil.open(); if(!conn.isClosed()) { System.out.println("접속 성공"); //2. //- 자바는 ..

데이터베이스

DATABASE STEP 37 - JDBC

★ JDBC 환경 구축 JAVA + ORACLE = 연동 > JDBC 1. 이클립스 실행 2. 사용할 프로젝트 (새로 만드는것을 추천) 프로젝트 생성 이름은 자유롭게 하여도 되지만, MyLibrary라는 이름을 가진 프로젝트를 생성하는 것을 추천. 새로운 패키지 생성 새로운 클래스 생성 (DBUtil) DBUtil에 해당 소스코드를 작성 url : 자신의 오라클 주소 (확인 하는법 : cmd -> ipconfig -> 나의 ip주소) "jdbc:oracle:thin@(IP주소):(포트번호):xe" id : 오라클 아이디 pw : 오라클 비밀번호 package com.test.my; import java.sql.Connection; import java.sql.DriverManager; public cla..

데이터베이스

DATABASE STEP 36 - ACCOUNT

★ Account 사용자 관련 > DCL 계정 생성, 삭제, 잠금 제어 리소스 접근 권한 제어 ■ 계정 생성하기 권한을 가지고 있는 계정만 가능하다. > 관리자급 (sys, system) 사용방법 create user 계정명 identified by 암호 > 계정 생성 alter user 계정명 indentified by 암호 > 암호 변경 drop user 계정명 > 계정 삭제 새로 생성된 계정은 아무 권한이 없다 > 접속할 권한도 없다. 사용자에게 권한 부여하기 grant 권한명 to 유저명 사용자에게 권한 제거하기 revoke 권한명 from 유저명; 권한 종류 - create user - create session - create table - create view - create sequence..

데이터베이스

DATABASE STEP 35 - INDEX

★ 인덱스(Index) 검색을 빠른 속도로 하기 위해서 사용하는 도구 도서의 색인과 동일한 역할 > 수많은 내용 중 원하는 걸 빠르게 찾기 위한 도구 SQL 명령 처리 속도를 빠르게 하기 위해서, 특정 컬럼에 대해 생성되는 도구 ★ 데이터베이스 상태 테이블내의 레코드 순서는, 개발자가 원하는 정렬 상태가 아니다. 어떤 데이터 검색 > 처음 ~ 끝까지 차례대로 검색 > Table Full Scan 특정 컬럼 선택 > 별도의 테이블에 복사 > 미리 정렬(***) >> 인덱스 ■ 인덱스 장단점 장점 : 검색 처리 속도를 향상 시킨다. 단점 : 너무 많은 인덱스 사용은 전체적인 DB 성능을 저하시킨다. ■ 자동으로 인덱스가 걸리는 컬럼 1. primary key 2. Unique 테이블에서 PK 컬럼을 검색하는..

데이터베이스

DATABASE STEP 34 - TRIGGER

★ 트리거(Trigger) 프로시저의 한 종류 개발자가 호출하는게 아니라, 미리 지정한 특정 사건이 발생하면 자동으로 실행되는 프로시저 예약(사건) > 사건 발생 > 프로시저 호출 특정 테이블 지정 > 감시(insert or update or delete) > 미리 준비해 놓은 프로시저 호출 트리거 사용 양식 create or replace trigger 트리거명 before|after insert|update|delete on 테이블명 [for each row] declare 선언부; begitn 구현부; exception 예외처리부; end; ■ 사용 ex) ex 1) tblInsa > 직원 삭제 create or replace trigger trgInsa before --삭제하기직전에 프로시저를 실..

데이터베이스

DATABASE STEP 33 - STORED FUNCTION

★ 저장 함수(Stored Function) 저장 프로시저와 동일 반환값이 반드시 존재 > out 파라미터 사용(X) > return 문 사용(O) out 파라미터 사용 안함 > out 동작 가능 in 파라미터 사용함 이 특성때문에 함수는 프로시저와 조금 다른 상황에서 사용 ■ 사용 ex) ex 1) 선언 create or replace function fnSum ( pnum1 in number, pnum2 in number ) return number is begin return pnum1 + pnum2; end fnSum; 호출 방법 1 declare vresult number; begin -- 프로시저 out > 개수 1개 이상 -- 함수 return > 개수 딱 1개 vresult := fnSum..

데이터베이스

DATABASE STEP 32 - PROCEDURE

★ 프로시저(PROCEDURE) 1. 익명 프로시저 1회용 프로시저 2. 실명 프로시저 재사용 오라클에 저장 저장 프로시저(Stored Procedure) 매개변수 구성 / 반환값 구성 > 자유 저장 함수(Stored Function) 매개변수 필수/반환값 필수 > 고정 익명 프로시저 선언 방법 [declare 변수 선언; 커서 선언;] begin 구현부; [exception 처리부;] end; 저장 프로시저 선언 방법 create [or replace] procedure 프로시저명 is(as) [변수 선언; 커서 선언;] begin 구현부; [exception 처리부;] end; ■ 프로시저 ex) 1. 익명 프로시저 declare vnum number; begin vnum := 100; dbms_ou..

데이터베이스

DATABASE STEP 31 - PL/SQL

★ PL/SQL Oracle's Procedural Language Extension to SQL ANSI-SQL 표준 SQL에 절차 지향 언어의 기능을 추가한 SQL ANSI-SQL + 자바같은 프로그래밍 언어의 기능 = PL/SQL ★ ANSI-SQL 비절차 지향 언어 순서가 없고 문장간의 행동이 서로 독립적이다. 문장 단위 구조 ★ 프로시저 메소드, 함수 등... 순서가 있는 명령어의 집합(ANSI-SQL + PL/SQL)의 집합 1. 익명 프로시저 - 1회용 코드 작성용 2. 실명 프로시저 저장(데이터베이스) > DB object 재사용 가능 계정간 공유 가능 PL/SQL 프로시저 블럭 구조 4개의 키워드(블럭)으로 구성 a. declare b. begin c. exception d. end a...

IT의 큰손
'데이터베이스' 태그의 글 목록