-데이터베이스 개론 2판, SQL 자격검정 실전문제 학습 후 정리한 내용입니다-
데이터베이스 개론 2판
IT CookBook, 데이터베이스 개론(2판)
데이터베이스로 첫 항해를 떠나는 이들에게 지도와 돛이 되어주는 책입니다. 마인드맵으로 생소한 개념 간의 관계를 한눈에 보여주고, 친근한 예와 비유를 들어 명료하게 풀어내, 데이터베이스
www.hanbit.co.kr
SQL 자격검정 실전문제
SQL 자격검정 실전문제 - YES24
SQL 자격검정 실전문제는 국가공인 SQL 전문가 및 국가공인 SQL 개발자 자격시험 대비 수험서로 SQL 전문가 가이드에서 다루고 있는 데이터 모델링의 이해, SQL기본 및 활용, SQL 고급 활용 및 튜닝 등
www.yes24.com
성능 데이터 모델링: 데이터베이스 성능 향상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것
성능이 저하되는 데이터 모델
- 잘못 설계된 데이터 모델 구조
- 대용량 데이터를 가진 구조
- 인덱스의 특성을 무시한 인덱스 생성
성능 데이터 모델링 고려사항
- 데이터 모델링을 할 때 정규화를 정확하게 수해한다.
- 데이터베이스 용량산정을 수행한다.
- 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다.
- 용량과 트랜잭션 유형에 따라 반정규화를 수행한다.
- 이력모델의 조정, PK/FK 조정, 슈퍼타입/서브타입 조정 등을 수행한다.
- 성능관점에서 데이터 모델을 검증한다.
정규화
- 데이터 모델 설계시 중복을 최소화하도록 데이터를 구조화하는 작업(조회 성능을 향상시킬 수 있음)
- 하나의 종속성이 하나의 표(관계성 이론에서의 Relation)로 관리되도록 분해해가는 과정
- 종속성을 기준으로 데이터를 어떻게 담는 것이 최적인가에 대한 방법론
반정규화: 성능 고려
- 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 의도적으로 정규화 원칙을 위배하는 행위
- 반정규화를 수행하면 시스템의 성능이 향상되고 관리 효율성이 증가하지만 데이터의 일관성 및 정확성이 저하될 수 있다.
- 과도한 반정규화는 성능을 저하시킨다.
- 반정규화를 위해서는 사전에 데이터의 일관성과 무결성을 우선으로 할지, 데이터베이스의 성능과 단순화를 우선으로 할지 결정해야 한다.
- 방법: 테이블 통합, 테이블 분할, 중복 테이블 추가, 중복 속성 추가
- 하나의 테이블의 전체 칼럼 중 자주 이용하는 집중화된 칼럼들이 있을 때 디스크 I/O를 줄이기 위해 해당 칼럼들을 별도로 모아 놓는 반 정규화 기법은 테이블추가 반정규화 기법 중에서 부분테이블 추가에 해당한다.
<테이블의 반정규화>
기입분류 | 반정규화 기법 |
테이블 병합 | 1:1 관계 테이블병합 |
1:M 관계 테이블 병합 | |
슈퍼/서브타입 테이블 병합 | |
테이블 분할 | 수직 분할 |
수평 분할 | |
테이블 추가 | 중복테이블 추가 |
통계테이블 추가 | |
이력테이블 추가 | |
부분테이블 추가 |
<칼럼의 반정규화>
반정규화 기법 |
중복칼럼 추가 |
파생칼럼 추가 |
이력테이블 칼럼추가 |
PK에 의한 칼럼 추가 |
응용시스템 오작동을 위한 칼럼 추가 |
트랜잭션
- 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 하는 일련의 연산
이력
- 시간에 따라 발생하는 데이터 형식
- 시간에 따라 반복적으로 발생하기 때문에 다른 테이블에 비해 대량의 데이터가 테이블에 적재될 가능성이 크다. => 트랜잭션의 성능 저하로 이어지는 경우가 있다.
슈퍼타입/서브타입
- 부모의 속성 중에 더 작은 그룹으로 분리해서 관리할 필요가 있는 속성이 있을 때, 슈퍼타입 또는 서브타입 단위로 모델링 한다.
- 슈퍼타입(전체를 하나의 테이블로 관리)에 정의된 공통 속성과 각 서브타입의 속성을 더하여 각각의 서브타입별로 테이블을 설계하는 방법이 서브타입 단위의 모델링이다.
슈퍼타입 모델링
장점: 전체 사원에 대한 검색이 쉽다. 무결성에 유리하다.
단점: 서브타입별 속성이 많다면 지나치게 NULL이 많이 발생한다.(공간의 낭비)
서브타입 모델링
장점: NULL이 없거나 줄고 정규직, 비정규직 사원을 별개로 처리하는 업무가 많을 때 효율적
단점: UNION 함수를 쓸 때 중복제거 되기 때문에 사번의 유일성을 잘 관리해야 한다. INTERSECT 연산 시 양쪽 테이블에 중복 사원이 안나오도록 무결성을 유지하는 것이 중요하다. 비효율적인 조인이나 합집합, 교집합이 발생할 수 있다.
제1정규형(1NF)
- 릴레이션에 속한 모든 속성의 도메인이 원자 값으로만 구성되어 있으면 제1정규형에 속한다.(도메인 분해)
- 제1정규형에 속하지 않는 경우
- 제1정규형에 속하는 경우지만 중복으로 인해 이상현상이 발생할 수 있다.
- 칼럼에 의한 반복적인 속성값을 갖는 형태는 속성의 원자성을 위배한 제1차 정규화의 대항이 된다.
제2정규형(2NF)
- 릴레이션이 제1정규형에 속하고 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속되는 것이다.(부분 함수 종속 제거)
제3차정규형
- 릴레이션이 제2정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않으면 제3정규형에 속한다.
BCNF
- 릴레이션의 함수 종속 관계에서 모든 결정자가 후보키이면 보이스/코드 정규형에 속한다.
'자격증 > sqld' 카테고리의 다른 글
[데이터베이스] sqld SQL 기본3 (0) | 2021.06.30 |
---|---|
[데이터베이스] sqld SQL 기본2 (0) | 2021.06.28 |
[데이터베이스] sqld SQL 기본1 (0) | 2021.06.25 |
[데이터베이스] sqld 데이터 모델과 성능_2 (0) | 2021.06.25 |
[데이터베이스] sqld 데이터 모델링의 이해 (0) | 2021.06.21 |