물리 데이터 모델 설계 ⭐⭐⭐
물리 데이터 모델링 개념
논리 모델을 적용하고자 하는 기술에 맞도록 상세화해가는 과정
물리 데이터 모델링 변환 절차
- 개체를 테이블로 변환
- 속성을 컬럼으로 변환
- UID를 기본키로 변환
- 관계를 외래키로 변환
- 컬럼 유형과 길이 정의 : 적절한 유형을 정의하고 데이터의 최대 길이를 파악하여 길이를 설정
- 반 정규화 수행 ⭐⭐⭐: 시스템 성능 향상과 개발 및 운영의 단순화를 위해 데이터 모델을 통합하는 반 정규화 수행
물리 데이터 저장소 구성 ⭐⭐⭐
참조 무결성 제약조건
릴레이션과 릴레이션 사이에 대해 참조의 일관성을 보장하기 위한 조건
- 제한 : 참조 무결성 원칙을 위배하는 연산을 거절하는 옵션
- 연쇄 (Cascade) : 참조되는 릴레이션에서 튜플을 삭제하고 참조되는 릴레이션에서 이 튜플을 참조하는 튜플들도 함께 삭제하는 옵션
- 널 값 : 참조되는 릴레이션에서 튜플을 삭제하고, 참조하는 릴레이션에서 해당 튜플을 참조하는 튜플들의 외래 키에 NULL 값을 넣는 옵션. 릴레이션을 정의할 때 참조하는 릴레이션에서 NULL 값이 들어갈 애트리뷰트에 'Not Null'이라고 명시되어 있다면 삭제 연산을 거절한다.
- 참조 무결성 제약 조건 SQL 예시
ALTER TABLE EMPLOYEE ADD CONSTRAINT emp_dt_fk
FOREIGN KEY (deptno)
REFERENCES DEPARTMENT (deptno)
ON DELETE { RESTRICT | CASCADE | SET NULL };
인덱스 개념
검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터 구조이다.
인덱스 적용 기준
-
인덱스 분포도가 10 ~ 15% 이내인 경우 아래 수식 참고
분포도 = ( 1 / (컬럼 값의 종류)) x 100
분포도 = (컬럼 값의 평균 Row 수) / (테이블의 총 Row 수) x 100
-
분포도가 범위 이상이더라도 부분 처리를 목적으로 하는 경우 적용한다.
-
조회 및 출력 조건으로 사용되는 컬럼인 경우 적용한다.
인덱스 컬럼 선정
- 분포도가 좋은 컬럼은 단독적으로 생성
- 자주 조합되어 사용되는 컬럼은 결합 인덱스로 생성한다.
- 결합 인덱스는 구성되는 컬럼 순서 선정에 유의
- 가능한 한 수정이 빈번하지 않은 컬럼을 선정
설계 시 고려 사항
- 지나치게 많은 인덱스는 오버헤드로 작용
- 인덱스는 추가적인 저장 공간이 필요함을 고려해야 함
- 넓은 범위 인덱스 처리 시 전체 처리보다 많은 오버헤드 발생시킬 수 있음
뷰 속성
클러스터 적용 기준
- 인덱스의 단점을 해결한 기법으로 , 분포도가 넓을 수록 오히려 유리
- 엑세스 기법이 아니라 액세스 효율 향상을 위한 물리적 저장 기법
- 분포도가 넓은 테이블의 클러스터링은 저장 공간의 절약 가능
- 대량의 범위를 자주 액세스 하는 경우 적용
- 여러 개의 테이블이 빈번한 조인을 일으킬 때 활용
- 고려 사항 : 검색 효율은 높여주나 입력, 수정, 삭제 시는 부하가 증가함을 고려
파티션 종류 (레해리컴)
- 레인지 파티셔닝 : 연속적인 숫자나 날짜를 기준으로 하는 파티셔닝 기법 / 관리 시간 단축 가능
- 해시 파티셔닝 : 파티션 키의 해시 함수 값에 의한 파티셔닝 기법 / 균등한 데이터 분할 가능하고 질의 성능 향상가능
- 리스트 파티셔닝 : 특정 파티션에 저장 될 데이터에 대한 명시적 제어가 가능한 파티셔닝 기법 / 분포도가 비슷하고 데이터가 많은 SQL에서 컬럼의 조인이 많이 들어오는 경우 유용
- 컴포지트 파티셔닝 : 범위 분할에 이후 해시 함수를 적용하여 재분할 하는 파티셔닝 기법 / 큰 파티션에 대한 I/O 요청을 여러 파티션으로 분산 가능
파티션의 장점
반응형
'🎓 정보처리기사' 카테고리의 다른 글
[정보처리기사 - 실기] II. 데이터 입출력 구현 - 데이터 조작 프로시저 최적화 (0) | 2020.11.17 |
---|---|
[정보처리기사 - 실기] II. 데이터 입출력 구현 - 데이터 조작 프로시저 작성 (0) | 2020.11.17 |
[정보처리기사 - 실기] II. 데이터 입출력 구현 - 논리 데이터 저장소 확인 (0) | 2020.11.17 |
[정보처리기사 - 실기] I. 요구 사항 확인 - 분석 모델 확인하기 (0) | 2020.11.16 |
[정보처리기사 - 실기] I. 요구 사항 확인 - 요구사항 확인 (0) | 2020.11.16 |