2022 정보처리기사 실기-4

최진혁·2022년 4월 26일
0

2022 정보처리기사

목록 보기
4/10

정보처리기사 실기 (데이터 입출력 구현)

 

데이터 모델)

- 현실 세계의 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형

- 관계, 속성, 개체

 

데이터 모델에 표시할 요소)

- 연산 : 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구

- 제약조건 : 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

- 구조 : 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현

 

이상)

- 테이블에서 일부 속성들의 종속으로 인해 데이터의 중복이 발생하고,

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

 

정규화)

- 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정

- 정규화의 목적은 가능한 한 중복을 제거하여 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이는 것

- 제1정규형, 제2정규형, 제3정규형, BCNF, 제4정규형, 제5정규형

- 도부이결다조

 

반정규화)

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

- 테이블 통합 : 입력, 수정, 삭제 규칙이 복잡해질 수 있음

- 테이블 분할 : 수행 속도가 느려질 수 있음

- 중복 속성 추가 : 저장 공간의 지나친 낭비를 고려

 

엔티티 테이블 변환 규칙)

- 엔티티 : 테이블

- 속성 : 컬럼

- 주 식별자 : 기본키

- 외부 식별자 : 외래키

- 관계 : 관계

 

속성을 컬럼으로 변환)

- 논리 데이터 모델에서의 Primary UID는 물리 데이터 모델의 기본키로 만듦

- 다른 엔티티와의 관계로 인해 생성된 Primary UID는 물리 데이터 모델의 기본키로 만듦

- 논리 모델링에서 정의된 Secondary UID 및 Alternate Key는 물리 모델에서 유니크키로 만듦

 

논리 데이터 모델 물리 데이터 모델 변환)

- 슈퍼타입 기준 테이블 변환

- 서브타입 기준 테이블 변환

- 개별타입 기준 테이블 변환

 

인덱스)

- 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조

- 클러스터드 인덱스, 넌클러스터드 인덱스

 

트리 기반 인덱스)

- 인덱스를 저장하는 블록들이 트리 구조를 이루고 있는 것

 

비트맵 인덱스)

- 인덱스 컬럼의 데이터를 Bit 값인 0 또는 1로 변환하여 인덱스 키로 사용하는 방법

 

도메인 인덱스)

- 개발자가 필요한 인덱스를 직접 만들어 사용하는 것

 

뷰)

- 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블

 

클러스터)

- 데이터 저장 시 데이터 액세스 효율을 향상시키기 위해 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법

- 처리 범위가 넓은 경우에는 단일 테이블 클러스터링을, 조인이 많이 발생하는 경우에는 다중 테이블 클러스터링을 사용

클러스터 대상 테이블)

- 분포도가 넓은 테이블

- 대량의 범위를 자주 조회하는 테이블

- 입력, 수정, 삭제가 자주 발생하지 않는 테이블

- 자주 조인되어 사용되는 테이블

- ORDER BY, GROUP BY, UNION이 빈번한 테이블

 

파티션)

- 데이터베이스에서 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 것

- 장점)

데이터 접근 시 액세스 범위를 줄여 쿼리 성능이 향상됨

파티션별로 데이터가 분산되어 저장되므로 디스크의 성능이 향상됨

파티션별로 백업 및 복구를 수행하므로 속도가 빠름

시스템 장애 시 데이터 손상 정도를 최소화할 수 있음

데이터 가용성이 향상됨

파티션 단위로 입출력을 분산시킬 수 있음

- 단점)

하나의 테이블을 세분화하여 관리하므로 세심한 관리가 요구됨

테이블간 조인에 대한 비용이 증가함

용량이 작은 테이블에 파티셔닝을 수행하면 오히려 성능이 저하됨

- 종류)

범위 분할 : 지정한 열의 값을 기준으로 분할

해시 분할 : 해시 함수를 적용한 결과 값에 따라 데이터를 분할

조합 분할 : 범위 분할로 분할한 다음 해시 함수를 적용하여 다시 분할

profile
웹 개발

0개의 댓글