정보처리기사 2020 1, 2회 통합 기출문제 풀이 - 3과목 ( 오답 )
본문 바로가기
정보처리기사/정보처리기사 필기

정보처리기사 2020 1, 2회 통합 기출문제 풀이 - 3과목 ( 오답 )

by 코딩하는 핑가 2020. 8. 12.
반응형

3과목 : 데이터베이스 구축

( CBT모의고사 기준 틀린 문항 : 43, 46, 51, 60 )

* 키워드 : 무결성제약조건, 논리적 설계/물리적 설계, 트랜잭션, 정규화 과정

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

1. 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만들 가져아 한다.

2. 기본키에 속해 있는 애트리뷰트는 널값이나 중복값을 가질 수 없다.

3. 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.

4. 외래키 값은 참조 릴레이션의 기본키 값과 동일해야 한다.

더보기

정답 및 해설

2. 기본키에 속해 있는 애트리뷰트는 널값이나 중복값을 가질 수 없다.

 

* 무결성 제약 조건

- 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미

- 데이터베이스에 들어있는 데이터의 정확성을 보장하기 위해 부정확한 자료가 데이터베이스 내에 저장되는 것 방지

- 무결성의 종류

>> 개체 무결성(Entity Integrity, 실체 무결성)

: 기본 테이블의 기본키를 구성하는 어떤 속성도 NULL 값이나 중복값을 가질 수 없다는 규정

>> 도메인 무결성(Domain Integrity, 영역 무결성)

: 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정

>> 참조 무결성(Referential Integrity)

: 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 하고, 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다는 규정

>> 사용자 정의 무결성(User-Defined Integrity)

: 속성 값들이 사용자가 정의한 제약 조건에 만족해야 한다는 규정

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

1. 레코드 집중의 분석 및 설계

2. 논리적 데이터베이스 구조로 매핑(mapping)

3. 트랜잭션 인터페이스 설계

4. 스키마의 평가 및 정제

더보기

정답 및 해설

1. 레코드 집중의 분석 및 설계

 

* 논리적 설계(데이터 모델링)

- 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환(매핑, mapping)시키는 과정이다.

- 개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화한다.

- 개념적 설계가 개념 스키마를 설계하는 단계라면 논리적 설계에서는 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계이다.

- 트랜잭션의 인터페이스를 설계한다.

- 관계형 데이터베이스라면 테이블을 설계하는 단계이다.

* 물리적 설계(데이터 구조화)

- 논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다.

- 다양한 데이터베이스 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정한다.

- 저장 레코드의 형식, 순서, 접근 경로와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사한다.

- 꼭 포함되어야 할 것은 저장 레코드의 양식 설계, 레코드 집중(Record Clustering)의 분석 및 설계, 접근 경로 설계 등이다.

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

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

1. Durability

2. Share

3. Consistency

4. Atomicity

더보기

​정답 및 해설

4. Atomicity

 

* 트랜잭션

- 데이터베이스의 상태를 변화시키기 위하여 논리적인 기능을 수행하는 하나의 작업 단위 또는 한꺼번에 수행되어야 하는 작업(연산)의 단위(모음)

- 하나의 트랜잭션은 Commit 되거나 Rollback 되어야 함

- 일반적으로 회복의 단위가 됨

- 회복 시 참조하는 지점인 구조점은 여러개 지정이 가능

- SAVEPOINT(CHECKPOINT) : ROLLBACK할 위치인 저장점 지정

* 트랜잭션의 특성

- Atomicity(원자성)

: 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit)되든지 아니면 전혀 반영되지 않도록 복구(Rollback)되어야 한다.

트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다.

타인에게 송금하는 도중 장애가 발생하였을 경우 부작용을 방지하는 특성

- Consistency(일관성)

: 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.

시스템이 가지고 있는 고정 요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.

- Isolation(독립성, 격리성, 순차성)

: 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.(접근 불가)

수행중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없다.

- Durability(영속성, 지속성)

: 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함

* 트랜잭션 용어

- Commit

: 트랜잭션의 실행을 성공적으로 완료 되었음을 선언하는 SQL문

한 작업의 논리적 단위가 성공적으로 끝났고, 데이터베이스가 다시 일관된 상태에 있으며, 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산

- Rollback

: 트랜잭션이 실행이 실패하였음을 알리는 연산자

트랜잭션이 수행한 결과를 원래의 상태로 원상 복귀시키는 연산

- Trigger

: 트랜잭션을 취소하는 이외의 조치를 명세할 필요가 있는 경우 메시지를 보내 어떤 값을 자동으로 갱신하도록 프로시저를 가동시키는 방법

 

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

1. 1NF를 만족하는 모든 도메인이 원자 값이어야 한다.

2. 1NF를 만족하고 키가 아닌 모든 애트리뷰트들이 기본 키에 이행적으로 함수 종속되지 않아야 한다.

3. 1NF를 만족하고 다치 종속이 제거되어야 한다.

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

더보기

​정답 및 해설

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

 

* 정규화

- 속성간의 중복성, 종속성을 피하기 위함 ( 개체간의 종속성 X )

- 중복을 최소화하고 삽입, 삭제, 갱신 이상의 발생을 방지

- 연산시간이 감소되는 것 X

- 하나의 릴레이션을 여러 개의 릴레이션으로 분해(결합X, 통합X)

- 정규형들은 차수가 높아질수록 만족시켜야 할 제약조건이 증가

* 이상 Anomaly

- 데이터의 중복으로 인하여 관계 연산을 처리할 때 곤란한 현상이 발생하는 것

- 여러 종속 관계를 하나의 릴레이션에 표현하기 때문에 발생

- 삽입 이상 : 불필요하고 원하지 않는 데이터도 함께 삽입해야 되거나 삽입이 되지 않는 경우

- 삭제 이상 : 한 튜플을 삭제함으로써 연쇄 삭제 현상으로 인 한 정보의 손실

- 갱신 이상 : 튜플 중에서 일부 속성만을 갱신함으로써 정보의 모순성이 발생하는 현상

* 정규화 과정

 

* 이 게시물은 시나공과 유튜버 주간컴공님의 영상, 이기쥬히 정보처리기사 요약집을 참고로 작성되었습니다.

 

* 기출문제 풀이

2020/08/12 - [정보처리기사/1과목 소프트웨어 설계] - 정보처리기사 2020 1, 2회 통합 기출문제 풀이 - 1과목 ( 오답 )

2020/08/12 - [정보처리기사/2과목 소프트웨어 개발] - 정보처리기사 2020 1, 2회 통합 기출문제 풀이 - 2과목 ( 오답 )

2020/08/12 - [정보처리기사/3과목 데이터베이스 구축] - 정보처리기사 2020 1, 2회 통합 기출문제 풀이 - 3과목 ( 오답 )

2020/08/18 - [정보처리기사/4과목 프로그래밍언어 활용] - 정보처리기사 2020 1, 2회 통합 기출문제 풀이 - 4과목 ( 오답 )

2020/08/19 - [정보처리기사/5과목 정보시스템 구축관리] - 정보처리기사 2020 1, 2회 통합 기출문제 풀이 - 5과목 ( 오답 )

반응형

댓글