정보처리기사

2020년도 6월 정보처리기사 기출 분석 3과목 : 데이터베이스 구축

배채 2025. 1. 23. 17:05

3과목 데이터베이스 구축


41. SQL의 분류 중 DDL에 해당하지 않는 것은?

->UPDATE

 

UPDATE: 데이터베이스의 데이터 값을 수정하는 DML 명령어.


ALTER: 기존 데이터베이스 객체의 구조(예: 테이블) 변경을 위한 DDL 명령어.
DROP: 데이터베이스 객체를 삭제하기 위한 DDL 명령어.
CREATE: 새로운 데이터베이스 객체를 생성하기 위한 DDL 명령어.


42. 다음 두 릴레이션에서 외래키로 사용된 것은? (단 밑줄 친 속성은 기본키이다.)

과목(과목번호,과목명)
수강(수강번호, 학번, 과목번호, 학기)

->과목번호

 


기본키: 각 튜플을 고유하게 식별하는 속성.
외래키: 다른 릴레이션(테이블)에서의 기본키를 참조하는 속성.
과목 릴레이션의 기본키: 과목번호는 다른 속성(과목명 등)과 조합하여 릴레이션의 각 튜플을 고유하게 식별하는 주요 속성이고, 이는 수강 릴레이션에서 외래키로 참조되기 때문에 과목번호가 외래키인 것이다


43. 데이터 무결성 제약조건 중 "개체 무결성 제약"조건에 대한 설명으로 맞는 것은?

-> 기보니에 속해 있는 애트리뷰트는 널값이나 중복값을 가질 수 없다.

 

 

개체 무결성 제약


개체 무결성 제약조건은 각 릴레이션 내에서 기본키 속성의 고유성과 일관성을 보장하기 위한 규칙이다. 이를 통해 각 튜플은 반드시 기본키를 가지고 있어야 하며, 이 기본키는 다음과 같은 성질을 가진다.
널값: 기본키는 널값을 가질 수 없다. 이는 기본키로 지정된 속성이 값이 존재해야 함을 의미한다.
중복값: 기본키는 중복될 수 없다. 즉, 각 튜플은 고유해야 하며 동일한 기본키 값을 가진 두 개의 튜플이 존재할 수 없다.

 

①: 이것은 도메인 무결성 제약에 해당한다. 개체 무결성과는 다른 개념이다.
③: 외래키는 참조할 수 있는 기본키 값이어야 하지만, 이는 개체 무결성하의 개념이 아니다.
④: 외래키의 참조는 관련 릴레이션의 기본키와 일치해야 하지만, 이 설명은 개체 무결성보다는 참조 무결성에 더 적합하다.


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

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

 

 

뷰(View)란 무엇인가?
뷰는 SQL에서 데이터를 조회하기 위한 가상의 테이블이다. 뷰는 실제 데이터를 저장하지 않고, 기본 테이블로부터 데이터를 조회하여 제공한다. 뷰를 사용하면 특정 조건에 맞는 데이터만을 필터링하거나 다른 테이블과의 조인 결과를 보여줄 수 있어 데이터베이스의 보안과 논리적 독립성을 유지하는 데 도움이 된다.



CREATE 문을 사용하여 정의: 맞는 설명이다. 뷰는 CREATE VIEW 문을 통해 정의된다.
논리적 독립성 제공: 맞는 설명이다. 뷰를 사용하면 데이터베이스의 구조가 변경되더라도, 뷰를 사용하는 응용 프로그램은 영향을 받지 않는다.
DROP 문을 사용하여 제거: 맞는 설명이다. 뷰를 제거할 때는 DROP VIEW 문을 사용한다.


45. 다음 SQL문의 실행 결과는?

->25,000

 


46. 데이터베이스 논리적 설계 단계에서 수행하는 작업이 아닌 것은?

->레코드 집중의 분석 및 설계

 

레코드 집중의 분석 및 설계: 데이터베이스의 논리적 설계 단계에서는 실제 데이터의 구조를 모델링하지만, 레코드 집중이란 구체적인 물리적 설계 단계에서 적용이 되며, 논리적 설계 단계에 반드시 포함되지는 않는다.

 

논리적 데이터베이스 구조로 매핑

트래잭션 인터페이스 설계

스키마의 평가 및 정제


47. 이행적 함수 종속 관계를 의미하는 것은?

-> A->B이고 B->C일 때, A->C를 만족하는 관계

 

이행적 함수 종속 관계
정의: 이행적 함수 종속 관계란, 만약 A가 B에 함수적으로 종속하고(B -> C), 동시에 B가 C에 함수적으로 종속하는 경우(A -> B), A가 C에 함수적으로 종속된다고 간주되는 관계를 의미한다. 이를 수식으로 표현하면 다음과 같다.A→B이면서 B→C일 때  A→C가 성립한다.


예시 설명
A→B: A가 B를 결정한다는 것.
B→C: B가 C를 결정한다는 것.
이행적 관계에 따라 A도 C를 결정할 수 있습니다. 즉, A의 값에 따라서 C의 값도 유추할 수 있습니다.


48. 하나의 애트리뷰트가 가질 수 있는 원자값들의 집합을 의미하는 것은?

->도메인

 

하나의 애트리뷰트가 가질 수 있는 원자값들의 집합을 의미하는 것은 "도메인"이다. 도메인은 특정 애트리뷰트가 가질 수 있는 값의 종류와 범위를 정의

튜플: 데이터베이스의 행(row)을 나타내며, 릴레이션(테이블) 내의 한 레코드를 의미한다. 튜플은 여러 애트리뷰트를 포함하므로 도메인과는 다르다.

엔티티: 데이터베이스 설계에서 특정한 객체를 나타내는 것으로, 각각의 엔티티는 여러 애트리뷰트를 가질 수 있다. 예를 들어, "학생"이라는 엔티티는 학번, 이름, 전화번호 등의 애트리뷰트를 포함한다.

다형성: 프로그래밍 언어에서 사용되는 개념으로, 여러 형태를 가질 수 있는 특성을 의미한다. 데이터베이스와 관련된 애트리뷰트의 원자값 집합 개념과는 직접적인 관계가 없다.


49. STUDENT테이블에 독일어과 학생 50명, 중국어과 학생 30명, 영어영문학과 학생 50명의 정보가 저장되어 있을 때, 다음 두 SQL문의 실행 결과 튜플 수는?(단, DEPT컬럼은 학과명)

a. SELECT DEPT FROM STUDENT;
b. SELECT DISTINCT DEPT FROM STUDENT;

->a:130, b:3

 

SQL문 a: SELECT DEPT FROM STUDENT;
이 쿼리는 STUDENT 테이블의 DEPT 컬럼의 모든 값을 가져온다.
학생 수에 관계없이 DEPT 컬럼의 값이 중복된다면, 튜플 수는 130(50 + 30 + 50)이다.
결과: 130개 튜플


SQL문 b: SELECT DISTINCT DEPT FROM STUDENT;
이 쿼리는 DEPT 컬럼에서 중복된 값을 제거하고 고유한 값만 가져온다.
독일어과, 중국어과, 영어영문학과의 세 가지 학과만 있는 경우, DEPT 컬럼의 고유 값은 3개이다.
결과: 3개 튜플


50. 관계대수 연산에서 두 릴레이션이 공통으로 가지고 있는 속성을 이용하여 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산은? 

->▷◁

순수 관계대수 연산자


51. 트랜잭션의 특성 중 다음 설명에 해당하는 것은?

트랜잭션의 연산은 데이터베이스에 모두 반영되는지 아니면 전형 반영되지 않아야 한다.

->Atomicity

 

Durability(내구성): 트랜잭션이 완료된 후 그 결과는 영구적으로 데이터베이스에 저장되어야 하는 특성.
Share(공유성): 트랜잭션이 동시에 여러 데이터베이스 사용자에게 영향을 미칠 수 있는 특성. (정확한 트랜잭션 특성이 아님)
Consistency(일관성): 트랜잭션이 완료되면 데이터베이스가 완전하고 일관된 상태여야 하는 특성.


52. 분산 데이터베이스 목표 중 "데이터베이스의 분산된 물리적 환경에서 특정 지역의 컴퓨터 시스템이나 네트워크에 장애가 발생해도 데이터 무결성이 보장된다"는 것과 관계있는 것은?

->장애 투명성

 

분산 데이터베이스는 여러 컴퓨터 시스템에 분산되어 저장된 데이터베이스들의 집합이다. 이 환경에서 "특정 지역의 컴퓨터 시스템이나 네트워크에 장애가 발생해도 데이터 무결성이 보장된다"는 설명은 장애 투명성과 관련된다. 장애 투명성은 사용자가 데이터 소스의 장애 유무를 인식하지 못하게 하여 시스템의 연속성을 보장하는 특성을 의미한다.

병행 투명성: 여러 사용자가 동시에 데이터베이스에 접근할 때, 각 사용자의 작업이 서로 영향을 미치지 않도록 하는 특성.
위치 투명성: 데이터가 물리적으로 어디에 저장되어 있는지에 대한 정보를 사용자에게 숨기는 특성.
중복 투명성: 데이터의 복사본이 여러 장소에 분산되어 있을 때, 사용자가 이를 인식하지 못하고 한 곳에서만 데이터에 접근하는 것처럼 느끼도록 하는 특성.


53. 데이터베이스 시스템에서 삽입, 갱신 삭제 등의 이벤트가 발생할 때마다 작업이 자동으로 수행되는 절차형 SQL은?

-> 트리거

 

트리거는 데이터베이스에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때 자동으로 특정 작업을 수행하는 절차형 SQL이다.

 

무결성(integrity): 데이터의 정확성과 일관성을 보장하기 위한 제약조건이나 규칙을 말한다. 무결성은 트리거와는 다른 개념이며, 특정 작업을 자동으로 수행하는 기능을 포함하지 않는다.


잠금(lock): 데이터베이스의 특정 자원에 대한 접근을 제어하기 위한 메커니즘이다. 동시 접근시 데이터의 무결성을 유지하기 위해 사용되며, 자동 작업 수행과는 관련이 없다.


복귀(rollback): 트랜잭션의 오류 발생 시 이전 상태로 데이터를 되돌림으로써 데이터의 일관성을 유지하는 기능이다. 이 또한 자동 작업을 수행하는 기능이 아니다.


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

-> CASCADE

 

CLUSTER: 데이터베이스 테이블의 데이터를 클러스터 방식으로 저장하는 옵션으로, 참조 무결성과는 관련이 없다.
SET-NULL: 부모 테이블의 레코드가 삭제될 경우, 자식 테이블의 해당 외래키 값을 NULL로 설정하는 옵션이다. 자식 레코드는 삭제되지 않는다.
RESTRICTED: 부모 테이블의 레코드가 삭제될 경우, 해당 레코드를 참조하고 있는 자식 레코드가 존재하면 삭제를 허용하지 않는 옵션이다.


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

->SELECT, INSERT, DELETE, UPDATE

 

DROP, ALTER는 DDL


56. 데이터 제어어인(DCL)의 기능으로 옳지 않은 것은?

->논리적, 물리적 데이터 구조 정의

 

DCL은 데이터베이스의 보안 및 접근 제어를 담당하는 SQL 명령어로, 주로 GRANT와 REVOKE 명령어를 사용하여 사용자에게 권한을 부여하거나 회수하는 기능을 제공한다. DCL은 데이터 보안 및 접근 제어에 중점을 두며, 일반적으로 데이터의 물리적이나 논리적 구조를 정의하는 역할은 수행하지 않는다.


① 데이터 보안
DCL의 주요 기능 중 하나로, 데이터베이스 사용자에 대한 접근 권한을 관리하는 역할을 한다. 
③ 무결성 유지
DCL의 기능 중 일부로, 데이터의 무결성을 보장하기 위해 권한 관리 및 사용자 접근 제어가 필요하다. 
④ 병행수행 제어
DCL은 데이터베이스의 접근과 보안을 관리하며, 병행 제어는 데이터 무결성을 유지하기 위한 기법으로, DTL(Transaction Control Language) 또는 DBMS 차원에서 다루게 된다. 


57. 병행제어의 로킹(Locking)단위에 대한 설명으로 옳지 않은 것은?

-> 로킹 단위가 작아지면 로킹 오버헤드가 감소한다.

 

로킹 단위가 작아지면 로킹 오버헤드가 감소한다.
로킹 단위가 작아지면 한 번에 잠금되는 데이터의 양이 적어지기 때문에 로킹을 관리하는데 더 많은 오버헤드가 발생할 수 있다. 

 

데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.
로킹 단위는 데이터베이스 관리 시스템(DBMS)에서 제어하는 단위로, 데이터베이스, 파일, 레코드 등 다양한 수준에서 로킹을 수행할 수 있다. 올바른 설명이다.


로킹 단위가 작아지면 데이터베이스 공유도가 증가한다.
로킹 단위가 작아지면 더 많은 트랜잭션이 동시에 데이터에 접근할 수 있게 되어 데이터베이스의 공유도가 증가한다. 따라서 이 설명은 올바르다.


한꺼번에 로킹할 수 있는 객체의 크기를 로킹 단위라고 한다.
로킹 단위는 동시에 로킹할 수 있는 데이터의 범위를 의미하며, 이는 로킹의 크기와 관계가 있다. 따라서 적절한 설명이다.


58. E-R 모델의 표현 방법으로 옳지 않은 것은? 

->속성 : 오각형

 


 

59. 다음 설명의 (  )안에 들어갈 내용으로 적합한 것은?

후보키는 릴레이션에 있는 모든 튜플에 대해 유일섬과 (  )을 모두 만족시켜야 한다.

->최소성


60. 정규화 과정 중 1NF에서 2NF가 되기 위한 조건은?

->1NF를 만족하고 키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속 관계를 만족해야 한다.

 

정규화는 관계형 데이터베이스에서 데이터 중복성을 최소화하고 무결성을 유지하기 위해 수행하는 과정이다. 1NF(제1정규형)에서 2NF(제2정규형)로 넘어가기 위해서는 다음과 같은 조건이 있다.


1NF를 만족하는 모든 도메인이 원자 값이어야 한다.
이는 1NF의 정의로서, 1NF 상태에서는 모든 속성이 원자 값을 가져야 하는 조건이다. 그러나 2NF로 이행하기 위한 조건은 아니다.


1NF를 만족하고 키가 아닌 모든 애트리뷰트들이 기본 키에 이행적으로 함수 종속되지 않아야 한다.
이 선택지는 2NF의 조건과 무관하다. 키가 아닌 속성이 이행적으로 함수 종속되지 않도록 하는 것은 기본 키에 대한 완전 함수적 종속의 조건을 충족하지 않는다.


1NF를 만족하고 다치 종속이 제거되어야 한다.
다치 종속은 4NF(제4정규형)와 관련된 내용이다. 따라서 2NF로의 조건과는 관련이 없다.

 

반응형