Zeno ZENO
자격증 / SQLD · 조회 2 · 좋아요 0

1. SQLD 시험 구조와 합격 기준 정리

SQLD는 데이터 모델링의 이해와 SQL 기본 및 활용으로 구성되며 전체 60점 이상과 과목별 과락 기준을 함께 통과해야 합니다.

# SQLD 시험 구조와 합격 기준 정리

1. 정의

SQLD는 SQL Developer의 줄임말이다. 한국어로는 SQL 개발자 자격이라고 부른다.

SQLD는 데이터베이스와 SQL 사용 능력을 평가하는 자격시험이다.

여기서 데이터베이스는 데이터를 체계적으로 저장하는 공간이다. 예를 들어 회원 정보, 주문 내역, 상품 정보, 게시글 정보를 저장하는 곳이다.

SQL은 데이터베이스에 명령을 내리는 언어다. 예를 들어 다음과 같은 일을 할 수 있다.

  • 회원 목록 조회

  • 주문 데이터 검색

  • 상품 정보 추가

  • 게시글 수정

  • 오래된 데이터 삭제

SQLD 시험은 크게 두 가지 능력을 확인한다.

첫째, 데이터를 어떻게 구조화하는지 아는가. 둘째, SQL을 사용해서 데이터를 조회하고 다룰 수 있는가.

SQLD 시험은 실무에서 SQL을 직접 작성하기 전에 필요한 기초 능력을 확인하는 시험이다.

---

2. 필요한 이유

SQLD 시험 구조를 먼저 알아야 하는 이유는 공부 범위를 정확히 잡기 위해서다.

SQLD는 범위가 넓다. 하지만 모든 내용을 같은 비중으로 공부하면 비효율적이다.

SQLD는 보통 다음 두 과목으로 구성된다.

과목

내용

특징

데이터 모델링의 이해

데이터 구조 설계

개념 중심

SQL 기본 및 활용

SQL 문법과 활용

문제 수가 많음

시험에서 더 많은 문항이 나오는 영역은 SQL 기본 및 활용이다. 따라서 SQL 문법, JOIN, 서브쿼리, 함수, GROUP BY 같은 내용을 집중적으로 공부해야 한다.

하지만 1과목도 버리면 안 된다. SQLD에는 과락 기준이 있다.

과락은 전체 점수가 합격 기준을 넘더라도 특정 과목 점수가 너무 낮으면 불합격되는 기준이다.

즉, SQL만 잘한다고 무조건 합격하는 시험이 아니다. 데이터 모델링도 최소 기준 이상은 맞춰야 한다.

실제 개발에서도 시험 구조를 이해하는 것은 도움이 된다.

개발자는 데이터를 조회하기 전에 데이터가 어떤 구조로 저장되어 있는지 알아야 한다. 테이블 사이의 관계를 알아야 JOIN을 제대로 작성할 수 있다. 기본키와 외래키를 알아야 데이터가 어떻게 연결되는지 이해할 수 있다.

SQLD의 1과목은 데이터 구조를 보는 눈을 만든다. SQLD의 2과목은 데이터를 직접 다루는 방법을 익히게 한다.

---

3. 핵심 개념

SQLD

SQLD는 SQL 개발자 자격시험이다. 데이터베이스 기본 지식과 SQL 활용 능력을 평가한다.

---

SQL

SQL은 데이터베이스에 명령을 내리는 언어다. Structured Query Language의 줄임말이다.

SQL로 할 수 있는 대표 작업은 다음과 같다.

  • 데이터 조회

  • 데이터 입력

  • 데이터 수정

  • 데이터 삭제

  • 테이블 생성

  • 권한 제어

---

데이터베이스

데이터베이스는 데이터를 정리해서 저장하는 공간이다. 단순 파일과 다르게 데이터를 검색, 수정, 삭제하기 쉽도록 관리한다.

예를 들어 쇼핑몰에는 다음 데이터가 필요하다.

  • 회원 데이터

  • 상품 데이터

  • 주문 데이터

  • 결제 데이터

  • 배송 데이터

이런 데이터를 체계적으로 저장하는 곳이 데이터베이스다.

---

DBMS

DBMS는 데이터베이스를 관리하는 프로그램이다. Database Management System의 줄임말이다.

대표적인 DBMS는 다음과 같다.

  • Oracle

  • MySQL

  • PostgreSQL

  • SQL Server

  • SQLite

SQLD 시험에서는 Oracle 계열 문법이 자주 사용된다. 따라서 Oracle 기준 함수와 문법을 익히는 것이 좋다.

---

데이터 모델링

데이터 모델링은 데이터를 어떤 구조로 저장할지 설계하는 작업이다.

예를 들어 쇼핑몰을 만든다고 가정한다. 회원, 상품, 주문, 결제 정보를 아무렇게나 저장하면 나중에 관리하기 어렵다.

그래서 다음과 같이 나누어 설계한다.

  • 회원 테이블

  • 상품 테이블

  • 주문 테이블

  • 주문상세 테이블

  • 결제 테이블

이처럼 현실의 업무를 데이터 구조로 바꾸는 과정이 데이터 모델링이다.

---

시험 과목

SQLD는 크게 두 과목으로 나뉜다.

첫 번째 과목은 데이터 모델링의 이해다. 데이터 구조, 엔터티, 속성, 관계, 식별자, 정규화 등을 다룬다.

두 번째 과목은 SQL 기본 및 활용이다. SELECT, WHERE, JOIN, GROUP BY, 서브쿼리, 윈도우 함수, DML, DDL 등을 다룬다.

---

합격 기준

SQLD는 전체 점수가 60점 이상이어야 합격이다. 하지만 과목별 과락 기준도 통과해야 한다.

과락 기준은 과목별 40% 미만이다.

쉽게 말하면 전체 점수가 60점 이상이어도 한 과목을 너무 못 보면 불합격될 수 있다.

---

과락

과락은 특정 과목 점수가 기준보다 낮아서 불합격되는 것이다.

예를 들어 전체 점수가 60점 이상이어도 1과목 점수가 너무 낮으면 불합격될 수 있다.

따라서 SQLD 공부는 2과목 위주로 하되, 1과목도 최소 기준 이상은 반드시 준비해야 한다.

---

4. 주변 기초 개념

테이블

테이블은 데이터를 표 형태로 저장하는 구조다.

예를 들어 회원 테이블은 다음과 같이 생길 수 있다.

회원번호

이름

이메일

1

Kim

kim@test.com

2

Lee

lee@test.com

테이블은 엑셀 표와 비슷하게 생각하면 된다.

---

행은 테이블의 가로 한 줄이다. 데이터 한 건을 의미한다.

회원 테이블에서 한 명의 회원 정보가 한 행이다.

---

열은 테이블의 세로 항목이다. 컬럼이라고도 부른다.

회원 테이블에서 회원번호, 이름, 이메일이 열이다.

---

컬럼

컬럼은 테이블에서 하나의 데이터 항목을 의미한다. 예를 들어 회원 이름, 상품 가격, 주문일자 같은 것이 컬럼이다.

---

기본키

기본키는 각 행을 구분하는 대표 값이다.

회원 테이블에서는 회원번호가 기본키가 될 수 있다. 주문 테이블에서는 주문번호가 기본키가 될 수 있다.

기본키는 중복되면 안 된다. 또 비어 있으면 안 된다.

---

외래키

외래키는 다른 테이블의 기본키를 참조하는 값이다.

예를 들어 주문 테이블에 회원번호가 있다면, 이 회원번호는 회원 테이블의 회원번호를 참조한다.

이렇게 하면 주문이 어떤 회원의 주문인지 알 수 있다.

---

관계

관계는 테이블과 테이블 사이의 연결이다.

예를 들어 회원과 주문은 관계가 있다. 한 명의 회원은 여러 번 주문할 수 있다.

이 관계는 보통 1:N 관계라고 부른다. 1:N은 하나의 데이터가 여러 데이터와 연결되는 구조다.

---

SELECT

SELECT는 데이터를 조회하는 SQL 명령어다.

예를 들어 회원 목록을 보고 싶을 때 사용한다.

SELECT *
FROM members;

이 SQL은 members 테이블의 모든 데이터를 조회한다.

---

JOIN

JOIN은 두 개 이상의 테이블을 연결해서 조회하는 기능이다.

예를 들어 회원 이름과 주문 내역을 같이 보고 싶을 때 JOIN을 사용한다.

회원 정보는 회원 테이블에 있다. 주문 정보는 주문 테이블에 있다. 두 테이블을 연결해야 원하는 결과를 볼 수 있다.

---

서브쿼리

서브쿼리는 SQL 안에 들어가는 또 다른 SQL이다.

예를 들어 평균 급여보다 많이 받는 직원을 찾고 싶다면 평균 급여를 먼저 구해야 한다. 이때 안쪽 SQL로 평균을 구하고, 바깥 SQL로 직원을 조회할 수 있다.

---

5. 실제 흐름

SQLD 공부는 다음 순서로 진행하는 것이 좋다.

1단계. 시험 구조 확인

먼저 시험 과목, 문항 수, 합격 기준, 과락 기준을 확인한다.

이 단계에서는 무엇을 얼마나 공부해야 하는지 정한다.

---

2단계. 데이터베이스 기본 용어 정리

SQL을 공부하기 전에 다음 용어를 먼저 알아야 한다.

  • 데이터베이스

  • DBMS

  • 테이블

  • 기본키

  • 외래키

  • 관계

이 용어를 모르면 SQL 문법을 봐도 이해하기 어렵다.

---

3단계. 데이터 모델링 공부

1과목은 데이터 모델링 중심이다.

공부할 주요 내용은 다음과 같다.

  • 모델링의 의미

  • 엔터티

  • 속성

  • 관계

  • 식별자

  • 정규화

  • 반정규화

  • 데이터 모델과 성능

이 영역은 암기만 하면 헷갈린다. 간단한 예시 테이블을 보면서 이해해야 한다.

---

4단계. SQL 기본 문법 공부

2과목의 기본은 SELECT다.

공부할 주요 내용은 다음과 같다.

  • SELECT

  • FROM

  • WHERE

  • GROUP BY

  • HAVING

  • ORDER BY

  • 함수

  • JOIN

SQLD에서 가장 많은 문제가 나오는 영역이다.

---

5단계. SQL 활용 공부

기본 문법 다음에는 활용 문법을 공부한다.

주요 내용은 다음과 같다.

  • 서브쿼리

  • 집합 연산자

  • ROLLUP

  • CUBE

  • GROUPING SETS

  • 윈도우 함수

  • TOP N Query

  • 계층형 질의

이 영역은 결과를 직접 예측하는 문제가 많다.

---

6단계. 관리 구문 공부

관리 구문은 데이터를 조회하는 문법이 아니라 데이터와 객체를 관리하는 문법이다.

주요 내용은 다음과 같다.

  • DML

  • DDL

  • TCL

  • DCL

DML은 데이터를 입력, 수정, 삭제하는 명령어다. DDL은 테이블 같은 객체를 생성, 변경, 삭제하는 명령어다. TCL은 트랜잭션을 제어하는 명령어다. DCL은 권한을 제어하는 명령어다.

---

7단계. 문제풀이와 오답 정리

개념을 공부한 뒤에는 문제를 풀어야 한다.

SQLD는 객관식 시험이다. 문법을 아는 것과 문제를 맞히는 것은 다르다.

특히 다음 유형을 많이 연습해야 한다.

  • SQL 실행 결과 예측

  • 문법 오류 찾기

  • JOIN 결과 건수 판단

  • GROUP BY 오류 판단

  • NULL 결과 판단

  • 서브쿼리 연산자 선택

---

6. 예시

SQLD에서 자주 나오는 기본 조회 예시를 보자.

SELECT department_id, COUNT(*) AS employee_count
FROM employees
WHERE salary >= 3000
GROUP BY department_id
HAVING COUNT(*) >= 2
ORDER BY employee_count DESC;

이 SQL은 급여가 3000 이상인 직원만 대상으로 부서별 직원 수를 구한다. 그리고 직원 수가 2명 이상인 부서만 보여준다. 마지막으로 직원 수가 많은 순서로 정렬한다.

---

7. 코드 또는 설정 설명

SELECT department_id, COUNT(*) AS employee_count

SELECT는 조회할 컬럼이나 계산 결과를 지정한다. department_id는 부서 번호다. COUNT(*)는 행의 개수를 센다. AS employee_count는 결과 컬럼 이름을 employee_count로 보여주겠다는 의미다.

---

FROM employees

FROM은 데이터를 가져올 테이블을 지정한다. 여기서는 employees 테이블에서 데이터를 가져온다.

---

WHERE salary >= 3000

WHERE는 행을 필터링한다. 여기서는 salary가 3000 이상인 직원만 남긴다.

salary는 급여를 의미하는 컬럼이다.

---

GROUP BY department_id

GROUP BY는 데이터를 그룹으로 묶는다. 여기서는 department_id를 기준으로 부서별 그룹을 만든다.

---

HAVING COUNT(*) >= 2

HAVING은 그룹에 조건을 거는 절이다. 여기서는 직원 수가 2명 이상인 부서만 남긴다.

WHERE와 HAVING은 다르다.

WHERE는 그룹화 전에 행을 걸러낸다. HAVING은 그룹화 후에 그룹을 걸러낸다.

---

ORDER BY employee_count DESC;

ORDER BY는 결과를 정렬한다. DESC는 내림차순이다. 즉, 직원 수가 많은 부서부터 보여준다.

---

8. 주의점

1. SQLD는 SQL만 공부하면 안 된다

SQLD에는 데이터 모델링 과목이 있다. 문항 수는 적지만 과락 기준이 있다.

따라서 1과목을 완전히 버리면 위험하다.

---

2. 2과목 비중이 더 크다

SQLD에서 가장 중요한 과목은 SQL 기본 및 활용이다. 문항 수가 많기 때문이다.

SELECT, JOIN, GROUP BY, 서브쿼리, 윈도우 함수는 반드시 공부해야 한다.

---

3. 과락 기준을 무시하면 안 된다

전체 점수가 60점 이상이어도 과목별 기준을 넘지 못하면 불합격될 수 있다.

공부 전략은 다음과 같이 잡는 것이 좋다.

  • 1과목: 과락 방지 + 기본 개념 이해

  • 2과목: 고득점 목표

---

4. SQL 실행 순서를 외워야 한다

SQL은 작성 순서와 실제 처리 순서가 다르다.

작성 순서는 보통 다음과 같다.

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

실제 논리 처리 순서는 보통 다음과 같이 이해한다.

FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY

이 순서를 모르면 GROUP BY, HAVING, ORDER BY 문제에서 자주 틀린다.

---

5. NULL을 일반 값처럼 생각하면 안 된다

NULL은 값이 없다는 뜻이다. 0도 아니고 빈 문자열도 아니다.

NULL 비교는 다음처럼 하면 안 된다.

WHERE column_name = NULL

올바른 방식은 다음과 같다.

WHERE column_name IS NULL

SQLD에서 NULL 관련 문제는 자주 나온다.

---

6. DELETE, TRUNCATE, DROP을 구분해야 한다

세 명령어는 모두 삭제와 관련이 있지만 의미가 다르다.

DELETE는 행을 삭제한다. TRUNCATE는 테이블의 전체 데이터를 빠르게 삭제한다. DROP은 테이블 자체를 삭제한다.

명령어

분류

삭제 대상

DELETE

DML

데이터 행

TRUNCATE

DDL

전체 데이터

DROP

DDL

테이블 객체

초보자는 이 세 가지를 자주 헷갈린다.

---

7. 기출 유형은 반드시 풀어야 한다

개념을 읽는 것만으로는 부족하다. SQLD는 결과를 예측하는 문제가 많다.

특히 다음 유형은 직접 풀어봐야 한다.

  • JOIN 결과 건수

  • GROUP BY 문법 오류

  • NULL 계산 결과

  • 서브쿼리 반환 행 수

  • 윈도우 함수 순위 결과

---

9. 요약

SQLD는 SQL 개발자 자격시험이다. 데이터베이스 기초, 데이터 모델링, SQL 기본 문법, SQL 활용 능력을 평가한다.

시험은 데이터 모델링의 이해와 SQL 기본 및 활용으로 구성된다. SQL 기본 및 활용의 비중이 크다.

합격하려면 전체 점수 기준과 과목별 과락 기준을 모두 통과해야 한다.

공부 순서는 다음이 좋다.

1. 시험 구조 확인

2. 데이터베이스 기본 용어 정리

3. 데이터 모델링 학습

4. SQL 기본 문법 학습

5. SQL 활용 문법 학습

6. 관리 구문 학습

7. 문제풀이와 오답 정리

SQLD는 단순 암기 시험이 아니다. SQL 실행 순서와 결과를 해석하는 능력이 중요하다.

---

10. 핵심 용어 정리

SQLD = SQL 개발자 자격시험이다.

SQL = 데이터베이스에 명령을 내리는 언어다.

데이터베이스 = 데이터를 체계적으로 저장하는 공간이다.

DBMS = 데이터베이스를 관리하는 프로그램이다.

테이블 = 데이터를 행과 열로 저장하는 구조다.

행 = 테이블에서 데이터 한 건을 의미한다.

열 = 테이블에서 하나의 항목을 의미한다.

컬럼 = 열과 같은 의미로 쓰이며 데이터 항목을 뜻한다.

기본키 = 각 행을 구분하는 대표 값이다.

외래키 = 다른 테이블의 기본키를 참조하는 값이다.

관계 = 테이블과 테이블 사이의 연결이다.

데이터 모델링 = 현실의 업무 데이터를 데이터베이스 구조로 설계하는 작업이다.

엔터티 = 업무에서 관리해야 하는 데이터 대상이다.

속성 = 엔터티가 가지는 세부 항목이다.

식별자 = 인스턴스를 구분하는 기준이다.

정규화 = 데이터 중복을 줄이고 이상 현상을 방지하는 설계 방법이다.

반정규화 = 성능 향상을 위해 일부 중복을 허용하는 설계 방법이다.

SELECT = 데이터를 조회하는 SQL 명령어다.

WHERE = 조회할 행에 조건을 거는 절이다.

GROUP BY = 데이터를 그룹으로 묶는 절이다.

HAVING = 그룹화된 결과에 조건을 거는 절이다.

ORDER BY = 조회 결과를 정렬하는 절이다.

JOIN = 여러 테이블을 연결해서 조회하는 기능이다.

서브쿼리 = SQL 안에 포함된 또 다른 SQL이다.

윈도우 함수 = 행을 유지하면서 순위나 누적값을 계산하는 함수다.

DML = 데이터를 입력, 수정, 삭제하는 SQL 명령어 묶음이다.

DDL = 테이블 같은 데이터베이스 객체를 생성, 변경, 삭제하는 SQL 명령어 묶음이다.

TCL = 트랜잭션을 제어하는 SQL 명령어 묶음이다.

DCL = 권한을 제어하는 SQL 명령어 묶음이다.

COMMIT = 변경 내용을 확정하는 명령어다.

ROLLBACK = 변경 내용을 취소하는 명령어다.

과락 = 전체 점수와 별개로 특정 과목 점수가 낮아 불합격되는 기준이다.

AD

제휴 광고

일부 링크는 제휴 링크이며, 구매 또는 가입 시 일정 수수료를 받을 수 있습니다.

AD

'SQLD' 카테고리의 다른 글

전체보기