응시료 : 50,000원
1과목 : part1. 데이터 모델링의 이해
모델링의 특징 : 추상화, 단순화, 명확화
데이터 모델링의 중요성 및 유의점
-> 중복, 비유연성, 비일관성
데이터 모델링의 순서 : 개념적, 논리적, 물리적
데이터 독립성의 요소 :
1. 외부 스키마
2. 개념 스키마
3. 내부 스키마
-> 데이터 독립성
데이터 모델링의 3요소 : 어떤것, 성격, 관계 (Things, Attributes, Relationships)
데이터 모델링 표기법 : 1976년 피터첸(ERM)
Good 데이터 모델의 요소
완전성, 중복배제, 업무규칙, 데이터 재사용, 의사소통, 통합성
엔터티 : 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적임, 보이지 않는것을 포함한다.
엔터티의 분류 :
유무형의 따른 분류(유형,개념,사건 엔터티) , 발생시점에 따른 분류(기본/키, 중심, 행위 엔터티)
속성 : 업무에서 필요로 하는 인스턴스로 관리하고자 하는 최소의 데이터 단위
-> 한 개의 엔터티는 2 개 이상의 인스턴스, 한 개의 엔터티는 2개 이상의 속성
속성의 분류 : 기본, 설계, 파생 속성
도메인 : 각 속성이 가질 수 있는 값의 범위
관계 : 존재의 의한 관계 , 행위에 의한 관계
UML에는 연관관계와 의존관계가 있는데 ERD에서는 구분하지 않지만
UML 에서는 연관 : 실선, 의존 : 점선 으로 표현합니다.
관계 체크사항 :
연관규칙, 조합 발생, 관계연결에 대한 규칙, 동사
식별자 : 엔터티내에서 인스턴스를 구분하는 구분자.
특징: 유일성, 최소성, 불변성, 존재성
식별자 분류:
대표성 여부 : 주식별자, 보조식별자
스스로 생성여부 : 내부식별자, 외부식별자
속성의 수 : 단일식별자 , 복합식별자
대체 여부 : 본질식별자 , 인조식별자
주식별자 도출기준:
--> 해당 업무에서 자주 이용되는 속성, 이름으로 기술되는 것들x, 복합으로 주식별자 구성할 경우 너무 많은속성 x
식별자 관계
1. 주식별자 : 부모의 식별자를 자식엔터티의 주식별자로 이용하는 경우 강한 연결관계
2. 비식별자 : 부모 속성을 자식의 일반 속성으로 사용
PART 2: 데이터 모델의 성능
성능 데이터 모델링
: DB 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인구조, PK, FK,등 성능과 관련된 사항이 데이터 모델링에 반영될 수 있게 하는것.
분석/ 설계 단계에서 데이터 모델링을 수행!
모델링 고려사항 순서:
정규화를 정확하게 수행
DB용량산정
DB에 발생되는 트랜젝션의 유형 파악
용량과 트랜젝션의 따라 반정규화 수행
이력모델의 조정, PK/FK 조정 ,슈퍼/서브 타입 조정
성능관점에서 데이터 모델을 검증
정규화 : 반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 배치되도록
반정규화 : 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능 향상과 개발과 운영의 단순화를 위해 중복 , 통합, 분리 등을 수행하는 기법
정규화 -->>> 입력 수정 삭제 성능 향상
반정규화 -->>> JOIN 성능이 향상
반정규화의 절차 :
반정구화 대상조사(범위처리빈도수,범위, 통계성)
다른 방법 검토(뷰, 클러스트링, 인덱스 조정)
반정규화 적용
대상조사 ::
다른방법 검토 ::
반정규화의 기법 :
칼럼 반정규화 (중복 파생 이력 pk 오작동)
관계 반정규화 (중복관계 추가 로우 체이닝 로우 마이그레이션)
PK에 의해 테이블을 분할하는 방법(파티셔닝)