SQL 개발자 교본
IT 위키
더 많은 작업
SQL 개발자(SQLD, SQL Developer)는 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하면서 데이터를 조작하고 추출하는 SQL을 정확하고 효율적으로 작성할 수 있는지를 검정하는 국가공인 민간자격이다. 이 문서는 한국데이터산업진흥원이 공개한 과목·주요항목·세부항목을 뼈대로 삼아, 각 항목을 공부할 때 읽어야 할 위키 문서를 이어 둔 학습 목차이다.
- 시행 기관 : 한국데이터산업진흥원 (데이터자격검정)
- 자격 종류 : 국가공인 민간자격 (공인자격 제2022-04호)
- 관련 근거 : 자격기본법 제17조(민간자격의 신설 및 등록 등)
- 시행 횟수 : 연 4회 정기 시행
- 학점은행제 6학점 인정 (학점인정 등에 관한 법률 제7조제2항제4호)
- 유효기간 : 합격일로부터 2년이며, 보수교육을 이수하면 영구 자격으로 전환된다.
- 상위 등급 : SQL 전문가(SQLP). 같은 기관이 시행하며 SQL 고급 활용과 튜닝까지 다룬다.
SQL 개발자 시험은 필기시험 하나로 끝난다. 필기 합격자가 곧 최종 합격자이다.
| 과목 | 문항수 (객관식) | 배점 | 시험시간 |
|---|---|---|---|
| 데이터 모델링의 이해 | 10 | 20점 (문항당 2점) | 90분 |
| SQL 기본 및 활용 | 40 | 80점 (문항당 2점) | |
| 계 | 50 | 100점 | 90분 |
- 합격기준 : 총점 60점 이상
- 과락기준 : 과목별 40% 미만 취득 (데이터 모델링의 이해 4문항 미만, SQL 기본 및 활용 16문항 미만 정답이면 과락이다)
- 응시자격 : 제한 없음
- 입실은 09:30까지이고 시험은 10:00~11:30에 치른다. 10:00 이후에는 입실할 수 없고, 시험 중 화장실을 쓸 수 없다.
- 계산기를 쓸 수 없다. 이미 자격을 취득한 사람은 같은 종목에 다시 응시할 수 없다.
- 시험문제와 답안은 공개하지 않는다. 문제를 옮겨 적어 나갈 수 없다.
| 회차 | 원서접수 | 수험표 발급 | 시험일 | 사전점수 공개 및 재검토 접수 | 합격(예정)자 발표 |
|---|---|---|---|---|---|
| 제60회 | 2. 2. ~ 2. 6. | 2. 20. | 3. 7.(토) | 3. 20. ~ 3. 24. | 3. 27. |
| 제61회 | 4. 27. ~ 5. 1. | 5. 15. | 5. 31.(일) | 6. 12. ~ 6. 16. | 6. 19. |
| 제62회 | 7. 20. ~ 7. 24. | 8. 7. | 8. 22.(토) | 9. 4. ~ 9. 8. | 9. 11. |
| 제63회 | 10. 12. ~ 10. 16. | 10. 30. | 11. 14.(토) | 11. 27. ~ 12. 1. | 12. 4. |
한국데이터산업진흥원 누리집의 현행 세부항목을 예전 'SQL 전문가 가이드' 목차의 SQL 개발자 범위와 견주어 보면 다음과 같이 달라졌다. 바뀐 범위는 2024년 시험부터 적용된 것으로 알려져 있다.
| 구분 | 예전 범위 | 현행 세부항목 |
|---|---|---|
| 1과목 둘째 주요항목 | 데이터 모델과 성능 (정규화와 성능, 반정규화와 성능, 대량 데이터에 따른 성능, 데이터베이스 구조와 성능, 분산 데이터베이스와 성능) | 데이터 모델과 SQL (정규화, 관계와 조인의 이해, 모델이 표현하는 트랜잭션의 이해, Null 속성의 이해, 본질식별자 vs 인조식별자) |
| 2과목에서 빠진 것 | 절차형 SQL, SQL 최적화 기본 원리(옵티마이저와 실행계획, 인덱스 기본, 조인 수행 원리) | 세부항목에 없음 (SQL 전문가 범위) |
| 2과목에 새로 들어온 것 | 없음 | Top N 쿼리, 계층형 질의와 셀프 조인, PIVOT 절과 UNPIVOT 절, 정규 표현식 |
| 2과목 구성 | SQL 기본, SQL 활용 | SQL 기본, SQL 활용, 관리 구문(DML·TCL·DDL·DCL) |
- 반정규화·분산 데이터베이스·옵티마이저·인덱스 문제는 옛 기출과 시중 문제집에 많이 남아 있다. 현행 세부항목에는 없으므로 비중을 낮춰 공부한다.
- 2과목 SQL 기본 및 활용(40문항, 80점)이 합격을 좌우한다. 대부분의 문제가 "이 SQL의 결과는?", "결과 행 수는?", "오류가 나는 SQL은?" 형태이므로 눈으로 읽지 말고 직접 실행해 본다. 오라클 문법이 기준이고 SQL Server와 다른 점을 묻는 문제가 섞여 나온다.
- 먼저 SQL SELECT 구문, SQL WHERE 절, SQL 단일행 함수, SQL 그룹 함수, SQL ORDER BY 절로 한 문장의 실행 순서(FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY)와 NULL 처리를 잡는다. 오답의 상당수가 NULL과 실행 순서에서 나온다.
- 이어서 SQL 표준 조인(OUTER JOIN의 ON과 WHERE 차이), 데이터베이스 서브 쿼리, SQL 집합 연산자로 결과 행 수 계산을 연습한다.
- SQL 윈도우 함수(RANK·DENSE_RANK·ROW_NUMBER, 윈도우 범위), Top N 쿼리(ROWNUM 함정), SQL 계층형 질의(PRIOR 방향, WHERE와 CONNECT BY 조건 차이), SQL PIVOT 절, SQL 정규 표현식 함수는 결과를 손으로 그려 보는 문제가 나온다.
- 관리 구문은 TCL(DDL의 자동 커밋, SAVEPOINT), DDL(제약조건, CTAS, DELETE·TRUNCATE·DROP 차이), DCL(WITH GRANT OPTION과 WITH ADMIN OPTION)을 표로 정리한다.
- 1과목 데이터 모델링의 이해(10문항)는 용어와 분류 문제가 많다. 데이터베이스 개체, 데이터베이스 속성, 데이터베이스 관계 유형, 데이터베이스 식별자의 분류표를 외우고 데이터베이스 정규화는 예제 테이블로 정규형을 판정해 본다. 4문항 미만이면 과락이다.
| 주요항목 | 세부항목 | 학습 문서 |
|---|---|---|
| 데이터 모델링의 이해 | 데이터모델의 이해 |
|
| 엔터티 |
| |
| 속성 |
| |
| 관계 |
| |
| 식별자 |
| |
| 데이터 모델과 SQL | 정규화 |
|
| 관계와 조인의 이해 |
| |
| 모델이 표현하는 트랜잭션의 이해 |
| |
| Null 속성의 이해 |
| |
| 본질식별자 vs 인조식별자 |
|
| 주요항목 | 세부항목 | 학습 문서 |
|---|---|---|
| SQL 기본 | 관계형 데이터베이스 개요 |
|
| SELECT 문 |
| |
| 함수 |
| |
| WHERE 절 |
| |
| GROUP BY, HAVING 절 | ||
| ORDER BY 절 |
| |
| 조인 |
| |
| 표준 조인 |
| |
| SQL 활용 | 서브쿼리 |
|
| 집합 연산자 |
| |
| 그룹 함수 |
| |
| 윈도우 함수 |
| |
| Top N 쿼리 |
| |
| 계층형 질의와 셀프 조인 |
| |
| PIVOT 절과 UNPIVOT 절 | ||
| 정규 표현식 |
| |
| 관리 구문 | DML |
|
| TCL | ||
| DDL |
| |
| DCL |
한국데이터산업진흥원은 시험문제와 답안을 공개하지 않는다. 시험장에서 문제를 옮겨 적어 나가는 것도 금지된다. 위 학습 문서마다 "시험 포인트" 절에 자주 묻는 함정을 정리해 두었다.