ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2020 정보처리기사 필기 : 3과목 : 4장
    Study/정보처리기사 2020. 5. 28. 13:55
    728x90

    4장 : SQL 활용


    1.     프로시저 (Procedure) ★★★

    • 미리 저장해 놓은, 일련의 SQL 작업이다. 
    • 절차형 SQL을 활용한다. 
    • 트랜잭션에 속한다.
    • 데이터베이스에 저장된다. 
    • 때문에 스토어드(stored) 프로시저라고도 불린다.  
    • 생성 명령어 : CREATE 
    • 실행 명령어 : EXECUTE, CALL, EXEC
    • 제거 명령어 : DROP
    • 사용되는 곳
      • 일일 마감 작업
      • 일괄 작업 (Batch)
    • 필수 구성도
      • DECLARE
      • BEGIN
      • END

    2.     트리거 (Trigger) ★★★

    • 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL이다. 
    • 이 때, 이벤트는 삽입, 갱신, 삭제와 같은 데이터 조작 작업(DML)을 의미한다. 
    • 데이터베이스에 저장된다. 
    • DCL을 사용할 수 없다. 
    • 사용되는 곳
      • 데이터 변경
      • 무결성 유지
      • 로그 메시지 출력
    • 필수 구성도
      • DECLARE
      • EVENT
      • BEGIN
      • END

    3.     사용자 정의 함수 (User-Defined Function) ★★★

    • 일련의 작업을 연속으로 처리한다. 
    • Return 값이 있다. 
    • 프로시저를 호출하여 사용할 수 없다. 
    • SELECT만 사용 가능한 명령문이다. 
    • SELECT나 INSERT 등 DML에 포함되어 사용될 수 있다.

    4.     프로시저 vs 사용자 정의 함수 ★★★

    구분

    프로시저

    사용자 정의 함수

    Return값

    0개 이상 가능

    1개만 가능

    파라미터

    IN, OUT, INOUT

    IN

    사용 가능한 명령문

    DML, DCL

    Select

    호출

    프로시저, 사용자 정의 함수

    사용자 정의 함수

    사용 방법

    실행문

    DML에 포함


    5.     웹 응용 시스템의 구조 ★★★

    사옹자 웹 서버  WAS DBMS
    • 웹 서버 : 대용량의 데이터일 경우, 직접 처리하지 않고 WAS에 전달한다. 
    • WAS : 요청을 트랜잭션 언어로 변환 후, DBMS에 전달하여 데이터를 받는다. 
    • 웹 서버 + WAS = 웹 응용 시스템

    6.     DBMS 접속 기술

    • JDBC (Java DataBase Connectivity)
      • Java 언어 표준 API
      • 드라이버가 필요하다. 
    • ODBC (Open DataBase Connectivity)
      • 개방형 표준 API
      • 언어와 무관하다. 
      • 접속하려는 DBMS의 인터페이스를 알지 못해도 ODBC 문장을 통해 사용 가능하다. 
      • 드라이버가 필요하다. 
    • MyBatis
      • JDBC 코드를 간소화하여 사용할 수 있는 SQL Mapping 기반 오픈 소스 접속 프레임워크이다. 
      • SQL문장을 분리하여 XML 파일을 만들어 데이터베이스 연결 작업을 수행한다. 

    7.      정적 SQL vs 동적 SQL

    구분 정적 SQL 동적 SQL
    SQL 구성 커서를 통한 정적 처리 문자열 변수에 담아 동적 처리
    개발 패턴 반복문을 활용하여 SQL을 작성한다.  로직을 통해 SQL을 작성한다. 

    NVL 함수가 필요 없다. 
    실행 속도 빠름 느림
    사전 검사 가능 불가능

    7.     단문 SQL 테스트

    • DDL, DML, DCL이 포함되어 있는 SQL과, TCL을 테스트하는 것
    • 직접 실행하여 결과물을 확인한다. 

    8.     절차형 SQL 테스트

    • 디버깅을 통해 적합성 여부를 확인한다.
    • 구문 오류, 참조 오류 등을 발견할 수 있다. 
    • 종류 : 프로시저, 사용자 정의 함수, 트리거

    9.     DESCRIBE

    • CREATE 명령어를 통해 생성된 특정 개체의 속성, 자료형 등의 정보를 확인하기 위한 SQL 코드
    • DESC로 쓸 수도 있다.

    10.     ORM (Object Relational Mapping)

    • 객체(Object)와 관계(Relational)을 연결(Mapping)하는 기술을 의미한다. 
    • 프로그래밍 코드 또는 데이터베이스와는 독립적이다. 
    • 유지보수가 용이하다. 
    • 직관적이고, 간단하다.
    • 한계점
      • 자동으로 SQL을 작성하기 때문에, 의도대로 작성되었는지 확인할 필요가 있다.
      • 프로젝트가 크고 복잡할수록, 적용하기 어렵다.
      • ORM에 적합하게 변환하려면, 많은 시간이 소요된다.  

    11.     ORM (Object Relational Mapping)

    • 객체(Object)와 관계(Relational)을 연결(Mapping)하는 기술을 의미한다. 
    • 프로그래밍 코드 또는 데이터베이스와는 독립적이다. 
    • 유지보수가 용이하다. 
    • 직관적이고, 간단하다. 
    728x90

    댓글

kxmjhwn@gmail.com