[정보처리기사] 정보처리기사 필기 2022년도 1회 제3과목 기출문제 해설
안녕하세요! 꿈꾸me입니다~
오늘은 2022년도 1회 정보처리기사 필기 제3과목 기출문제 해설을 올립니다.
추후에 차근차근 나머지 과목들에 대해서도 올릴 테니 기다려주세요~

정보처리기사 필기 2022년도 1회 제3과목 : 데이터베이스 구축 기출문제 해설
(아래 문제 해설은 가답안을 이용한 것으로, 최종 확정된 답안이 나오면 추가 수정하겠습니다!)
(해당 문제들의 원저작권은 자격검정 시행기관인 한국산업인력공단에 있습니다.)
41. 데이터베이스 설계 단계 중 물리적 설계 시 고려 사항으로 적절하지 않은 것은? 1번
1) 스키마의 평가 및 정제
2) 응답 시간
3) 저장 공간의 효율화
4) 트랜잭션 처리량
: 스키마의 평가 및 정제는 논리적 설계 시 이루어진다.
42. DELETE 명령에 대한 설명으로 틀린 것은? 2번
1) 테이블의 행을 삭제할 때 사용한다.
2) WHERE 조건절이 없는 DELETE 명령을 수행하면 DROP TABLE 명령을 수행했을 때와 동일한 효과를 얻을 수 있다.
3) SQL을 사용 용도에 따라 분류할 경우 DML에 해당한다.
4) 기본 사용 형식은 "DELETE FROM 테이블 [WHRER 조건];"이다.
: DELETE 명령으로 수행하면 내용만 사라지고 테이블 구조는 남아있기 때문에 동일한 효과를 얻지 못한다.
43. 어떤 릴레이션 R의 모든 조인 종속성의 만족이 R의 후보 키를 통해서만 만족될 때, 이 릴레이션 R이 해당하는 정규형은? 1번
1) 제5정규형
2) 제4정규형
3) 제3정규형
4) 제1정규형
: '도부이결다조' 암기문을 통해 보면 조인 종속성의 '조'가 맨 마지막이므로 맨 마지막에 해당하는 정규형인 제5정규형이다.
(저는 시나공 교재의 암기문을 통해 학습했습니다 :) )
44. E-R 모델에서 다중값 속성의 표기법은? (도형 대신 글로 대체해서 적을게요!!) 3번
1) 마름모
2) 직사각형
3) 이중 타원
4) 실선
: 다중값 속성의 표기법은 이중 타원이다.
45. 다른 릴레이션의 기본키를 참조하는 키를 의미하는 것은? 3번
1) 필드키
2) 슈퍼키
3) 외래키
4) 후보키
: 외래키는 다른 릴레이션의 기본키를 참조하는 키를 말한다.
46. 관계 해석에서 '모든 것에 대하여'의 의미를 나타내는 논리 기호는? 3번
1) ∃
2) ∈
3) ∀
4) ⊂
: '모든 것에 대하여'라는 의미의 논리 기호는 3번 ∀이다.
참고로 1번은 '존재한다'는 의미, 2번은 '∈ 기호 앞에 있는 것이 ∈ 기호 뒤에 있는 것에 속한다'는 의미, 4번은 '합집합'이라는 의미이다.
47. 다음 릴레이션의 Degree와 Cardinality는? 1번
학번 | 이름 | 학년 | 학과 |
13001 | 홍길동 | 3학년 | 전기 |
13002 | 이순신 | 4학년 | 기계 |
13003 | 강감찬 | 2학년 | 컴퓨터 |
1) Degree : 4 , Cardinality : 3
2) Degree : 3 , Cardinality : 4
3) Degree : 3 , Cardinality : 12
4) Degree : 12 , Cardinality : 3
: Degree는 차수라고도 하며 속성의 수를 의미하고, Cardinality는 기수, 대응수라고도 하며 튜플의 수를 의미한다. 따라서 해당 정답은 Degree 4, Cardinality 3의 1번이 된다.
48. 뷰(View)에 대한 설명으로 틀린 것은? 4번
1) 뷰 위에 또 다른 뷰를 정의할 수 있다.
2) DBA는 보안성 측면에서 뷰를 활용할 수 있다.
3) 사용자가 필요한 정보를 요구에 맞게 가공하여 뷰를 만들 수 있다.
4) SQL을 사용하면 뷰에 대한 삽입, 갱신, 삭제 연산 시 제약 사항이 없다.
: 뷰의 단점으로 뷰로 구성된 내용에 대한 삽입, 갱신, 삭제 연산에 제약 사항이 있다.
49. 관계 대수식을 SQL 질의로 옳게 표현한 것은? 2번
π 이름 (σ 학과 = '교육' (학생)) |
1) SELECT 학생 FROM 이름 WHERE 학과 = '교육';
2) SELECT 이름 FROM 학생 WHERE 학과 = '교육';
3) SELECT 교육 FROM 학과 WHERE 이름 = '학생';
4) SELECT 학과 FROM 학생 WHERE 이름 = '교육';
: 관계 대수식은 '학생' 테이블에서 '학과'가 '교육'에 해당하는 튜플을 구해서 그 중 '이름'이라는 속성 값만 추출하라는 뜻이다.
50. 정규화 과정에서 함수 종속이 A→B 이고 B→C 일 때 A→C 인 관계를 제거하는 단계는? 2번
1) 1NF → 2NF
2) 2NF → 3NF
3) 3NF → BCNF
4) BCNF → 4NF
: 위의 문제의 내용은 '이행적 종속'을 제거하는 단계를 묻는 것이다. 따라서 '도부이결다조' 암기문을 통해 제2정규형에서 제3정규형으로 넘어가는 단계임을 알 수 있다.
51. CREATE TABLE문에 포함되지 않는 기능은? 1번
1) 속성의 타입 변경
2) 속성의 NOT NULL 여부 지정
3) 기본키를 구성하는 속성 지정
4) CHECK 제약조건의 정의
: 속성의 타입은 변경할 수 없다.
52. SQL과 관련한 설명으로 틀린 것은? 1번
1) REVOKE 키워드를 사용하여 열 이름을 다시 부여할 수 있다.
2) 데이터 정의어는 기본 테이블, 뷰 테이블 또는 인덱스 등을 생성, 변경, 제거하는데 사용되는 명령어이다.
3) DISTINCT를 활용하여 중복 값을 제거할 수 있다.
4) JOIN을 통해 여러 테이블의 레코드를 조합하여 표현할 수 있다.
: REVOKE는 사용 권한을 해제할 때 사용한다.
53. 다음 SQL문의 실행결과로 생성되는 튜플 수는? 4번
SELECT 급여 FROM 사원; |
<사원> 테이블
사원ID | 사원명 | 급여 | 부서ID |
101 | 박철수 | 30000 | 1 |
102 | 한나라 | 35000 | 2 |
103 | 김감동 | 40000 | 3 |
104 | 이구수 | 35000 | 2 |
105 | 최초록 | 40000 | 3 |
1) 1
2) 3
3) 4
4) 5
: SELECT문은 테이블에서 튜플을 검색하는 기능을 가지고 있다. 따라서 SELECT 급여 FROM 사원; 의 실행결과는 '사원' 테이블에서 '급여' 튜플을 검색한 결과가 나오고 이로 인한 튜플의 수는 30000, 35000, 40000, 35000, 40000의 총 5개이다.
54. 다음 SQL문에서 사용된 BETWEEN 연산의 의미와 동일한 것은? 1번
SELECT * FROM 성적 WHERE (점수 BETWEEN 90 AND 95) AND 학과 = '컴퓨터공학과'; |
1) 점수 >= 90 AND 점수 <= 95
2) 점수 > 90 AND 점수 < 95
3) 점수 > 90 AND 점수 <= 95
4) 점수 >= 90 AND 점수 < 95
: BETWEEN 연산은 AND와 함께 쓰이며, BETWEEN a AND b의 경우 a와 b 사이를 의미한다. 따라서 문제의 SQL 문과 동일한 것을 찾으면 점수가 90과 95 사이에 있다는 표현인 1번이 정답이다.
55. 트랜잭션의 상태 중 트랜잭션의 수행이 실패하여 Rollback 연산을 실행한 상태는? 1번
1) 철회 (Aborted)
2) 부분 완료 (Partially Committed)
3) 완료 (Commit)
4) 실패 (Fail)
: 트랜잭션 수행이 실패하여 Rollback 연산을 실행한 상태를 '철회'라고 한다.
참고로 부분완료는 트랜잭션의 마지막 연산까지 실행하고 Commit 실행되기 직전의 상태이고, 완료는 성공적인 트랜잭션의 수행으로 Commit이 완료된 후의 상태이다. 마지막으로 실패는 트랜잭션 실행에 오류가 발생하여 중단된 상태를 의미한다.
56. 데이터 제어어(DCL)에 대한 설명으로 옳은 것은? 3번
1) ROLLBACK : 데이터의 보안과 무결성을 정의한다.
2) COMMIT : 데이터베이스 사용자의 사용 권한을 취소한다.
3) GRANT : 데이터베이스 사용자에게 사용 권한을 부여한다.
4) REVOKE : 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래 상태로 복구한다.
: 데이터제어어(DCL; Data Control Language) 명령어
- GRANT : 권한 부여를 위한 명령어
- REVOKE : 권한 취소를 위한 명령어
- COMMIT : 트랜잭션이 성공적으로 끝나고 변경된 모든 내용을 데이터베이스에 반영하기 위한 명령어
- ROLLBACK : 아직 COMMIT 되지 않은 변경된 모든 내용들을 취소하고 데이터베이스를 이전 상태로 되돌리는 명령어
57. 테이블 R과 S에 대한 SQL문이 실행되었을 때, 실행 결과로 옳은 것은? 4번
R
A | B |
1 | A |
3 | B |
S
A | B |
1 | A |
2 | B |
SELECT A FROM R UNION ALL SELECT A FROM S; |
1)
1 |
2)
3 2 |
3)
1 3 |
4)
1 3 1 2 |
: R 릴레이션의 'A'를 추출하고 S 릴레이션의 'A'를 추출하여 UNION ALL 즉 중복을 제거하지 않고 합하여 추출하라는 것을 의미한다.
R 릴레이션의 'A'를 추출하면 1 3 이고 S 릴레이션의 'A'를 추출하면 1 2 이니, 중복을 제거하지 않고 합집합을 행하면 1 3 1 2이므로 정답은 4번이다.
58. 분산 데이터베이스 시스템(Distributed Database System)에 대한 설명으로 틀린 것은? 4번
1) 분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만 물리적으로는 여러 개의 컴퓨터 사이트에 분산되어 있다.
2) 위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성을 목표로 한다.
3) 데이터베이스의 설계가 비교적 어렵고, 개발 비용과 처리 비용이 증가한다는 단점이 있다.
4) 분산 데이터베이스 시스템의 주요 구성요소는 분산 처리기, P2P시스템, 단일 데이터베이스 등이 있다.
: 분산 데이터베이스의 구성요소에는 '분산 처리기', '분산 데이터베이스', '통신 네트워크'가 있다.
59. 테이블 두 개를 조인하여 뷰 V_1을 정의하고, V_1을 이용하여 뷰 V_2를 정의하였다. 다음 명령 수행 후 결과로 옳은 것은? 3번
DROP VIEW V_1 CASCADE; |
1) V_1만 삭제된다.
2) V_2만 삭제된다.
3) V_1과 V_2 모두 삭제된다.
4) V_1과 V_2 모두 삭제되지 않는다.
: CASCADE는 제거할 요소를 참조하는 다른 모든 개체를 함께 삭제하는 것을 의미한다.
60. 데이터베이스에서 병행제어의 목적으로 틀린 것은? 3번
1) 시스템 활용도 최대화
2) 사용자에 대한 응답시간 최소화
3) 데이터베이스 공유 최소화
4) 데이터베이스 일관성 유지
: 데이터베이스 공유 최소화가 아닌 '최대화'가 맞다.