본문 바로가기
Certificate Study/SQLD Study

SQLD Day 5

by bell_one 2026. 8. 4.

[문제 1] 1과목: 데이터 모델링의 이해

데이터베이스 설계 시 테이블 간의 관계(Relationship)에 대한 설명으로 가장 부적절한 것은?

① 관계는 엔티티와 엔티티 간의 연관성을 의미한다.

② 두 엔티티 간에 존재할 수 있는 관계의 수(차수)에는 1:1, 1:N, M:N 등이 있다.

③ M:N (다대다) 관계는 실제 물리적 데이터베이스로 구현하기 쉬우므로 별도의 변환 없이 그대로 테이블을 생성한다.

④ 외래키(Foreign Key)는 다른 테이블의 기본키(PK)를 참조하여 두 테이블 간의 관계를 형성한다.

  • 핵심 해설:
    • M:N(다대다) 관계의 한계: RDB 구조상 M:N 관계를 직접 구현하면 양쪽에 무한한 중복 데이터가 발생하여 조인이 불가능해집니다.
    • 해결 방법: 논리 설계 단계에서 중간에 수강신청 같은 '교차 엔티티(조인 테이블)'를 두고 1:N, N:1 관계 두 개로 쪼개서 구축해야 합니다.

[문제 2] 1과목: 데이터 모델링의 이해

성능 데이터 모델링 기법 중 하나로, 정규화된 데이터 모델에 대해 조인(JOIN) 횟수를 줄여 조회 성능을 향상시키기 위해 의도적으로 중복을 허용하거나 테이블을 합치는 작업을 의미하는 용어는?

① 정규화 (Normalization)

② 반정규화 / 비정규화 (De-normalization)

③ 인덱싱 (Indexing)

④ 파티셔닝 (Partitioning)

  • 성능 향상 기법 핵심 차이점:
    • 정규화: 중복 제거를 위해 테이블을 계속 쪼개는 작업 (조인 증가 ➔ 조회 성능 저하 가능)
    • 반정규화: 조인이 많아 느려지니 의도적으로 다시 합치는 작업
    • 인덱싱: 테이블 구조 변경 없이 빠른 검색을 위한 목차 페이지를 만드는 기법
    • 파티셔닝: 대용량 테이블을 월별/연도별 물리적 조각으로 나누어 저장하는 기법

[문제 3] 2과목: SQL 기본

다음 중 SQL 문에서 WHERE 절 조건 작성 시 NULL 값을 검색하기 위한 올바른 문법은?

① WHERE 전화번호 = NULL

② WHERE 전화번호 == NULL

③ WHERE 전화번호 IS NULL

④ WHERE 전화번호 EQUAL NULL

  • 핵심 해설:
    • NULL은 '값이 없음/알 수 없음'을 뜻하는 특별한 상태이므로, 오직 IS NULL (또는 IS NOT NULL) 연산자로만 비교할 수 있습니다.
    • = 연산자를 쓰면 비교 연산 결과가 거짓(Unknown)이 되어 조회가 되지 않습니다.

[문제 4] 2과목: SQL 기본

다음 중 두 개 이상의 테이블에서 공통된 컬럼을 기준으로 행을 조인할 때, 양쪽 테이블에 모두 존재하는 일치하는 데이터만 추출하는 가장 기본적인 조인(JOIN) 방식은?

① INNER JOIN

② LEFT OUTER JOIN

③ RIGHT OUTER JOIN

④ FULL OUTER JOIN

  • 조인(JOIN) 종류별 핵심 차이점:
    • INNER JOIN: 조건에 맞는 양쪽 교집합 데이터만 추출
    • LEFT OUTER JOIN: 왼쪽 테이블 전체 기준 (오른쪽에 일치하는 데이터 없으면 NULL)
    • RIGHT OUTER JOIN: 오른쪽 테이블 전체 기준 (왼쪽에 일치하는 데이터 없으면 NULL)
    • FULL OUTER JOIN: 양쪽 테이블 전체 합집합

[문제 5] 2과목: SQL 기본

아래 사원 테이블에서 급여가 200 이상 500 이하인 사원을 조회하려고 합니다. ( A )와 ( B )에 들어갈 적절한 키워드가 순서대로 올바르게 짝지어진 것은?

SELECT 사원명, 급여
FROM 사원
WHERE 급여 ( A ) 200 ( B ) 500;

① (A) IN, (B) OR

② (A) BETWEEN, (B) AND

③ (A) LIKE, (B) AND

④ (A) EQUAL, (B) TO

  • 조건 연산자별 핵심 차이점:
    • BETWEEN A AND B: A 이상 B 이하 범위 전체 지정 (급여 >= 200 AND 급여 <= 500과 완벽 동일)
    • IN (200, 500): 범위가 아닌 딱 200이거나 500인 특정 값만 지정
    • LIKE: 숫자가 아닌 문자 패턴 검색

'Certificate Study > SQLD Study' 카테고리의 다른 글

SQLD Day 7  (0) 2026.08.06
SQLD Day6  (0) 2026.08.05
SQLD Day 4  (0) 2026.08.03
SQLD Day 3  (0) 2026.07.31
SQLD Day 2  (0) 2026.07.30