본문 바로가기

정보처리기사 실기/2020 정처기 암기 모음

[2020 정보처리기사 실기 암기] 2-1. 논리 데이터저장소 확인, 물리 데이터 저장소 설계

[논리 데이터저장소 확인]

 

* 논리 데이터 모델링 속성은 개체, 속성, 관계로 구성된다.

 

* 논리 데이터 모델링

  데이터베이스 설계 프로세스의 기초 설계 단계로 비즈니스 정보의 구조와 규칙을 명확하게 표현할 수 있는 기법

 

* 개체-관계 모델

현실세계에 존재하는 데이터와 그들 간의 관계이해할 수 있는 형태로 표현하기 위해 널리 사용되는 모델

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

 

* 정규화 : 관계형 데이터베이스 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스이다.

 

* JDBC : 자바에서 DB를 사용하도록 연결해주는 응용 프로그램 인터페이스

 

* 데이터베이스 이상현상

 - 삽입이상 : 정보 저장 시 해당 정보의 불필요한 세부정보를 입력해야 하는 경우

 - 삭제이상 : 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우

 - 갱신이상 : 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우

 

* 정규화 단계

 - 1NF : 원자값으로 구성

 - 2NF : 부분함수 종속 제거 (완전 함수적 종속관계)

 - 3NF : 이행함수 종속 제거

 - BCNF : 결정자 함수이면서 후보키가 아닌 것 제거

 - 4NF : 다치 종속성 제거

 - 5NF : 조인 종속성 제거

 

* 논리 데이터 모델링 특징

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

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

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

 - 독립성 : 성능, 제약사항에 독립적인 모델, 특정 DBMS로부터 독립적인 성질

 

 

[물리 데이터 저장소 설계]

 

* 물리 데이터 모델링 : 논리모델을 적용하고자 하는 기술에 맞도록 상세화해 가는 과정

 

* 물리 데이터 모델링 절차

1. 개체 테이블로 변환

2. 속성을 컬럼으로 변환

3. UID를 기본키로 변환

4. 관계를 외래키로 변환

5. 컬럼 유형과 같이 정의

6. 반정규화 수행

 

* 관계를 외래키로 변환하는 방법

외래키 명은 기본키 이름 그대로 사용하거나 다른 의미를 가질 때 변경 가능

순환 관계에서 자신의 기본키는 외래키로 정의

 

* 분포도 = (1/ 컬럼 값의 종류) *100 = (컬럼 값의 평균 row 수/테이블 총 row 수) * 100

 

* 인덱스 : 검색 연산을 최적화하기 위해 데이터베이스 내 열에 대한 정보로 구성한 데이터 구조

 

* 인덱스 컬럼 선정 기준

분포도가 좋은 컬럼은 단독적으로 생성

자주 조합되어 사용되는 컬럼은 결합 인덱스로 생성

결합 인덱스는 구성되는 컬럼 순서 선정(사용빈도, 유일성, 정렬, ) 에 유의한다

가능한 한 수정이 빈번하지 않은 컬럼을 선정

 

* 지나치게 많은 인덱스는 오버헤드로 작용

인덱스는 추가적인 저장공간이 필요함

넓은 범위를 인덱스 처리 시 오히려 전체 처리보다 많은 오버헤드 발생할 수 있음

인덱스와 테이블의 저장 공간을 적절히 분리되도록 설계

 

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

UNION, DISTINCT, ORDER BY, GROUP BY가 빈번한 컬럼이면 검토 대상

수정이 자주 발생하지 않는 컬럼은 검토 대상

 

* 파티셔닝

레인지 파티셔닝 : 연속적인 숫자나 날짜 기준으로 파티션

해시 파티셔닝

리스트 파티셔닝

컴포지트 파티셔닝 : 레인지 -> 해시

 

* 파티셔닝 장점

성능 향상 : 데이터 접근 범위를 줄여 성능 향상

가용성 향상 : 전체 데이터의 훼손 가능성 감소 및 데이터 가용성 향상

백업 가능 : 분할 영역을 독립적으로 백업하고 복구 가능

경합 감소 : 디스크 스트라이핑으로 입출력 성능 향상, 디스크 컨트롤러에 대한 경합의 감소

 

* 관계형 데이터베이스의 인덱스

검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터 구조

전체 데이터의 검색 없이 필요한 정보를 신속히 조회가 가능하게 하는 데이터 구조

 

* 반정규화

시스템 성능 향상과 개발 및 운영의 단순화를 위해 데이터 모델을 통합하는 데이터베이스 성능향상 기법