2026 SQLD 필기 1과목 1장 4~5절 | 관계·식별자와 카디널리티 — 객관식 10문제
데이터위자드 ·
필기 · 객관식 4지선다
객관식 4지선다입니다. 정답과 해설은 각 문제 아래를 눌러 확인하세요.
문제 1
관계·식별자와 카디널리티에서 관계의 차수에 대한 설명으로 옳은 것은?
- ① 1:N 관계는 외래키를 무조건 1쪽에 둔다.
- ② M:N은 업무에서 성립할 수 없다.
- ③ 고객과 주문의 1:N 관계는 주문 쪽에 고객 외래키를 두어 구현할 수 있다.
- ④ 현재 행 수가 같으면 반드시 1:1이다.
정답과 해설 보기
정답 ③
1:N 관계에서 한 고객은 여러 주문과 연결되지만 한 주문은 한 고객에 속합니다. 1과 N은 저장된 표본의 현재 개수가 아니라 업무상 허용되는 관계입니다. 오늘 고객당 주문이 한 건씩 있어도 앞으로 여러 건을 허용한다면 1:N입니다. 양쪽에서 여러 개가 가능하면 M:N이며 관계형 테이블 구현에서는 주문상세·수강신청처럼 연결 엔터티로 풀어내는 경우가 많습니다. 관계를 구현할 외래키가 어느 쪽에 놓이는지도 함께 판단하세요.
고객과 주문의 1:N 관계는 주문 쪽에 고객 외래키를 두어 구현할 수 있다.
문제 2
학생은 여러 과목을 수강하고 과목에는 여러 학생이 있다. 적절한 연결 구조는?
- ① 학생별 과목 테이블을 따로 생성
- ② 관계 없이 이름만 비교
- ③ 학생–수강신청–과목
- ④ 학생 테이블의 과목명 한 칸에 전체 과목 연결
정답과 해설 보기
정답 ③
수강신청 엔터티가 학생과 과목을 연결하고 수강일·성적 등의 관계 속성도 관리할 수 있습니다.
고객과 주문의 1:N 관계는 주문 쪽에 고객 외래키를 두어 구현할 수 있다.
문제 3
관계·식별자와 카디널리티에서 선택·필수 참여에 대한 설명으로 옳은 것은?
- ① 주문이 없는 고객은 어떤 업무에서도 금지된다.
- ② 1:N이면 양쪽 모두 필수 참여다.
- ③ 관계의 선택성은 양방향에서 각각 판단한다.
- ④ 외래키는 언제나 NULL을 허용한다.
정답과 해설 보기
정답 ③
필수 참여는 관계에 반드시 참여해야 함을, 선택 참여는 연결이 없어도 존재할 수 있음을 뜻합니다. 고객이 가입만 하고 주문하지 않을 수 있다면 고객에서 주문으로의 참여는 선택입니다. 모든 주문에 고객이 필요하다면 주문에서 고객으로의 참여는 필수입니다. 양방향을 각각 문장으로 써 보면 모순을 피할 수 있습니다. 외래키가 있다는 사실만으로 NULL 금지 여부까지 결정되지는 않습니다. 필수 관계를 구현하려면 외래키의 NOT NULL 같은 제약도 검토해야 합니다.
관계의 선택성은 양방향에서 각각 판단한다.
문제 4
비회원 주문을 허용하지 않고 모든 주문에 회원이 있어야 한다. 주문의 고객번호에 필요한 조건은?
- ① 고객을 참조하는 외래키와 NOT NULL
- ② 고객번호를 항상 NULL로 저장
- ③ 고객명에만 공백 허용
- ④ 주문번호 중복 허용
정답과 해설 보기
정답 ①
존재하는 고객만 참조하는 규칙과 반드시 고객을 입력하는 규칙은 외래키·NOT NULL로 나누어 구현합니다.
관계의 선택성은 양방향에서 각각 판단한다.
문제 5
관계·식별자와 카디널리티에서 주식별자의 네 가지 성질에 대한 설명으로 옳은 것은?
- ① 이미 고객번호만으로 유일하면 고객번호+고객명은 최소성을 만족하지 않는다.
- ② 주식별자는 NULL이어도 된다.
- ③ 유일하기만 하면 불필요한 속성을 얼마든지 포함한다.
- ④ 최소성은 키 값이 가장 작은 숫자라는 뜻이다.
정답과 해설 보기
정답 ①
주식별자는 유일성·최소성·불변성·존재성을 갖추도록 선정합니다. 유일성은 한 행을 구별함을, 최소성은 불필요한 속성을 포함하지 않음을 뜻합니다. 불변성은 식별자 값이 자주 바뀌지 않아야 한다는 선정 원칙이고 존재성은 값이 있어야 한다는 뜻입니다. 주민번호처럼 민감하거나 바뀔 가능성이 있는 업무 값은 단순히 유일해 보인다고 바로 키로 정하지 않습니다. 후보키 중 주키를 택하는 과정에는 업무 안정성과 다른 엔터티에서 참조하기 쉬운지도 고려됩니다.
이미 고객번호만으로 유일하면 고객번호+고객명은 최소성을 만족하지 않는다.
문제 6
학번만으로 학생이 유일하다. 학번+이름을 후보키라고 보기 어려운 이유는?
- ① 학번이 반드시 중복되기 때문이다.
- ② 이름을 제거해도 유일하여 최소성이 없다.
- ③ 학생명이 숫자가 아니기 때문이다.
- ④ 키는 두 속성으로 만들 수 없기 때문이다.
정답과 해설 보기
정답 ②
복합키 자체가 문제는 아닙니다. 이미 학번 하나로 유일하므로 이름이 불필요하게 추가된 것이 문제입니다.
이미 고객번호만으로 유일하면 고객번호+고객명은 최소성을 만족하지 않는다.
문제 7
관계·식별자와 카디널리티에서 식별 관계와 비식별 관계에 대한 설명으로 옳은 것은?
- ① 비식별 관계에는 외래키가 없다.
- ② 외래키가 NOT NULL이면 항상 식별 관계다.
- ③ 부모 키가 자식 PK의 일부가 되면 식별 관계다.
- ④ 식별 관계의 자식은 주식별자를 가질 수 없다.
정답과 해설 보기
정답 ③
식별 관계에서는 부모의 식별자가 자식의 주식별자에 포함됩니다. 주문상세가 주문번호+순번으로 식별되는 경우 주문번호가 부모 키이자 자식 키의 일부입니다. 비식별 관계에서는 부모 키가 자식의 일반 외래키로 들어가며 자식의 주키를 구성하지 않습니다. 필수 관계인지 선택 관계인지와 식별 관계인지는 다른 기준입니다. 외래키가 NOT NULL인 비식별 관계도 가능합니다. 문제에서 실선·점선만 외우기보다 자식 PK에 부모 키가 포함되는지를 먼저 확인합니다.
부모 키가 자식 PK의 일부가 되면 식별 관계다.
문제 8
주문상세 PK가 (주문번호, 상세순번)이다. 주문번호가 주문을 참조한다면?
- ① 외래키가 아니므로 관계가 없다.
- ② 부모 키가 자식 PK에 포함되지 않았다.
- ③ 주문과 주문상세는 식별 관계다.
- ④ 주문번호만으로 모든 상세가 유일하다.
정답과 해설 보기
정답 ③
주문번호가 자식의 복합 주키에 포함되므로 식별 관계입니다. 상세순번이 주문 내에서 상세를 추가로 구별합니다.
부모 키가 자식 PK의 일부가 되면 식별 관계다.
문제 9
관계·식별자와 카디널리티에서 외래키와 참조 무결성에 대한 설명으로 옳은 것은?
- ① 부모 삭제는 어떤 DB에서도 항상 연쇄 삭제된다.
- ② 외래키 값은 자식 테이블에서 중복될 수 있다.
- ③ 외래키 컬럼은 반드시 UNIQUE다.
- ④ 존재하지 않는 부모 키도 참조 무결성을 만족한다.
정답과 해설 보기
정답 ②
외래키는 다른 테이블의 기본키 또는 유일키 등 참조 가능한 키를 가리킵니다. 자식 테이블에는 같은 부모를 참조하는 값이 여러 번 나올 수 있습니다. 따라서 외래키라는 이유만으로 그 값이 유일한 것은 아닙니다. 부모 삭제 시 거부·연쇄 삭제·NULL 설정 등 동작은 제약 설정과 업무 규칙에 따라 달라집니다. 주문 이력을 보존해야 하는데 고객 삭제를 무조건 주문 삭제로 연결하면 업무 문제가 생길 수 있으므로 관계의 의미를 함께 봅니다.
외래키 값은 자식 테이블에서 중복될 수 있다.
문제 10
고객 10이 주문 3건을 했다. 주문의 고객번호 10이 세 번 나오는 것은?
- ① 항상 NULL로 바꾸어야 한다.
- ② 1:N 관계에서 정상이다.
- ③ 외래키 유일성 위반이다.
- ④ 모든 주문 PK 중복이다.
정답과 해설 보기
정답 ②
고객번호는 주문의 외래키이므로 같은 고객의 주문 여러 건에서 반복될 수 있습니다.
외래키 값은 자식 테이블에서 중복될 수 있다.
범위 확인
2026년 학습 범위를 기준으로 구성했습니다. 시험 시행기관의 자격 안내·출제 기준에서 과목과 변경 공지를 확인할 수 있습니다.
SQLD 전체 목차
과목별 이론
- 1과목 · 1장 1~3절 · 데이터 모델·엔터티·속성
- 1과목 · 1장 4~5절 · 관계·식별자와 카디널리티
- 1과목 · 2장 1~3절 · 정규화·조인·트랜잭션 모델
- 1과목 · 2장 4~5절 · NULL·본질식별자·인조식별자
- 2과목 · 1장 1~2절 · 관계형 DB와 SELECT·DISTINCT
- 2과목 · 1장 3절 · 문자·숫자 함수와 CASE
- 2과목 · 1장 4절 · WHERE·날짜 범위·연산자 우선순위
- 2과목 · 1장 5~6절 · 집계·GROUP BY·HAVING·ORDER BY
- 2과목 · 1장 7~8절 · INNER·OUTER·표준 조인
- 2과목 · 2장 1절 · 서브쿼리·EXISTS·스칼라 서브쿼리
- 2과목 · 2장 2~3절 · 집합 연산·ROLLUP·CUBE·GROUPING
- 2과목 · 2장 4~5절 · 윈도우 함수·순위·Top N
- 2과목 · 2장 6~8절 · 계층형 질의·셀프 조인·PIVOT·정규표현식
- 2과목 · 3장 1~2절 · DML·TCL과 트랜잭션
- 2과목 · 3장 3~4절 · DDL·DCL·제약조건·권한
단원별 객관식
- 1과목 · 1장 1~3절 · 데이터 모델·엔터티·속성
- 1과목 · 1장 4~5절 · 관계·식별자와 카디널리티
- 1과목 · 2장 1~3절 · 정규화·조인·트랜잭션 모델
- 1과목 · 2장 4~5절 · NULL·본질식별자·인조식별자
- 2과목 · 1장 1~2절 · 관계형 DB와 SELECT·DISTINCT
- 2과목 · 1장 3절 · 문자·숫자 함수와 CASE
- 2과목 · 1장 4절 · WHERE·날짜 범위·연산자 우선순위
- 2과목 · 1장 5~6절 · 집계·GROUP BY·HAVING·ORDER BY
- 2과목 · 1장 7~8절 · INNER·OUTER·표준 조인
- 2과목 · 2장 1절 · 서브쿼리·EXISTS·스칼라 서브쿼리
- 2과목 · 2장 2~3절 · 집합 연산·ROLLUP·CUBE·GROUPING
- 2과목 · 2장 4~5절 · 윈도우 함수·순위·Top N
- 2과목 · 2장 6~8절 · 계층형 질의·셀프 조인·PIVOT·정규표현식
- 2과목 · 3장 1~2절 · DML·TCL과 트랜잭션
- 2과목 · 3장 3~4절 · DDL·DCL·제약조건·권한
실습
- SQL 학습 실습 1 · 6작업 · SELECT·조건·정렬
- SQL 학습 실습 2 · 6작업 · NULL·COUNT·평균
- SQL 학습 실습 3 · 6작업 · 날짜 범위·문자 조건
- SQL 학습 실습 4 · 6작업 · GROUP BY·HAVING·조건부 합계
- SQL 학습 실습 5 · 6작업 · 조인·행 수·미주문 고객
- SQL 학습 실습 6 · 6작업 · 서브쿼리·EXISTS·NOT EXISTS
- SQL 학습 실습 7 · 6작업 · 순위·동률·고객별 Top N
- SQL 학습 실습 8 · 6작업 · 집합 연산·조건부 피벗·전체 검산
필기 모의고사
예상 모의문제입니다.