SQL활용 / DMBS 접속 기술

2023. 2. 21. 18:40정처기 필기/3과목 - 데이터베이스 구축

SQL활용

 

1. 절차형 SQL

* C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행, 분기, 반복 등 제어 가능한 SQL

* 프로그래밍 언어에 비해 효율 낮음, 하지만 연속적 작업 처리 가능

* BEGIN~END 형식 --> 기능별 모듈화 가능

 

2. 프로시저 (Procedure)

- 호출을 통해 실행되어 미리 저장해 놓은 sql작업 수행

- 시스템의 일일 마감 작업, 일괄 작업 등에 주로 사용

 

* declare

  : 프로시저 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부

 

* begin

  : 실행부

*  end

  : 종료부

 

CREATE PROCEDURE 프로시저명 (파라미터) [지역변수 선언]
+ BIGIN
        처리 내용 
+ END

 

3. 트리거(Trigger)

- 삽입, 갱신, 삭제 등의 이벤트가 발생할때마다 작업 자동 수행

- 데이터베이스에 저장되며, 데이터 변경 및 무결성 유지, 로그 메시지  출력 등의 목적

- DCL을 사용 X

 

CREATE TRIGGER 트리거명 [동작시기옵션 AFTER / BEFORE ] [동작옵션] ON 테이블명
+ REFERENCING[ NEW / OLD ] AS 테이블명
+ BEGIN
          처리 내용
+ END

 

4. 사용자 정의 함수

- 프로시저와 유사

- 종료 시 RETURN을 사용해 처리 결과를 단일값으로 반환

- DML문의 호출로 실행된다.

- RETURN을 통해 반환해서 출력 파라미터 없음

- 조회만 가능

- 프로시저를 호출해 사용 X

 

  프로시저 사용자정의함수
반환값 없거나 1개 1개
파라미터 입출 가능 입 O  출X
사용 가능 명령문  DML, DCL SELECT
호출 프로시저, 사용자정의함수 사용자정의함수
방법 실행문 DML에 포함

 

create function 사용자 정의 함수명(파라미터) [지역 변수 선언]
+ begin
    내용
+ return
+ end

 


DMBS 접속 기술

 

1. 웹 응용 시스템의 구조

사용자

웹서버

웹애플리케이션서버

DBMS

 

(차례대로)

 

2. DBMS 접속 기술

JDBC

- 썬 마이크로시스템에서 출시 ,JAVA언어

 

ODBC

- 마이크로소프트에서  출시,  개발언어 관계 없음

 

* ODBS에 포함된 드라이버 관리자가 DBMS에 맞는 드라이버랑 연결해준다.

 

3. 정적 SQL / 동적 SQL

정적 SQL 동적 SQL
커서(Cursor)을 통한 정적 처리 문자열(String) 변수에 담아 동적 처리
커서의 범위 안에서 반복문을 활용해 sql 작성 로직을 통해
빠르다 느리다
가능하다 불가능하다