본문 바로가기
정보처리기사

[정보처리기사 실기] 데이터 입출력 구현, 진행 테이블

by reve5 2022. 5. 2.



https://cafe.naver.com/soojebi/110143



 

[2022년 제1회 기사 실기 출제예상 문제] (3과목) 데이터 입출력 구현 - 8

대한민국 모임의 시작, 네이버 카페

cafe.naver.com

 

 




정답 : 진행 테이블

이력 관리 등의 목적으로 추가하는 테이블, 적절한 데이터양의 유지와 활용도를 높이기 위해 기본키를 적절히 설정.

> 테이블 분할 기법, 기본키 적절히 설정, 목적 추가




반 정규화 기법

반정규화 기법

1. 테이블

1.1 테이블 병합
1:1 관계, 1:M관계를 통합하여 조인 횟수를 줄여 성능을 향상
슈퍼타입/서브타입 테이블 통합 통해 성능 향상

1.2 테이블 분할
테이블을 수식 또는 수평으로 분할하는 것으로 파티셔닝이라고 함
* 수평 분할 : 테이블 분할에 레코드를 기준으로 활용
* 수직 분할 : 하나의 테이블이 가지는 컬럼의 개수가 증가하는 경우 활용 / 갱신 위주의 속성 분할, 자주 조회되는 속성 분할, 크기가 큰 속성 분할, 보안을 적용해야 하는 속성 분할

1.3 중복 테이블 추가
대량의 데이터에 대한 집계 함수(group by, sum 등)를 사용하여 실시간 통계정보를 계산하는 경우에 효과적인 수행을 위해 별도의 통계 테이블을 두거나 중복 테이블을 추가
* 집계 테이블 추가 : 집계 데이터를 위한 데이블을 생성하고, 각 원본 테이블에 트리거를 설정하여 사용하는 것으로, 트리거의 오버헤드에 유의 필요
* 진행 테이블 추가 : 이력 관리 등의 목적으로 추가하는 테이블로, 적절한 데이터양의 유지와 활용도를 높이기 위해 기본키를 적절히 설정
* 특정 부분만을 포함하는 테이블 추가 : 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블 생성


2. 컬럼

2.1 컬럼 중복화
조인 성능 향상을 위한 중복 허용

3. 관계

3.1 중복관계 추가
데이터를 처리하기 위한 여러 경로를 거쳐 조인이 가능하지만, 이때 발생할 수 있는 성능 저하를 예방하기 위해 추가적 관계를 맺는 방법

댓글