본문 바로가기
정보처리기사

정보처리기사 실기 - 데이터 입출력 구현 (3)

by 3.14pie 2022. 1. 14.

3. 데이터 프로시저

 

프로시저 - SQL을 이용해 생성된 데이터를 조작하는 프로그램

 

SQL - DDL (Data Difinition Language), DML (Data Manifulation Language), DCL (Data Control Language), TCL (Transaction Contorl Language)

DDL : 데이터 정의어, CREATE, DROP, RENAME, ALTER, TURNCATE

  • CREATE : 오브젝트 생성 CREATE TABLE member;
  • DROP : 오브젝트 삭제 DROP TABLE member;
  • RENAME : 오브젝트 이름 변경 RENAME member TO member_1;
  • ALTER : 오브젝트 구조 변경 ALTER TABLE member MODIFY (name varchar2(10));
  • TRUNCATE : 모든 행 삭제 TRUNCATE TABLE member;

DML : 데이터 조작어, INSERT, UPDATE, DELETE

  • INSERT : 데이터 입력 INSERT INTO member(name, phone) VALUES(kru,1234);
  • UPDATE : 데이터 수정 UPDATE member SET club=square WHERE club=circle;
  • DELETE : 데이터 삭제 DELETE member WHERE phone > 100;

DCL : 데이터 제어어, ROLE, GRANT, REVOKE

  • ROLE : 권한 묶음 CREATE ROLE ceo; 
  • GRANT : 권한 및 롤 부여 GRANT create table TO ceo; \n GRANT ceo TO kru;
  • REVOKE : 권한 및 롤 회수 REVOKE ceo FROM kru;

TCL : 트랜잭션 제어어, COMMIT, ROLLBACK, SAVEPOINT

  • COMMIT : 트랜잭션을 완료해 변경사항을 최종 반영 COMMIT;
  • ROLLBACK : 변경사항을 이전 상태로 되돌리기 ROLLBACK;
  • SAVEPOINT : 특정지점 지정 SAVEPOINT A;

 

PL/SQL - 오라클 기반의 모든 프로시저 작성에 사용, 표준 SQL의 확장 기능, Stored Function, Stored Procedure, Stored Package, Trigger

  • 컴파일이 필요없고, 스크립트를 생성하거나 변경 후 바로 실행 가능, 프로그램 개발 모듈화 가능, 식별자 선언 가능, error 처리 가능..
  • SQL : 이해하기 쉬운 단어, 쉽게 배울 수 있음, 복잡한 로직 간단히 작성 가능, ANSI 문법 표준화
  • PL/SQL : 반복 처리 (loop), 비교 처리 (if), error 처리 가능, SQL문 캡슐화 가능, 변수 선언 가능, 네트워크 트래픽 감소

JDBC로 데이터 저장소 연결하기 - 드라이버 로딩 -> DB 연결 -> 쿼리 전달 -> 결과 수신

Java DataBase Connectivity

 

DECLARE -> (선언부) -> BEGIN -> (실행부) -> EXCEPTION -> (예외 처리부) -> END;

  • 선언부 : 실행부에서 참조할 모든 변수, 상수, CURSOR, EXCEPTION 선언 (SCLAR 변수, TABLE 변수, RECORD 변수..)
  • 실행부 : 데이터를 처리할 SQL문과 PL/SQL 블록 기술 (SELECT, UPDATE, IF, LOOP, %FOUNT, %ISOPEN..)
  • 예외 처리부 : 실행부에서 에러가 발생할 경우 수행할 구문 기술 (NO_DATA_FOUNT, SQLCODE..)

 

  • Stored Function : 실행값을 반환받을 수 있음, 실행값의 데이터 타입을 RETURN문에 선언해야 하고 RETURN문에서 반드시 값을 반환해야 함
  • Stored Procedure : 배치 작업이나 복잡한 트랜잭션을 수행하는 PL/SQL문을 DB에 저장 가능, 자주하는 루틴을 미리 저장하고 필요시 호출해 사용
  • Stored Package : 프로시저나 함수를 효율적으로 관리하기 위해 패키지 단위로 묶어놓은 집합
  • Trigger : 특정 테이블에 삽입, 수정 등 변경이 일어날 경우 어떤 행동을 자동 실행되도록 구현, 별도 DB에 저장, 테이블에 대해서만 정의 가능