자격소개
국가공인자격
관련 근거
자격기본법 제1조(목적)
이 법은 자격에 관한 기본적인 사항을 정함으로써 자격제도의 관리·운영을 체계화하고 평생직업능력 개발을 촉진하여 국민의 사회경제적 지위를 높이고 능력중심사회의 구현에 이바지함을 목적으로 한다.
자격기본법 제19조(민간자격의 공인)
① 주무부장관은 민간자격에 대한 신뢰를 확보하고 사회적 통용성을 높이기 위하여 심의회의 심의를 거쳐 법인이 관리하는 민간자격을 공인할 수 있다.
자격기본법 제30조(자격취득자에 대한 우대)
① 국가 및 지방자치단체는 국가자격 및 공인자격의 직무 분야에 관한 영업의 허가·인가·등록 또는 면허를 하거나 이익을 부여하는 경우에는 다른 법령에 어긋나지 아니하는 범위 안에서 그 직무 분야의 국가자격 또는 공인자격을 취득한 자를 우대할 수 있다.
②사업주는 근로자의 채용·승진·전보, 그 밖에 인사상의 조치를 하는 경우 해당 분야의 국가자격 또는 공인자격을 취득한 자를 우대할 수 있다.
SQL의 정의
SQL(Structured Query Language)은 데이터베이스를 직접적으로 액세스할 수 있는 언어로, 데이터를 정의하고(Data Definition), 조작하며(Data Manipulation), 조작한 결과를 적용하거나 취소할 수 있고(Transaction Control), 접근권한을 제어하는(Data Control) 처리들로 구성된다.
SQL 전문가의 정의
SQL 전문가(SQLP*, SQL Professional)란 데이터베이스와 데이터모델링에 대한 지식을 바탕으로 데이터를 조작하고 추출하는데 있어서 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있고, 이를 토대로 SQL을 내포하는 데이터베이스 프로그램이나 응용 소프트웨어의 성능을 최적화하거나, 이러한 성능 최적화를 지원할 수 있는 데이터베이스 개체(뷰, 인덱스 등)의 설계와 구현 등의 직무를 수행하는 전문가를 말한다.
SQL 전문가 자격검정의 필요성
오늘날 기업 또는 조직의 정보화에 있어서 관계형 데이터베이스는 거의 대부분이라 해도 과언이 아닐 정도로 데이터 저장소의 대부분을 차지하고 있다. 소프트웨어를 작성하는데 사용되는 언어는 많은 종류가 있지만 데이터베이스는 결국 SQL에 의해서만 데이터에 접근이 가능하기 때문에 데이터베이스를 기반으로 하는 정보시스템은 SQL 사용이 필수적인 요소이다. 이 때문에 정보시스템을 개발하는 수많은 개발자들은 반드시 SQL을 익힐 수밖에 없고, 이러한 상황에 의해 SQL을 사용할 수 있는 개발자는 그 수를 헤아리기 어려울 정도로 많다. 그러나 이와 같은 SQL 사용 능력 보유자 수에도 불구하고 SQL의 수행 원리를 깊이 있게 이해하고 제대로 구사할 수 있는 전문적 지식을 갖춘 인재는 상대적으로 매우 빈약하다. 이것은 결과적으로 정보시스템의 성능과 품질을 저하시키고 나아가 사용자들의 외면을 초래하는 한 원인이 되기도 한다.
이에 한국데이터산업진흥원은 전문인력의 실질적 수요자인 사업주를 대변하여 SQL 전문가 자격검정을 실시하고자 한다. 이를 통해 산업현장에 부응하는 민간자격을 부여하고, 자격취득자에게 직무 수행에 대한 자신감 고취와 함께 보다 나은 직무 수행 기회 제공 및 사회적 지위(취업, 승진, 보수 등)의 향상은 물론 기업의 국제 경쟁력 제고에도 기여할 것이다.
SQL 전문가의 직무
SQL 전문가는 데이터모델링에 기본 지식을 바탕으로 SQL 작성, 성능 최적화 등 데이터베이스 개체 설계 및 구현 등에 대한 전문지식 및 실무적 수행 능력을 그 필수로 한다.
직무 | 세부내용 |
---|---|
데이터모델의 이해 및 분석 |
|
SQL 이해 및 활용 |
|
SQL 튜닝 |
|
시험주요내용
과목 및 내용
SQL 전문가 자격시험의 과목은 총 3과목으로 구성되어 있으며 데이터 모델링의 이해 과목을 바탕으로 SQL 기본 및 활용, SQL 고급활용 및 튜닝을 수행하는 능력을 검정한다.
필기
과목명 | 주요항목 | 세부항목 |
---|---|---|
데이터 모델링의 이해 | 데이터 모델링의 이해 |
|
데이터 모델과 SQL |
|
|
SQL 기본 및 활용 | SQL 기본 |
|
SQL 활용 |
|
|
관리 구문 |
|
|
SQL 고급활용 및 튜닝 | SQL 수행 구조 |
|
SQL 분석 도구 |
|
|
인덱스 튜닝 |
|
|
조인 튜닝 |
|
|
SQL 옵티마이저 |
|
|
고급 SQL 튜닝 |
|
|
Lock과 트랜잭션 동시성 제어 |
|
실기
1. 주요 내용
제시된 지문을 분석하여 목표 SQL 또는 튜닝 방법 등을 작성한다.
2. 출제 방향
SQL 튜닝 영역과 성능 트러블슈팅 영역으로 구분된다. 두 유형 모두 필요에 따라 데이터 모델과 오브젝트 정보가 제공된다.
가. SQL 튜닝
SQL 튜닝은 아래와 같은 3가지 유형 중 하나를 선택하여 출제된다. 힌트를 포함한 SQL을 작성해야 하며 필요에 따라 인덱스 설계 등의 오브젝트 튜닝이 요구될 수 있다. 향후 새로운 유형이 추가될 수 있다.
유형1 : 성능 저하가 발생한 SQL과 실행 계획을 분석하여 최적의 성능 보장하는 SQL을 작성한다.
유형2 : 요구 사항과 최적의 실행 계획을 분석하여 요구 사항과 실행 계획을 만족하는 SQL을 작성한다.
유형3 : 요구 사항과 데이터 모델을 분석하여 최적의 성능 보장하는 SQL을 작성한다.
나. 성능 트러블슈팅
성능 트러블슈팅은 아래와 같은 2가지 유형 중 하나를 선택하여 출제된다. 향후 새로운 유형이 추가될 수 있다.
유형1 : 성능 저하가 발생한 애플리케이션을 분석하여 최적의 성능을 보장하는 애플리케이션을 작성한다.
유형2 : 다양한 성능 이슈에 대한 원인 분석 및 성능 개선 방안을 제시한다.
3. 고려 사항
SQL 전문가 실기 문제의 답안을 작성할 때는 다음 사항에 유의해야 한다.
요구 사항과 제약 사항 이해
요구 사항과 제약 사항에 부합하는 정답을 작성해야 한다. 예를 들어 제시된 조회 기준을 사용하지 않거나 병렬 쿼리를 고려하지 않는다는 제약 사항에 대해 페러럴(Parallel) 힌트를 사용하는 경우 감점 요소가 된다.
데이터 모델 분석
데이터 모델에 대한 이해를 바탕으로 정답을 작성해야 한다. 예를 들어 관계의 선택성(optionality)이 선택(optional) 관계임에도 불구하고 이너 조인을 사용하는 경우 감점 요소가 된다.
오브젝트 정보 확인
테이블 구조와 인덱스 구성 등의 오브젝트 정보를 고려하여 정답을 작성해야 한다. 예를 들어 DATE 타입의 칼럼을 사용하는 조건에 문자 리터럴을 사용하거나 존재하는 인덱스를 사용하는 경우 감점 요소가 된다.
SQL 및 실행 계획 분석
SQL에 대해 성능을 저하시키는 표현식과 잘못된 힌트 사용 등의 성능 저하 요인을 분석해야 한다. 분석한 SQL을 바탕으로 실행 계획에 대해 로우 소스 정보와 Predicate Information 등을 확인하여 최적의 개선안을 도출해야 한다.
SQL 작성
성능과 무관한 부분을 일부 생략할 수 있지만 가급적 완전한 형태의 SQL을 작성해야 한다. 예를 들어 액세스 조건이나 인라인 뷰 등과 같이 요구 사항과 실행 계획에 명시된 주요 요소를 생략하는 경우 감점 요소가 된다.
힌트 사용
실행 계획이 고정될 수 있도록 가급적 필요한 위치에 정확한 힌트를 사용해야 한다. 예를 들어 부정확한 힌트를 사용하거나 NL 조인을 위해 USE_NL 힌트를 사용했지만 이너 테이블에 FULL 힌트를 사용하는 등과 같이 상충되는 힌트를 함께 사용하는 경우 감점 요소가 된다.
출제문항 및 배점
출제문항수
SQL 전문가 자격시험의 과목은 총 3과목으로 구성되며 필기 70문항, 실기 2문항으로 구성되어 있다. 출제 문항 및 배점은 아래와 같다.
SQL 전문가 자격시험(총 문항수: 72문항 – 객관식 70문항, 실기 2문항)
과목명 | 필기 | 실기 | 검정시험시간 | ||
---|---|---|---|---|---|
문항수 | 배점 | 문항수 | 배점 | ||
데이터 모델링의 이해 | 10 | 10 (문항당 1점) | 2 | 30 (문항당 15점) | 180분(3시간) |
SQL 기본 및 활용 | 20 | 20 (문항당 1점) | |||
SQL 고급활용 및 튜닝 | 40 | 40 (문항당 1점) | |||
계 | 70 | 70 | 2 | 30 |
과목별 주요항목
과목명 | 주요항목 |
---|---|
데이터 모델링의 이해 |
|
SQL 기본 및 활용 |
|
SQL 고급활용 및 튜닝 |
|
응시자격 및 합격기준
응시자격
SQL 전문가 자격시험의 응시자격은 아래와 같으며 응시자격은 시험일 기준 시험일 이전에 응시자격 요건이 충족되어야 한다. 학력/경력기준 또는 자격기준 중 한가지의 요건이 충족될 경우 응시자격이 부여된다.
응시자격 | |
---|---|
학력 및 경력 기준 |
|
자격보유 기준 |
|
합격기준
SQL 전문가 자격시험의 합격기준은 아래와 같으며 시험 합격자는 응시자격 증빙서류를 제출하여야 한다.
합격기준 | 과락기준 | |
---|---|---|
시험합격 | 총점 100점 기준 75점 이상 취득 | 과목별 40% 미만 취득 |
최종합격 | 응시자격심의 서류 통과자 |
응시자격 증빙서류
구분 | 내용 |
---|---|
제출서류 |
|
제출시기 |
|
제출처 |
|