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

5-2. 데이터 입출력 구현(요약)

by Murciellago 2021. 12. 5.
반응형
SMALL

3. 데이터 조작 프로시저 작성

1) 데이터 조작 프로시저 개발

- SQL은 관계형 데이터베이스 관리시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어로 데이터정의어, 데이터조작어, 데이터제어어를 가진다. PL/SQL은 Oracle에서 개발한 데이터조작 언어이며, 프로그래밍언어의 특성을 수용한 SQL의 확장 기능이 우수함 PL/SQL로 작성할 수 있는 저장형 객체로는Trigger, StoredFunction, StoredProcedure, Stored Packasge 등이 있다.

 

   ㄱ) 데이터 정의어(DDL : Data Definition Language)

      - 데이터를 저장하는 테이블 등의 구조를 생성하고 변경하기 위해 사용하는 명령어

        CREATE, DROP, RENAME, ARTER, TRUNCATE 등

 

   ㄴ) 데이터 조작어(DML : Data Manipulation Language)

      - 데이터베이스에 있는 데이터를 변경하거나 검색하기 위하여 사용되는 명령어들

         INSERT, UPDATE, DELETE, SELECT 등

 

   ㄷ) 데이터 제어어(DCL : Data Control Language)

      - 사용자별로 데이터베이스에 접근할 수 있는 권한을 부여하거나 회수하는 명령어

        ROLE, GRANT, REVOKE 등

 

2) 데이터 조작 프로시저 테스트

- Oracle DBMS는 모든 데이터 조작 프로시저에 대한 테스트 환경으로 SQL*Plus 도구를 제공함.

 

 

4. 데이터 조작 프로시저 최적화

1) 데이터 조작 프로시저 성능 개선

- 모니터링 결과 문제시 되는 내용 확인시 SQL 성능개선 순서

   ㄱ) 문제잇는  SQL 식별

   ㄴ) 옵티마이저 통계 확인

   ㄷ) 실행 계획 검토

   ㄹ) SQL문을 재구성하거나 인덱스 재구성

 

- 튜닝(Tuning, 성능개선)

   ㄱ) 데이터베이스 성능 향상을 위해 프로시저 코드를 보면서 성능 문제점을 개선해 나가는 활동

 

- 옵티마이저(Optimizer)

   ㄱ) 개발자가 작성한 SQL을 가장 빠르고 효율적으로 수행할 최적의 처리 경로를 생성해주는 데이터베이스 핵심

        프로세스로 가장 빠르게 실행되는 방법을 비용(Cost)으로 계산하여 선택하는 CBO(CostBasedOptimizer, 비용기반)

        와 미리 정해져있는 규칙에 따라 가장 빠른 실행방법을 결정하는 RBO(RuleBasedOptimizer, 룰기반) 모드가 있음

 

- 파서(Parser)

   ㄱ) SQL 문의 구문 구조와 의미를 분석하는 것으로 SQL문이 올바르게 작성되었는지 검사하는 구문 구조분석

        (Syntaxanalysis)과 데이터베이스 객체나 참조된 객체들이 올바른지 검사하는 의미 분석(Semanticanalysis)이 있음

 

2) 소스코드 인스펙션

- 데이터베이스 성능 향상을 위해 프로시저 코드를 보면서 성능 문제점을 개선해 나가는 활동

 

   ㄱ) SQL 코드 인스펙션 대상

      - 사용하지 않는 변수

      - 사용되지 않는 서브쿼리

      - Null 값과 비교하는 프로시져 소스

      - 과거의 데이터타입 사용

반응형
LIST

댓글