본문 바로가기
Certificate Study/SQLD Study

SQLD Day 8

by bell_one 2026. 8. 7.

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

엔티티의 특징으로 가장 부적절한 것은?

① 업무에서 필요로 하는 인스턴스의 집합이어야 한다.

② 식별자에 의해 유일하게 구별 가능해야 한다.

③ 영속적으로 인스턴스가 존재하며, 반드시 2개 이상의 속성을 가져야 한다.

④ 다른 엔티티와 관계를 가질 수 없으며, 단독으로만 존재해야 한다.

  • 엔티티 핵심 특징 분석:
    • ① 인스턴스의 집합: 엔티티는 반드시 2개 이상의 인스턴스(행 데이터)를 포함해야 합니다.
    • ② 식별자 존재: 엔티티 내 각 인스턴스를 구분할 수 있는 유일한 식별자(PK)가 존재해야 합니다.
    • ③ 속성의 존재: 엔티티는 2개 이상의 속성(컬럼)을 가져야 하며, 영속적으로 관리되어야 합니다.
    • ④ 관계의 존재: 엔티티는 다른 엔티티와 최소 1개 이상의 관계(Relationship)를 가져야 합니다. (관계가 없는 엔티티는 부적절하게 설계된 모델임)

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

다음 중 데이터베이스 정규화 단계에 대한 설명으로 올바른 것은?

① 제1정규형(1NF): 원자값을 가지지 않는 복합 속성을 제거한다.

② 제2정규형(2NF): 이행적 함수 종속성(A → B, B → C)을 제거한다.

③ 제3정규형(3NF): 부분 함수 종속성을 제거하여 완전 함수 종속을 만든다.

④ BCNF: 주식별자가 아닌 모든 속성이 완전 함수 종속이 되도록 한다.

  • 정규화 단계별 핵심 개념 차이점:
    • ① 제1정규형 (1NF): 모든 속성은 원자값(Single Value)만 가져야 함. (다중값/복합 속성을 제거하여 원자성 확보)
    • ② 제2정규형 (2NF): 기본키의 일부에만 종속되는 부분 함수 종속성 제거 (모든 비식별자 속성이 주식별자에 완전 함수 종속되도록 함)
    • ③ 제3정규형 (3NF): 기본키를 거쳐 다른 속성을 지정하는 이행적 함수 종속성(A → B, B → C) 제거
    • ④ BCNF: 모든 결정자가 후보키(Candidate Key)가 되도록 정규화 수행

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

다음 중 트랜잭션의 데이터 변경 사항을 데이터베이스에 **최종 반영(저장)**하거나, 이전 상태로 **취소(복구)**할 때 사용하는 제어어(TCL)의 조합으로 올바른 것은?

① COMMIT / ROLLBACK

② GRANT / REVOKE

③ INSERT / DELETE

④ SAVEPOINT / TRUNCATE

  • SQL 명령어 분류별 기능 차이점:
    • ① COMMIT / ROLLBACK (TCL): 트랜잭션 제어어. COMMIT은 변경 사항을 DB에 영구 반영하고, ROLLBACK은 이전 상태로 취소 및 복구함.
    • ② GRANT / REVOKE (DCL): 데이터 제어어. 사용자에게 권한을 부여(GRANT)하거나 회수(REVOKE)함.
    • ③ INSERT / DELETE (DML): 데이터 조작어. 데이터를 삽입(INSERT)하거나 삭제(DELETE)함.
    • ④ SAVEPOINT / TRUNCATE: SAVEPOINT는 TCL(임시 저장점)이지만, TRUNCATE는 DDL(테이블 전체 데이터 즉시 삭제 명령어)임.

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

다음 중 아래 SQL의 실행 결과로 반환되는 행(Row)의 개수는?

  • 부서 테이블 (총 3개 행): 부서코드 (10, 20, 30)
  • 사원 테이블 (총 2개 행): 사원명('김철수', '이영희'), 부서코드 (10, 20)
SELECT A.부서코드, B.사원명
FROM 부서 A, 사원 B;

① 2개

② 3개

③ 5개

④ 6개

  • 조인 조건 부재 시 조인 동작 방식:
    • 카티시안 곱 (Cartesian Product / CROSS JOIN): WHERE 절이나 ON 절에 조인 조건이 전혀 명시되지 않은 경우, 두 테이블의 모든 행이 1:1로 가능한 모든 조합을 생성함.
    • 행 개수 계산: 부서 테이블 행 수(3개) × 사원 테이블 행 수(2개) = 총 6개 행이 출력됨.

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

다음 SQL 문 중 ORDER BY 절의 위치 및 정렬 기준에 대한 설명으로 가장 부적절한 것은?

① ORDER BY 절은 SQL 구문 중 가장 마지막에 실행된다.

② SELECT 절에 명시되지 않은 컬럼이라도 정렬 기준으로 사용할 수 있다. (단, GROUP BY 절이 없을 때)

③ 정렬 방식을 생략하면 기본적으로 내림차순(DESC) 정렬된다.

④ 숫자, 문자, 날짜형 데이터 모두 정렬 기준으로 지정이 가능하다.

  • ORDER BY 절 핵심 개념 차이점:
    • ① 실행 순서: FROM ➔ WHERE ➔ GROUP BY ➔ HAVING ➔ SELECT ➔ ORDER BY 순으로 가장 마지막에 실행됨.
    • ② 선택 가능 컬럼: SELECT 절에 포함되지 않은 테이블 내 다른 컬럼도 정렬 기준(ORDER BY)으로 사용 가능함. (단, GROUP BY 사용 시에는 불가능)
    • ③ 기본 정렬 방식: 정렬 방식(ASC/DESC)을 명시하지 않고 생략하면 기본적으로 오름차순(ASC) 정렬됨.
    • ④ 대상 데이터 타입: 숫자, 문자, 날짜 등 모든 타입의 데이터에 대해 정렬을 수행할 수 있음.

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

SQLD Day10  (0) 2026.08.13
SQLD Day9  (0) 2026.08.12
SQLD Day 7  (0) 2026.08.06
SQLD Day6  (0) 2026.08.05
SQLD Day 5  (0) 2026.08.04