본문 바로가기

2020 정보처리기사/2020 실기 정리 (수제비 2020 정보처리기사 실기 Vol.2 기준)

2020 정보처리기사 - 데이터 입출력 구현

ㆍ논리 데이터 모델링

개념 모델로부터 업무 데이터, 규칙을 구체적으로 표현한 모델

 

ㆍ논리 데이터 모델링 특징

정규화 : 모든 데이터를 정규화 하여 모델링

포용성 : 모든 엔티티 타입, 속성, 관계, 프로세스를 포함

완전성 : 모든 규칙과 관계를 완전하고 정확하게 표현

독립성 : 성능, 제약사항에 독립적인 모델

 

ㆍ논리 데이터 모델링 속성

개체, 속성, 관계

 

ㆍE-R 모델

요구사항으로부터 얻어낸 정보들을 개체, 속성, 관계로 기술한 모델

 

ㆍ정규화

RDBMS의 설계에서 중복을 최소화하여 데이터를 구조화하는 프로세스

 

ㆍ이상현상

데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상

삽입이상, 삭제이상, 갱신이상

 

ㆍ정규화의 단계

1NF(원자값) - 2NF(부분 함수 종속 제거) - 3NF(이행함수 종속 제거) - BCNF(결정자 함수이면서 후보키 아닌 것 제거) - 4NF(다치 종속성 제거) - 5NF(조인 종속성 제거)

 


ㆍ물리 데이터 모델링

논리모델을 적용하고자 하는 기술에 맞도록 상세화하는 과정

 

ㆍ물리 데이터 모델링 변환 절차

개체를 테이블로 변환 - 속성을 컬럼으로 변환 - UID를 기본키로 변환 - 관계를 외래키로 변환 - 컬럼 유형과 길이 정의 - 반 정규화 실행

 

ㆍ참조무결성 제약조건

릴레이션과 릴레이션 사이에 대해 참조 일관성을 보장하기 위한 조건.

 

ㆍ인덱스

검색 연산의 최적화를 위한 데이터구조

 

ㆍ인덱스 컬럼 선정 기준

분포도 좋은 컬럼, 자주 조합되는 컬럼은 결합인덱스로, 수정이 빈번하지 않은 컬럼.

 

ㆍ인덱스 설계시 고려 사항

너무 많은 인덱스는 오버헤드 초래, 추가적인 저장공간 필요, 넓은 범위를 인덱스 처리 시 오버헤드 발생.

 

ㆍ뷰 속성

속성 설명
REPLACE 뷰가 이미 존재하는 경우 재생성
FORCE 뷰 테이블의 존재 여부에 관계없이 뷰 생성
NOFORCE 기본 테이블이 존재할 때 뷰 생성
WITH CHECK OPTION  서브 쿼리 내 조건을 만족하는 행만 변경
WITH READ ONLY  데이터조작어 작업 불가

 

ㆍ클러스터 적용 기준

분포도 넓을수록 유리, 액세스 효율 향상을 위한 물리적 기법, 대량의 범위를 자주 액세스하는 경우

 

ㆍ클러스터 설계 시 고려 사항

검색 효율은 높아지나, 입력,수정,삭제 시 부하가 증가한다. 수정이 자주 발생 하지 않는 경우 검토.

 

ㆍ파티션 종류

종류 설명
레인지 파티셔닝 연속적인 숫자나 날짜 기준으로 파티셔닝. 손쉬운 관리 기법
해시 파티셔닝 파티션 키의 해시 함수 값에 의한 파티셔닝. 균등한 데이터 분할
리스트 파티셔닝 특정 파티션에 저장 될 데이터에 대한 명시적 제어가 가능한 파티셔닝.
컴포지트 파티셔닝 범위분할 이후 해시 함수를 적용하여 재분할 하는 파티셔닝. 

 

ㆍ파티션 장점

성능 향상, 가용성 향상, 백업가능, 경합 감소


ㆍ프로시저

SQL을 이용해 데이터를 조작하는 프로그램. 일정한 조건이 되면 자동으로 수행

 

ㆍPL/SQL

표준 SQL을 기본으로 ORACLE에서 개발한 데이터 조작어

 

ㆍPL/SQL 작성 절차

드라이버 로딩 - DB연결 - 쿼리전달 - 결과 수신

 

ㆍDBMS_OUTPUT

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

 

 

ㆍ쿼리 튜닝

프로시저의 SQL 수정을 통해 최소의 시간으로 결과를 얻기 위한 방법.

 

ㆍ쿼리 튜닝 절차

문제있는 SQL 식별 - 옵티마이저 통계 확인 - SQL문 재구성 - 인덱스 재구성 - 실행계획 유지관리

 

ㆍ옵티마이저

SQL을 가장 빠르고 효율적으로 최적의 경로를 생성해주는 DBMS의 핵심 엔진.

규칙기반, 비용기반 옵티마이저로 나뉨.

옵티마이저가 생성한 SQL경로를 실행계획 이라고 한다.

 

ㆍ옵티마이저 역할

쿼리 변환, 비용 산정, 계획 생성

 

ㆍ힌트

SQL 성능 개선의 핵심 부분으로, 옵티마이저의 실행계획을 원하는대로 변경.

 

ㆍSQL문 재구성

특정 값 지정, 별도의 SQL 사용, 힌트 사용, HAVING 미사용, 인덱스만 질의사용

 

ㆍ인덱스 재구성

자주 쓰는 컬럼 선정, 결합 인덱스 사용, SORT 명령어 생략, 분포도 고려, 변경 적은 컬럼 선정