[기출문제] 1과목 - 데이터 모델과 SQL (2024 개정판, 해설 포함)
기출문제
1. 아래 엔터티에 필요한 정규화와 분리된 스키마 구조로 가장 적절한 것은?
합수종속성(FD):
{관서번호, 납부자번호} → {직급명, 통신번호}
{관서번호} → {관리점번호, 관서명, 상태, 관서등록일자}
① 3차 정규화 - 정규화테이블 {관서번호, 납부자번호, 관리점번호, 관서명상태, 관서등록일자}
② 2차 정규화 - 정규화테이블 {관서번호, 납부자번호, 관리점번호, 관서명상태, 관서등록일자}
③ 3차 정규화 - 정규화테이블 {관서번호, 관리점번호, 관서명, 상태, 관서등록일자}
④ 2차 정규화 - 정규화테이블 {관서번호, 관리점번호, 관서명, 상태, 관서등록일자}
2. 정규화와 성능에 대한 설명으로 가장 적절하지 않은 것은?
① 정규화를 수행하면 조회 성능을 보장받을 수 있다.
② 반정규화가 조회 성능을 항상 향상시키는 것은 아니며, 때로는 정규화에 의해 성능이 향상될 수도 있다.
③ 정규화를 수행하면 중복 속성을 제거하여 용량을 최소화시킬 수 있다.
④ 일반적으로 정규화 수행 시 데이터처리 성능이 향상된다.
3. 아래 논리 데이터 모델을 3차 정규화까지 수행했을 때 도출되는 엔터티 수로 가장 적절한 것은? (하나의 대출자에 대해 하나의 대출번호로 여러 개의 도서 대출/반납을 관리하고자 한다고 가정하고, 엔터티 통합은 고려하지 않음)
① 6
② 7
③ 8
④ 9
4. 아래에서 빈칸 (ㄱ),(ㄴ)에 들어갈 용어로 가장 적절한 것은?
어떤 릴레이션 R이 (ㄱ)이고, 기본키에 속하지 않은 속성 모두가 기본키에
이행적 함수종속이 아닐 때 (ㄴ)에 속한다.
① (ㄱ) 제3정규형, (ㄴ) 제2정규형
② (ㄱ) 제2정규형, (ㄴ) 제3정규형
③ (ㄱ) 제1정규형, (ㄴ) 제2정규형
④ (ㄱ) 제1정규형, (ㄴ) 제3정규형
5. 데이터 모델링의 정규화에 대한 설명으로 가장 적절하지 않은 것은?
① 반정규화는 성능을 위해 데이터 중복을 허용하는 것이지만 성능의 향상을 항상 보장하는 것은 아니다.
② 제3정규형을 만족하는 엔터티의 일반속성은 주식별자 전체에 종속적이다.
③ 제1정규형은 모든 인스턴스가 반드시 하나의 값을 가져야 함을 의미 한다.
④ 정규화는 개념 데이터 모델의 일관성을 확보하고, 중복을 제거하여 속성들이 가장 적절한 엔터티에 배치되도록 한다.
6. 아래에서 설명하는 정규형으로 가장 적절한 것은?
엔터티의 일반속성은 주식별자 전체에 종속적이어야 한다.
① 보이스-코드 정규형
② 제1정규형
③ 제2정규형
④ 제3정규형
7. 아래와 같이 테이블을 변환하였을 때 이에 대한 설명으로 가장 적절하지 않은 것은?
(단, (A)에서 주식별자는 사번이며, 함수 종속성 부서 → 사무실이 존재한다고 가정)
① 주어진 사번의 사무실을 검색하는 작업의 성능이 저하된다.
② 제1정규화를 수행한 것에 해당한다.
③ 제2정규화를 수행한 것에 해당한다.
④ (B)는 제3정규형을 만족한다.
8. 순차적으로 수행되는 작업 A와 B가 반드시 모두 수행되거나 모두 수행되지 않아야 한다고 할 때, 이에 대한 설명으로 가장 적절한 것은?
① A까지만 수행되고 시스템 장애가 발생했다면 A를 undo 해야 한다.
② A와 B는 하나의 트랜잭션으로 묶여 처리되어야 한다.
③ A와 B를 수행한 후 각각 커밋(Commit)을 해주어야 한다.
④ A와 B에 주어진 조건은 트랜잭션의 원자성(Atomicity)에 해당한다.
9. 본질식별자와 인조식별자에 대한 설명으로 가장 적절하지 않은 것은?
① 인조식별자는 개발 편의성을 높여주기 때문에 되도록 사용하는 것이 바람직하다.
② 인조식별자를 사용하면 본질식별자를 사용할 때와 비교하여 추가적인 인덱스가 필요해진다.
③ 인조식별자를 사용하면 중복 데이터를 막기 어려워 진다.
④ 인조식별자는 대체로 본질식별자가 복잡한 구성을 가질 때 만들어 진다.
10. NULL 값에 대한 설명으로 적적한 것은?
① NULL 값과 어떤 숫자의 크기를 비교해도 결과는 항상 NULL이다.
② NULL 값에 어떤 숫자를 더해도 결과는 항상 NULL 이다.
③ 집계 함수를 계산할 때 NULL 값은 0으로 처리된다.
④ "NULL = NULL" 연산의 결과는 TRUE 이다.
정답 및 해설
1. ④, 함수 종속성의 규칙에 따라 {관서번호} → {관리점번호, 관서명, 상태, 관서등록일자}인 관서번호가 PK인 엔터티가 2차 정규화로 분리 되어야 한다.
2. ①, 정규화로 인해 조회성능이 저하될 수 있다. 이 때문에 반정규화를 고려한다.
3. ②, 3차 정규화까지 수행하면 학과, 학생, 교수, LAB실이용신청, (도서)대출, 대출도서, 도서 총 7개의 엔터티가 도출된다.
4. ②, 어떤 릴레이션 R이 제2정규형이고, 기본 키에 속하지 않은 속성 모두가 기본 키에 이행적 함수 종속이 아닐 때 제3 정규형에 속한다.
5. ④, 정규화는 논리 데이터 모델 상세화 과정의 대표적인 활동으로, 논리 데이터 모델의 일관성을 확보하고 중복을 제거하여 속성들이 가장 적절한 엔터티에 배치되도록 함으로써 보다 더 신뢰성 있는 데이터 구조를 얻는 데 복적이 있다.
6. ③, 제2 정규형에 대한 설명이다.
7. ②, 해당 작업은 제2정규화를 수행한 것에 해당하며, (B)는 2차 정규형뿐만 아니라 3차 정규형도 만족한다. 또한 정규화를 수행하면 일반적으로 검색 작업의 성능이 저하된다.
8. ③, A와 B가 하나의 트랜잭션으로 묶여 처리되어야 하므로 커밋은 A와 B를 모두 수행한 다음에 해주어야 한다.
9. ①, 인조식별자는 단점도 존재하므로 꼭 필요한 경우에만 사용하는 것이 바람직하다.
10. ②, NULL 값과 어떤 숫자를 비교한 결과는 항상 unknown이다. "NULL=NULL" 연산의 결과는 FALSE 또는 unknown이다. 집계 함수를 계산할 때 NULL 값은 0이 아니라 계산에서 제외된다.
'스터디 > SQL' 카테고리의 다른 글
[정리노트] SQLD 2024년 개정판 - 윈도우 함수 (71) | 2024.08.23 |
---|---|
[정리노트] SQLD 2024년 개정판 - 그룹함수 (59) | 2024.08.22 |
[정리노트] SQLD 2024년 개정판 - 집합 연산자 (52) | 2024.08.22 |
[정리노트] SQLD 2024년 개정판 - 서브쿼리 (58) | 2024.08.21 |
[정리노트] SQLD 2024년 개정판 - 표준조인 (65) | 2024.08.21 |