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

[실기] 제 2과목 - 데이터 입출력 구현 요점 정리

by 3.14pie 2023. 4. 30.

정규화 - Nomalization, 데이터 베이스 이상 현상의 원인이 되는 데이터 중복성을 제거해 데이터의 무결성을 보존함, 무손실 분해, 자료의 중복성 제거, 분리의 원칙

   - 제 1 정규화 (1NF) : 모든 속성 값이 원자값을 가짐

   - 제 2 정규화 (2NF) : 기본키가 아닌 속성이 기본키에 완전 함수 종속성임

   - 제 3 정규화 (3NF) : 기본키가 아닌 속성이 기본키에 비이행적으로 종속함

   - BCNF : 함수 종속성 X -> Y 일 때, 모든 결정자 X가 후보키임

   - 제 4 정규화 (4NF) : 모든 애트리뷰트들이 A에 함수 종속임 (A -> X)

   - 제 5 정규화 (5NF) : 모든 조인 종속이 후보키를 통해 성립됨

 

CRUD Matrix - 프로세스와 엔티티의 상관 관계를 이용해 구축된 엔티티 관계도를 검증하는 도구, Create, Read, Update, Delete

 

(논리적, 물리적)

(엔티티, 테이블)

(속성, 컬럼)

(주 식별자, 기본키)

(외래 식별자, 외래키)

 

Attribute, 속성, Degree

Tuple, 레코드, Cardinality

 

ERD 변환, 인덱스 설계, 뷰 설계, 클러스터 설계, 파티션 설계

 

데이터베이스 반정규화 - 시스템의 성능 향상, 편의성, 단순화를 목적으로 수행하는 의도적인 정규화 원칙 위배 행위

   - 테이블 반정규화

         > 테이블 병합 : 1:1, 1:N, 슈퍼-서브 타입 관계

         > 테이블 분할 : 특정 속성들만 집중적으로 접근할 경우, 접근 빈도, Lock 현상, 경합 현상 감소(수직, 수평)

         > 테이블 추가 : 중복, 통계, 이력, 부분 테이블 추가

   - Column 반정규화

         > 중복 컬럼 추가 : join 향상을 위해 중복 컬럼 추가

         > 파생 컬럼 추가 : 미리 계산된 값을 저장하는 파생 컬럼 추가

         > 이력 컬럼 추가 : 최근값 여부, 시작일자, 종료일자 컬럼 추가

         > PK에 의한 컬럼 추가 : 복합 속성 PK값의 일부를 일반 속성으로 추가

         > Application 오동작 대응 컬럼 추가 : 오동작 시 이전 값 복구를 위해 임시적 보관

   - 관계 반정규화

         > 중복 관계 추가 : 여러 경로를 거쳐 join 되는 경우, 추가적 관계 설정을 통한 성능 향상