본문 바로가기

Challenge/자격증

2. 정보처리기사 '데이터 입출력 구현' 키워드 정리 및 문제

728x90
반응형

 

1-1. 논리 데이터모델 검증

 

 

데이터 모델링:

  • 기업의 정보 구조를 실체(Entity)와 관계(Relation)를 중심으로 명확하고 체계적으로 표현하여 문서화하는 기법을 말한다.
  • 목적 - 연관 조직의 정보요구에 대한 정확한 이해를 할 수 있고 사용자, 설계자, 개발자 간에 효율적인 의사소통 수단을 제공한다.
  • 특성 - 데이터 중심 분석을 통한 업무 흐름 파악이 용이하고 데이터 무결성을 보장할 수 있다. 또한 데이터의 공유를 통해서 중복을 제거하고 일관성 있는 정보를 제공받을 수 있다.

 

 

데이터 모델링 절차:

 

 

 

 

  • 개념 데이터 모델링 - 전사의 정보요건을 표현한 상위수준의 모델
  • 논리 데이터 모델링 - 개념모델로부터 업무영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델
  • 물리 데이터 모델링 - 설계단계에서 시스템의 설계적 및 정보 요건을 정확하고 완전하게 표현한 모델

 

 

정규화(Normalization):

  • 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념
  • 종류 - 제1정규화, 제2정규화, 제3정규화, 보이스-코드 정규화 제4정규화, 제5정규화

 

 

이상현상(Anomaly)

  • 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상
  • 삽입, 삭제, 갱신 이상현상이 있다.

 

 


 

 

 

문제1: 다음은 데이터베이스 설계(모델링) 과정을 간략히 표현한 것이다. 괄호 안에 들어갈 내용을 순서대로 나열하시오.

요구사항 분석 -> (    ) -> (     ) -> (       ) -> 구현

 

 

정답:

더보기

개념적 설계 - 논리적 설계 - 물리적 설계

 

 


 

 

2-1. 물리 데이터모델 설계

 

 

 

반정규화(Denormalization)

  • 정규화를 수행하면 종속성, 활용성은 향상되지만, 수행속도가 증가하는 경우가 발생하여 이를 극복하기 위해 성능에 중점을 두어 정규화하는 방법을 말한다.
  • 유형 - 중복 테이블 추가, 테이블 조합, 테이블 분할, 테이블 제거, 컬럼의 중복화

 

 


 

 

문제1: 데이터베이스 성능 개선과 관련하여 '데이터베이스 반정규화'란 무엇인지 설명하시오.

 

 

 

정답:

더보기

시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로, 의도적으로 정규화 원칙을 위배하는 행위

 

 


 

 

2-2. 물리 데이터저장소 구성

 

 

 

테이블 제약조건

  • Delete Constraint - 참조된 기본키의 값이 삭제될 경우의 처리내용을 정의한다.
  • Update Constraint - 참조된 기본키의 값이 수정될 경우의 처리내용을 정의한다.

 

 

 

인덱스 설계

  • 인덱스 적용 기준 - 인덱스 칼럼의 분포도가 10 ~ 15% 이내인 경우
  • 분포도 = ( 1 / 칼럼값의 종류) X 100
    = ( 칼럼값의 평균 Row수 / 테이블의 총 Row수 ) X 100

 

 

 

뷰 설계

  • 뷰 속성
    • REPLACE - 뷰가 이미 존재하는 경우 재생성
    • FORCE - 기본 테이블의 존재 여부에 관계 없이 뷰 생성
    • NOFORCE - 기본 테이블이 존재할 때 만 뷰 생성
    • WITH CHECK OPTION - Sub-Query 내의 조건을 만족하는 행만 변경
    • WITH READ ONLY - DML 작업 불가

 

 

 

클러스터 설계

  • 고려사항
    • Union, Distinct, Order by, Group by가 빈번한 칼럼이면 고려해 보아야 한다.
    • 수정이 자주 발생하지 않는 칼럼은 고려 대상이다.

 

 

 

파티션 설계

  • 범위분할(Range Partitioning) - 지정한 열의 값을 기준으로 분할
  • 해시분할(Hash Partitioning) - 해시 함수에 따라 데이터를 분할
  • 조합분할(Composite Partitioning) - 범위분할에 의해 데이터를 분할한 다음 해시 함수를 적용하여 다시 분할

 

 

 

디스크 구성 설계

  • 정확한 용량을 산정하여 디스크 사용의 효율을 높인다.
  • 업무량이 집중되어 있는 디스크를 분리하여 설계함으로서 집중화된 디스크에 대한 입출력 부하를 분산한다.

 

 


 

 

문제1: 다음은 클러스터 설계 시 고려 사항이다. 괄호 (   ) 안에 들어갈 단어를 선택하여 작성하시오.

UNION, DISTINCT, ORDER BY, GROUP BY가 ( 드문 / 빈번한 ) 칼럼이면 검토 대상이다.
수정이 자주 ( 발생하는 / 발생하지 않는 ) 칼럼은 검토 대상이다.

 

 

정답:

더보기

1. 빈번한

2. 발생하지 않는

 

 

 


 

3-1. 데이터 조작 프로시저 개발

 

 

 

데이터 정의어(DDL : Data Definition Language)

  • 데이터를 저장하고 있는 테이블 등의 구조를 생성하고 변경하기 위하여 사용되는 명령어
  • 종류 - CREATE, DROP, RENAME, ALTER, TRUNCATE

 

 

데이터 조작어(DML : Data Manipulation Language)

  • 데이터베이스에 있는 데이터를 변경하거나 검색하기 위하여 사용되는 명령어
  • 종류 - SELECT, INSERT, UPDATE, DELETE

 

 

데이터 제어어(DCL : Data Control Language)

  • 사용자별로 데이터베이스에 접근할 수 있는 권한을 부여하거나 회수하는 명령어들을 말한다.
  • 종류 - ROLE, GRANT, REVOKE

 

 

트랜잭션 제어어(TCL : Transaction Control Language)

  • 트랜잭션의 DML작업단위를 제어하는 명령어
  • 종류 - COMMIT, ROLLBACK, SAVEPOINT

 

 

데이터 검색어(SELECT)

  • 문법 - ex) SELECT * FROM '학생' WHERE '이름' = '모히또';
  • DISTINCT - 중복되는 행을 제거
  • * - 테이블의 모든 column을 출력
  • alias - 해당 column에 대해서 다른 이름을 부여할 때 사용
  • WHERE - 조건을 만족하는 행들만 검색
  • GROUP BY - 그룹핑하고자 하는 단위 지정
  • HAVING - 그룹핑한 결과값에 대한 조건 검색
  • ORDER BY - 질의 결과 정렬을 위한 옵션(ASC: 오름차순, DESC : 내림차순)

 

 

 


 

 

 

문제1: 데이터 제어어(DCL) 중 GRANT 에 대하여 설명하시오.

 

 

 

정답:

더보기

데이터베이스 사용자에게 사용 권한을 부여하는데 사용하는 명령어

 

 


 

 

3-2. 데이터 조작 프로시저 테스트

 

 

 

PL/SQL 테스트

  • 메시지를 버퍼에 저장하고 버퍼로부터 메시지를 읽어오기 위한 인터페이스 패키지 DBMS_OUTPUT을 코드에 포함한다.
  • DBMS_OUTPUT.DISABLE - 메시지 버퍼 내용 삭제

 

  • DBMS_OUTPUT.ENABLE - 메시지 버퍼 내용 할당

 

  • DBMS_OUTPUT.PUT - 메시지의 마지막 라인 끝에 신규라인 문자(EOL)가 추가

 

  • DBMS_OUTPUT.GET_LINE - 한 번 호출될 때마다 하나의 라인만을 읽어옴
  • DBMS_OUTPUT.GET_LINES - 지정된 라인을 모두 읽어들임

 

 


 

 

문제1: DBMS_OUTPUT 패키지의 개념을 간략히 서술하시오.

 

 

 

정답:

더보기

메시지를 버퍼에 저장하고 버퍼로부터 메시지를 읽어오기 위한 인터페이스를 제공하는 패키지이다.

 

728x90
반응형