본문 바로가기

ETC/자격증

[정보처리기사실기]데이터 입/출력 구현 요약 정리

반응형

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

 

2. 구성요소 : 개체, 속성, 관계

 

3. 종류 : 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델

 

4. 표시할 요소 : 구조, 연산, 제약조건

 

5. 개념적 데이터 모델 : 현실세계에 대한 인간의 이해를 돕기 위해 현실세계에 대한 인식을 추상적 개념으로

                               표현하는 과정 ex> E-R 모델

 

6. 논리적 데이터 모델 : 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의

                               환경에 맞도록 변환하는 과정

 

7. 이상(Anomaly) : 테이블에서 일부 속성들의 종속으로 인해 데이터의 중복이 발생하고, 이 중복으로 인해 테이블

                         조작시 문제가 발생하는 현상

 

8. 이상(Anomaly)

    - 삽입이상 : 테이블에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들로 인해 삽입할 수 없게 되는 현상

    - 삭제이상 : 테이블에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는,

                     즉 연쇄 삭제가 발생하는 현상

    - 갱신이상 : 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 불일치성이 생기는 현상

 

9. 함수적 종속

    - x(결정자) -> y(종속자) : y는 x의 함수적 종속관계이다.

    - 완전 함수적 종속, 부분 함수적 종속

 

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

 

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

 

12. 정규형 종류

    - 제 1 정규형 : 도메인이 원자값만으로 되어있는 정규형

    - 제 2 정규형 : 완전함수적 종속을 만족(부분함수적 종속이 제거된 상태)

    - 제 3 정규형 : 이행적 함수적 종속을 만족하지 않는 것

    - BCNF : 모든 결정자가 후보키인 것

    - 제 4 정규형 : 다중값 종속인 것(다치종속 A -->->B)

    - 제 5 정규형 : 조인 종속

 

13. 논리 데이터 모델

    - 엔티티(Enitiy)

    - 속성(Attribute)

    - 주 식별자(Primary Identifier)

    - 외부 식별자(Foreign Identifier)

    - 관계(Relationship)

 

14. 물리 데이터 모델

    - 테이블(Table)

    - 컬럼(Column)

    - 기본키(Primary Key)

    - 외래키(Foreign Key)

    - 관계(Relationship)

 

15. 반정규화 = 비정규화 : 시스템의 성능향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 종복,

                                  분리하는 과정으로 의도적으로 정규화 원칙을 위배하는 행위

    - 통합 : 두개의 테이블에 발생하는 프로세스가 동일하게 자주처리되는 경우 고려

    - 분할 : 레코드별로 사용빈도 차이가 크거나 하나의 테이블에 속성이 너무 많은경우 고려

 

16. 작업의 효율성을 향상시키기 위해 중복 테이블을 추가하여 반정규화를 수행해야 하는 경우

    - 정규화로 인해 수행속도가 느려지는 경우

    - 많은 범위의 데이터를 자주 처리해야 하는 경우

    - 특정 범위의 데이터만 자주 처리해야 하는 경우

    - 처리 범위를 줄이지 않고는 수행 속도를 개선할 수 없는 경우

 

17. 중복 속성을 추가하는 경우

    - 조인이 자주발생하는 속성인 경우

    - 접근 경로가 복잡한 속성인 경우

    - 액세스의 조건으로 자주 사용되는 속성인 경우

    - 기본키의 형태가 적절하지 않거나 여러개의 속성으로 구성되는 경우

 

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

    - 클러스터드 인덱스(Clustered Index) : 순서에 따라 정렬 한개의 릴레이션에 하나의 인덱스만 생성

    - 넌클러스터드 인덱스(Non-Clustered Index) : 키 값만 정렬, 실제 데이터는 정렬은 안함, 한개의 릴레이션에

                                                                여러개의 인덱스

 

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

          이름을 가지는 가상 테이블이다.

    - 물리적으로 구현되어 있지 않다.

    - 데이터의 논리적 독립성을 제공할 수 있다.

    - 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신 연산 가능

 

20. 클러스터 : 데이터 저장 시 데이터 액세스 효율을 향상시키기 위해 동일한 성격의 데이터를 동일한 데이터 블록에

                   저장하는 물리적 저장 방법이다.

    - 데이터 조회 속도는 향상시키지만 데이터 입력, 수정, 삭제에 대한 성능은 저하시킨다.

    - 처리 범위가 넓은 경우 단일 테이블 클러스터링

    - 조인이 많이 발생하는 경우 다중 테이블 클러스터링

 

21. 클러스터를 적용하기 적당한 테이블

    - 분포도가 넓은 테이블

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

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

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

 

22. 파티션 : 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나눈 것

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

    - 해시분할 : 해시함수를 적용한 결과 값에 따라 데이터 분할(특정 파티션에 데이터가 집중되는 것을 보완하기 위한

                    것 / 데이터를 고르게 분산 할때 유용)

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

반응형