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에 저장, 테이블에 대해서만 정의 가능
'정보처리기사' 카테고리의 다른 글
정보처리기사 실기 - 통합 구현 (1) (0) | 2022.01.16 |
---|---|
정보처리기사 실기 - 데이터 입출력 구현 (4) (0) | 2022.01.15 |
정보처리기사 실기 - 데이터 입출력 구현 (2) (0) | 2022.01.13 |
정보처리기사 실기 - 데이터 입출력 구현 (1) (1) | 2022.01.12 |
정보처리기사 실기 - 요구사항 확인 (3) (1) | 2022.01.11 |