자격증 요약/정보처리기사

[24년 3회 3과목] 정보처리기사 필기 문제 풀이

문성 2026. 1. 27. 19:01

 

제3과목: 데이터베이스 구축 (41~60번)

정보처리기사 필기 기출문제
24년 3회 1과목 2과목 3과목 4과목 5과목
24년 2회 1과목 2과목 3과목 4과목 5과목
24년 1회 1과목 2과목 3과목 4과목 5과목
23년 3회 1과목 2과목 3과목 4과목 5과목
23년 2회 1과목 2과목 3과목 4과목 5과목
23년 1회 1과목 2과목 3과목 4과목 5과목

41. 참조 무결성을 유지하기 위하여 DROP문에서 부모 테이블의 항목 값을 삭제할 경우 자동적으로 자식 테이블의 해당 레코드를 삭제하기 위한 옵션은?

① CLUSTER

② CASCADE

③ SET-NULL

④ RESTRICTED

CASCADE (연쇄) : 부모 테이블의 데이터를 삭제/수정하면, 이를 참조하는 자식 테이블의 데이터도 함께 삭제/수정됩니다.
RESTRICT (제한) : 자식 테이블이 해당 데이터를 참조하고 있다면, 부모 테이블의 데이터를 삭제/수정하지 못하도록 차단합니다.
SET NULL : 부모 데이터를 삭제/수정하면, 자식 테이블의 해당 값을 NULL로 변경합니다.
SET DEFAULT : 부모 데이터를 삭제/수정하면, 자식 테이블의 해당 값을 기본값(Default)으로 변경합니다.

답: 2번
"연쇄적으로 같이 지운다" = CASCADE,
"참조 중이면 못 지우게 막는다" = RESTRICT
 

42. 뷰(View)에 대한 설명으로 옳지 않은 것은?

① 뷰는 CREATE 문을 사용하여 정의한다.

② 뷰는 데이터의 논리적 독립성을 제공한다.

③ 뷰를 제거할 때에는 DROP 문을 사용한다.

④ 뷰는 저장장치 내에 물리적으로 존재한다.

뷰 (View) : 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블 → 테이블을 참조하는 가상 테이블이므로, 참조하고 있는 테이블이 삭제되면 뷰(View)도 삭제된다.

뷰 (View) 특징
 - 뷰는 기본 테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하며, 조작도 기본 테이블과 거의 같다
 - 뷰는 가상 테이블이기 때문에 물리적으로 구현되어 있지 않다. → 물리적으로 존재하지 않아서 인덱스를 생성하거나 가질 수 없다.
 - 데이터의 논리적 독립성을 제공할 수 있다.
 - 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해진다.
 - 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호하는 효율적인 기법으로 사용할 수 있다.
 - 기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신 연산이 가능하다. (제약)
 - 일단 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있다.
 - 뷰를 정의할 때는 CREATE문, 제거할 때는 DROP문을 사용한다.

답: 4번
 

43. DML에 해당하는 SQL 명령으로만 나열된 것은?

① DELETE, UPDATE, CREATE, ALTER

② INSERT, DELETE, UPDATE, DROP

③ SELECT, INSERT, DELETE, UPDATE

④ SELECT, INSERT, DELETE, ALTER

DML (Data Manipulation Language, 데이터 조작어) : 테이블 내의 실제 데이터를 조회, 삽입, 수정, 삭제할 때 사용
 - SELECT: 데이터 조회
 - INSERT: 데이터 삽입
 - UPDATE: 데이터 수정
 - DELETE: 데이터 삭제

DDL (Data Definition Language, 데이터 정의어) : 데이터베이스 구조(테이블, 인덱스, 뷰 등)를 생성, 변경, 삭제할 때 사용
 - CREATE: 구조 생성
 - ALTER: 구조 변경
 - DROP: 구조 삭제
 - TRUNCATE: 테이블의 모든 데이터 삭제 (구조는 남김)

DCL (Data Control Language, 데이터 제어어) : 데이터의 보안, 무결성, 회복, 병행 제어 등을 위해 사용합니다.
 - GRANT: 권한 부여
 - REVOKE: 권한 취소
 - COMMIT / ROLLBACK: 트랜잭션 제어 

답: 3번
 

44. 다음과 같이 위쪽 릴레이션을 아래쪽 릴레이션으로 정규화를 하였을 때 어떤 정규화 작업을 한 것인가?

① 제1정규형

② 제2정규형

③ 제3정규형

④ 제4정규형

정규화 (도부이결다조)
1NF (제1정규형): 메인이 원자 값 (다중 값 제거)
2NF (제2정규형): 분 함수적 종속 제거 (완전 함수적 종속 만족)
3NF (제3정규형): 행적 함수적 종속 제거 (X → Y 이고 Y → Z 이면 X → Z)
BCNF: 정자이면서 후보키가 아닌 것 제거
4NF (제4정규형): 치 종속 제거
5NF (제5정규형): 인 종속 제거

답: 1번
하나에 여러개가 있는 것을 한개씩 풀면 제1정규형
서울, 부산 / 워싱턴, 뉴욕 → 서울 / 부산 / 워싱턴 / 뉴욕
 

45. 관계 데이터 모델의 무결성 제약 중 기본키 값의 속성 값이 널(Null) 값이 아닌 원자 값을 갖는 성질은?

① 개체 무결성

② 참조 무결성

③ 도메인 무결성

④ 튜플의 유일성

무결성 제약 조건
개체
무결성 (Entity Integrity) : 기본키(Primary Key)는 NULL 값을 가질 수 없으며, 중복될 수도 없음
 - 테이블에서 각 튜플(행)을 유일하게 식별해야 하기 때문

참조 무결성 (Referential Integrity) : 외래키(Foreign Key) 값은 참조하는 테이블의 기본키 값과 동일하거나, NULL이어야 함
 - 존재하지 않는 데이터를 참조하는 오류를 방지하기 위함 (예: 없는 부서 번호를 사원 정보에 입력할 수 없음)

도메인 무결성 (Domain Integrity) : 특정 속성(열)의 값은 그 속성에 정의된 도메인(범위)에 속한 값이어야 함
 - '성별'이라는 속성에 '남', '여' 외의 값이 들어오면 안 되는 규칙

※튜플의 유일성: 하나의 릴레이션에는 동일한 튜플이 존재할 수 없다는 특성입니다.

답: 1번
 

46. 데이터 모델에 표시해야 할 요소로 거리가 먼 것은?

① 논리적 데이터 구조

② 출력 구조

③ 연산

④ 제약 조건

데이터 모델의 3요소 (구-연-제)
구조 (Structure) : 데이터베이스에 논리적으로 표현될 데이터 객체들 간의 관계를 정의
 - 개체(Entity), 속성(Attribute), 관계(Relationship) 등

연산 (Operations) : 데이터베이스에 저장된 실제 데이터를 처리하는 작업 명세를 정의
 - 릴레이션(테이블)을 조작하는 기본 도구

제약 조건 (Constraints) : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 규칙
 - 데이터의 무결성을 유지하기 위한 조건

답: 2번
 

47. DBA가 사용자 PARK에게 테이블 [STUDENT]의 데이터를 갱신할 수 있는 시스템 권한을 부여하고자 하는 SQL문을 작성하고자 한다. 다음에 주어진 SQL문의 빈칸을 알맞게 채운 것은?

SQL > GRANT ( ㄱ ) ( ㄴ ) STUDENT TO PARK;

① INSERT, INTO

② ALTER, TO

③ UPDATE, ON

④ REPLACE, IN

GRANT UPDATE [권한 리스트] ON [객체 이름] TO [사용자]
REVOKE [권한 리스트] ON [객체 이름] FROM [사용자]

답: 3번
 

48. 데이터베이스에 영향을 주는 생성, 읽기, 갱신, 삭제 연산으로 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석하는 것은?

① CASE 분석

② 일치 분석

③ CRUD 분석

④ 연관성 분석

CRUD 분석
 - 생성(Create), 읽기(Read), 갱신(Update), 삭제(Delete)의 앞 글자만 모아서 만든 용어
 - CRUD분석은 데이터베이스 테이블에 변화를 주는 트랜잭션의 CRUD 연산에 대해 CRUD 매트릭스를 작성하여 분석하는 것
 - CRUD분석으로 테이블에 발생되는 트랜잭션의 주기별 발생 횟수를 파악하고 연관된 테이블들을 분석하면 테이블에 저장되는 데이터의 양을 유추할 수 있다.

① CASE 분석: 소프트웨어 개발 도구(Computer-Aided Software Engineering)를 이용한 분석을 통칭하는 말입니다.
② 일치 분석: 일반적으로 사용되는 데이터베이스 분석 용어는 아닙니다.
④ 연관성 분석: 데이터 마이닝 등에서 항목 간의 상관관계를 찾는 기법입니다.

답: 3번
 

49. 다음에서 설명하는 스키마(Schema)는?

데이터베이스 전체를 정의한 것으로 데이터 개체, 관계, 제약조건, 접근권한, 무결성 규칙 등을 명세한 것

① 개념 스키마

② 내부 스키마

③ 외부 스키마

④ 내용 스키마

스키마
개념 스키마 (Conceptual Schema):
 - 기관이나 조직 전체의 관점 (전체적인 뷰)
 - 모든 응용 프로그램이나 사용자가 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스 구조
 - 데이터 개체, 관계, 제약 조건, 보안 정책, 접근 권한 등을 정의
 - 하나만 존재하며, 보통 '스키마'라고 하면 이 개념 스키마를 의미합니다. DBA(데이터베이스 관리자)가 관리

외부 스키마 (External Schema):
 - 개별 사용자나 응용 프로그래머의 관점 (부분적인 뷰)
 - 전체 데이터베이스 중 사용자가 관심을 가지는 일부분만 정의한 것입니다. 여러 개가 존재할 수 있으며, '서브 스키마'라고도 불립니다.

내부 스키마 (Internal Schema):
 - 물리적 저장 장치의 관점 (저장 뷰)
 - 실제로 데이터가 하드디스크 등에 어떤 방식으로 저장되는지(레코드 구조, 인덱스 유무 등)를 정의합니다.

답: 1번
 

50. 조건을 만족하는 릴레이션의 수평적 부분집합으로 구성하며, 연산자의 기호는 그리스 문자 시그마( σ )를 사용하는 관계대수 연산은?

① Select

② Join

③ Project

④ Division

관계대수
 - 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어
 - 관계대수는 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고, 결과도 릴레이션이다.
 - 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.

순수 관계 연산자
Select ( σ ) : 릴레이션에서 특정 조건을 만족하는 튜플(행)을 구하는 연산
Project ( π ) : 릴레이션에서 주어진 속성(열) 리스트에 해당하는 값들만 추출하는 연산
Join (  ) : 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만듦
Division ( ÷ ) : 릴레이션 S의 모든 조건을 만족하는 릴레이션 R의 튜플들을 추출

일반 관계 연산자
UNION (합집합, ∪)
INTERSECTION (교집합, ∩)
DIFFERENCE (차집합, ㅡ)
CARTESIAN PRODUCT (교차곱, X)

답: 1번
 

51. 데이터베이스 설계 단계 중 저장 레코드 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 설계와 관계되는 것은?

① 논리적 설계

② 요구 조건 분석

③ 개념적 설계

④ 물리적 설계

데이터베이스 설계 단계별 특징 (요구----구현)
1. 요구 조건 분석 (Requirement Analysis)
 - 사용자의 요구사항을 수집하고 분석하여 '요구 조건 명세서'를 작성합니다.

2. 개념적 설계 (Conceptual Design)
 - 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행한다.
 - 요구 분석 단계에서 나온 결과인 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성한다.
 - DBMS에 독립적인 개념 스키마를 설계한다.

3. 논리적 설계 (Logical Design)
 - 개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화한다.
 - 개념 스키마를 설계하는 단계라면 논리적 설계에서는 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계이다.
 - 트랜잭션의 인터페이스를 설계한다.
 - 관계형 데이터베이스라면 테이블을 설계하는 단계이다.

4. 물리적 설계 (Physical Design)
 - 다양한 데이터베이스 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정한다.
 - 저장 레코드의 양식, 순서, 접근 경로, 조회가 집중되는 레코드와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사한다.
 - 물리적 설계 시 고려할 사항 : 트랜잭션 처리량, 응답 시간, 디스크 용량, 저장 공간의 효율화 등

5. 구현 (Implementation)
 - DDL을 사용하여 실제 데이터베이스와 테이블을 생성합니다.

답: 4번
"저장", "레코드", "접근 경로", "성능" → 물리적 설계
 

52. 관계형 데이터 모델의 릴레이션에 대한 설명으로 틀린 것은?

① 모든 속성 값은 원자 값을 갖는다.

② 한 릴레이션에 포함된 튜플은 모두 상이하다.

③ 한 릴레이션에 포함된 튜플 사이에는 순서가 없다.

④ 한 릴레이션을 구성하는 속성 사이에는 순서가 존재한다.

릴레이션(Relation)의 특징
 - 한 릴레이션에는 똑같은 튜플이 포함될 수 없으므로 릴레이션에 포함된 튜플들은 모두 상이하다.
 - 한 릴레이션에 포함된 튜플 사이에는 순서가 없다.
 - 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.
 - 릴레이션 스키마를 구성하는 속성들 간의 순서는 중요하지 않다.
 - 속성의 유일한 식별을 위해 속성의 명칭은 유일해야 하지만, 속성을 구하는 값은 동일한 값이 있을 수 있다.
 - 릴레이션을 구성하는 튜플을 유일하게 식별하기 위해 속성들의 부분집합을 키(Key)로 설정한다.
 - 속성의 값은 논리적으로 더 이상 쪼갤 수 없는 원자값만을 저장한다.

답: 4번
순서가 없다
 

53. 트랜잭션의 실행이 실패하였음을 알리는 연산자로, 트랜잭션이 수행한 결과를 원래의 상태로 원상 복귀 시키는 연산은?

① COMMIT 연산

② BACKUP 연산

③ LOG 연산

④ ROLLBACK 연산

트랜잭션 제어 연산
ROLLBACK (롤백)
 - 트랜잭션의 실행이 실패했거나 비정상적으로 종료되었을 때, 데이터베이스를 트랜잭션 시작 전의 원래 상태로 복구하는 연산입니다.
 - 해당 트랜잭션이 수행한 모든 변경 내용이 취소되며, 데이터베이스의 일관성을 유지합니다.

COMMIT (커밋)
 - 트랜잭션의 작업이 성공적으로 완료되었음을 선언하는 연산입니다.
 - 변경된 내용이 데이터베이스에 영구적으로 저장되며, 이후에는 롤백으로 되돌릴 수 없습니다.

트랜잭션
 - 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산
 - 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 사용
 - 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위로 사용

트랜잭션의 특징 (ACID)
Atomicity (원자성) : 트랜잭션은 모두 반영되거나, 전혀 반영되지 않아야 함 (All or Nothing).
Consistency (일관성) : 트랜잭션 수행 전후의 데이터베이스 상태는 같아야 함.
Isolation (고립성/격리성) : 둘 이상의 트랜잭션이 동시에 실행될 때 서로 간섭할 수 없음.
Durability (영속성/지속성) : 성공한 트랜잭션의 결과는 시스템 고장이 나더라도 영구적으로 보존되어야 함.

답: 4번
 

54. 릴레이션 R의 차수가 4이고 카디널리티가 5이며, 릴레이션 S의 차수가 6이고 카디널리티가 7일 때, 두 개의 릴레이션을 카티션 프로덕트한 결과의 새로운 릴레이션의 차수와 카디널리티는 얼마인가?

① 24, 35

② 24, 12

③ 10, 35

④ 10, 12

차수 (Degree, 속성의 수): 세로 줄 개수 (, Attribute, Column
공식: Degree(R) + Degree(S) → 4 + 6 = 10

카디널리티 (Cardinality, 튜플의 수): 가로 줄 개수 (, Tuple, Row)
공식: Cardinality(R) x Cardinality(S) → 5 x 7 = 35

답: 3번
 

55. 정규화에 대한 설명으로 적절하지 않은 것은?

① 데이터베이스의 개념적 설계 단계 이전에 수행한다.

② 데이터 구조의 안정성을 최대화한다.

③ 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지한다.

④ 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.

정규화
 - 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정
 - 정규화는 데이터베이스의 논리적 설계 단계에서 수행한다. (※개념적 설계 → 논리적 설계 → 물리적 설계 순)
 - 정규화는 논리적 처리 및 품질에 큰 영향을 미친다.
 - 정규화된 데이터 모델은 일관성, 정확성, 단순성, 비중복성, 안정성 등을 보장한다.
 - 데이터 구조의 안정성 및 무결성을 유지한다.
 - 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.
 - 효과적인 검색 알고리즘을 생성할 수 있다.
 - 데이터 중복을 배제하여 이상의 발생 방지 및 저장 공간의 최소화가 가능하다
 - 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.
 - 데이터 모형의 단순화가 가능하다.
 - 속성의 배열 상태 검증이 가능하다.
 - 개체와 속성의 누락 여부 확인이 가능하다.
 - 자료 검색과 추출의 효율성을 추구한다.

정규화를 하지 않았을 때 발생하는 이상(Anomaly) 현상 (삽살개 → 삽삭갱)
삽입 이상 (Insertion) : 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상
삭제 이상 (Deletion) : 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄가 일어나는 현상
갱신 이상 (Update) : 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상

답: 1번
 

56. 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미하는 것은?

① 트랜잭션

② 뷰

③ 튜플

④ 카디널리티

트랜잭션
 - 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산
 - 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위로 사용
 - 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업 단위로 사용

트랜잭션의 특징 (ACID)
Atomicity (원자성) : 트랜잭션은 모두 반영되거나, 전혀 반영되지 않아야 함 (All or Nothing).
Consistency (일관성) : 트랜잭션 수행 전후의 데이터베이스 상태는 같아야 함.
Isolation (고립성/격리성) : 둘 이상의 트랜잭션이 동시에 실행될 때 서로 간섭할 수 없음.
Durability (영속성/지속성) : 성공한 트랜잭션의 결과는 시스템 고장이 나더라도 영구적으로 보존되어야 함.

트랜잭션 제어 연산
ROLLBACK (롤백)
 - 트랜잭션의 실행이 실패했거나 비정상적으로 종료되었을 때, 데이터베이스를 트랜잭션 시작 전의 원래 상태로 복구하는 연산입니다.
 - 해당 트랜잭션이 수행한 모든 변경 내용이 취소되며, 데이터베이스의 일관성을 유지합니다.

COMMIT (커밋)
 - 트랜잭션의 작업이 성공적으로 완료되었음을 선언하는 연산입니다.
 - 변경된 내용이 데이터베이스에 영구적으로 저장되며, 이후에는 롤백으로 되돌릴 수 없습니다.

② 뷰(View): 사용자에게 보여주는 가상 테이블
③ 튜플(Tuple): 릴레이션을 구성하는 각각의 행(Row)을 의미
④ 카디널리티(Cardinality): 릴레이션에 들어있는 튜플(행)의 총 개수를 의미

답: 1번
 

57. 테이블 두 개를 조인하여 뷰 V_1을 정의하고, V_1을 이용하여 뷰 V_2를 정의하였다. 다음 명령 수행 후 결과로 옳은 것은?

DROP VIEW V_1 CASCADE;

① V_1만 삭제된다.

② V_2만 삭제된다.

③ V_1과 V_2 모두 삭제된다.

④ V_1과 V_2 모두 삭제되지 않는다.

DROP VIEW V_1 CASCADE; → V_1을 삭제

CASCADE
 (연쇄) : 부모 테이블의 데이터를 삭제/수정하면, 이를 참조하는 자식 테이블의 데이터도 함께 삭제/수정됩니다.
 → V_1, V_2 전부 삭제 됨

RESTRICT
 (제한) : 자식 테이블이 해당 데이터를 참조하고 있다면, 부모 테이블의 데이터를 삭제/수정하지 못하도록 차단합니다.
 → V_2가 V_1을 참조하고 있으므로 V_1삭제 명령이 수행되지 않음

SET NULL : 부모 데이터를 삭제/수정하면, 자식 테이블의 해당 값을 NULL로 변경합니다.
SET DEFAULT : 부모 데이터를 삭제/수정하면, 자식 테이블의 해당 값을 기본값(Default)으로 변경합니다.

답: 3번
"연쇄적으로 같이 지운다" = CASCADE,
"참조 중이면 못 지우게 막는다" = RESTRICT
 

58. SQL과 관련한 설명으로 틀린 것은?

① REVOKE 키워드를 사용하여 열 이름을 다시 부여할 수 있다.

② 데이터 정의어는 기본 테이블, 뷰 테이블, 또는 인덱스 등을 생성, 변경, 제거하는데 사용되는 명령어이다.

③ DISTINCT를 활용하여 중복 값을 제거할 수 있다.

④ JOIN을 통해 여러 테이블의 레코드를 조합하여 표현할 수 있다.

DML (Data Manipulation Language, 데이터 조작어) : 테이블 내의 실제 데이터를 조회, 삽입, 수정, 삭제할 때 사용
 - SELECT: 데이터 조회
 - INSERT: 데이터 삽입
 - UPDATE: 데이터 수정
 - DELETE: 데이터 삭제

DISTINCT : 중복 제거
JOIN : 테이블 결합

DDL (Data Definition Language, 데이터 정의어) : 데이터베이스 구조(테이블, 인덱스, 뷰 등)를 생성, 변경, 삭제할 때 사용
 - CREATE: 구조 생성
 - ALTER: 구조 변경
 - DROP: 구조 삭제
 - TRUNCATE: 테이블의 모든 데이터 삭제 (구조는 남김)

DCL (Data Control Language, 데이터 제어어) : 데이터의 보안, 무결성, 회복, 병행 제어 등을 위해 사용합니다.
 - GRANT: 권한 부여
 - REVOKE권한 취소
 - COMMIT / ROLLBACK: 트랜잭션 제어 

답: 1번
REVOKE는 권한을 취소하는 것이지, 이름을 다시 부여하는 것이 아니다.
 

59. 다른 릴레이션의 기본키를 참조하는 키를 의미하는 것은?

① 필드키

② 슈퍼키

③ 외래키

④ 후보키

키 (Key)
후보키 (Candidate Key)
 - 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
 - 기본키로 사용할 수 있는 속성들을 말함
 - 후보키는 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 함.

기본키 (Primary Key)
 - 후보키 중에서 특별히 선정된 주키(Main Key)로 중복된 값을 가질 수 없음
 - 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
 - 기본키는 NULL 값을 가질 수 없음.

대체키 (Alternate Key)
 - 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미
 - 보조키

슈퍼키 (Super Key)
 - 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않음
 - 슈퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못 함

외래키 (Foreign Key)
 - 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미
 - 한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키인 B가 동일한 도메인 상에서 정의되었을 때의 속성 A를 외래키라고 함

답: 3번
 

60. 데이터 사전에 대한 설명으로 틀린 것은?

① 시스템 카탈로그 또는 시스템 데이터베이스라고도 한다.

② 데이터 사전 역시 데이터베이스의 일종이므로 일반 사용자가 생성, 유지 및 수정할 수 있다.

③ 데이터베이스에 대한 데이터인 메타데이터(Metadata)를 저장하고 있다.

④ 데이터 사전에 있는 데이터에 실제로 접근하는 데 필요한 위치 정보는 데이터 디렉토리(Data Directory)라는 곳에서 관리한다.

시스템 카탈로그 (데이터 사전)
 - 시스템 카탈로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블
 - 카탈로그들이 생성되면 데이터 사전에 저장되기 때문에 좁은 의미로는 카탈로그를 데이터 사전(Data Dictionary)이라고도 한다.
 - 시스템 카탈로그에 저장된 정보를 메타 데이터(Meta-Data)라고 한다.
 - 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색해 볼 수 있다.
 - INSERT, DELETE, UPDATE문으로 카탈로그를 갱신하는 것은 허용되지 않는다.
 - 데이터베이스 시스템에 따라 상이한 구조를 갖는다.
 - 카탈로그는 DBMS가 스스로 생성하고 유지한다.

답: 2번
생성, 유지 및 수정은 못 한다. 조회만 가능하다.

정보처리기사 필기 기출문제
24년 3회 1과목 2과목 3과목 4과목 5과목
24년 2회 1과목 2과목 3과목 4과목 5과목
24년 1회 1과목 2과목 3과목 4과목 5과목
23년 3회 1과목 2과목 3과목 4과목 5과목
23년 2회 1과목 2과목 3과목 4과목 5과목
23년 1회 1과목 2과목 3과목 4과목 5과목