SQLD 개발자 시험

채상혁·2022년 2월 26일
0

sqld

목록 보기
1/2

SQLD 시험 3 / 12일

응시료 : 50,000원

1과목 : part1. 데이터 모델링의 이해

모델링의 특징 : 추상화, 단순화, 명확화

데이터 모델링의 중요성 및 유의점
-> 중복, 비유연성, 비일관성

데이터 모델링의 순서 : 개념적, 논리적, 물리적

데이터 독립성의 요소 :
1. 외부 스키마
2. 개념 스키마
3. 내부 스키마

-> 데이터 독립성

  • 논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마에는 영향 x
  • 물리적 독립성 : 내부스키마가 변경되어도 외부.개념 스키마에는 영향x

데이터 모델링의 3요소 : 어떤것, 성격, 관계 (Things, Attributes, Relationships)

데이터 모델링 표기법 : 1976년 피터첸(ERM)

Good 데이터 모델의 요소
완전성, 중복배제, 업무규칙, 데이터 재사용, 의사소통, 통합성

엔터티 : 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적임, 보이지 않는것을 포함한다.

  • 특징
  1. 반드시 해당 업무에서 필요하고 관리
  2. 유일한 식별자에 의해 식별
  3. 두 개 이상의 인스턴스의 집합.
  4. 업무 프로세스에 사용
  5. 반드시 속성이 있어야 함. 관계엔터티는 주식별자 속성하나 가능
  6. 다른 엔터티와 최소 1개 이상의 관계를 가지고 있어야 함

엔터티의 분류 :
유무형의 따른 분류(유형,개념,사건 엔터티) , 발생시점에 따른 분류(기본/키, 중심, 행위 엔터티)

속성 : 업무에서 필요로 하는 인스턴스로 관리하고자 하는 최소의 데이터 단위
-> 한 개의 엔터티는 2 개 이상의 인스턴스, 한 개의 엔터티는 2개 이상의 속성

속성의 분류 : 기본, 설계, 파생 속성

도메인 : 각 속성이 가질 수 있는 값의 범위

관계 : 존재의 의한 관계 , 행위에 의한 관계

UML에는 연관관계와 의존관계가 있는데 ERD에서는 구분하지 않지만
UML 에서는 연관 : 실선, 의존 : 점선 으로 표현합니다.

관계 체크사항 :
연관규칙, 조합 발생, 관계연결에 대한 규칙, 동사

식별자 : 엔터티내에서 인스턴스를 구분하는 구분자.
특징: 유일성, 최소성, 불변성, 존재성

식별자 분류:
대표성 여부 : 주식별자, 보조식별자
스스로 생성여부 : 내부식별자, 외부식별자
속성의 수 : 단일식별자 , 복합식별자
대체 여부 : 본질식별자 , 인조식별자

주식별자 도출기준:
--> 해당 업무에서 자주 이용되는 속성, 이름으로 기술되는 것들x, 복합으로 주식별자 구성할 경우 너무 많은속성 x

식별자 관계
1. 주식별자 : 부모의 식별자를 자식엔터티의 주식별자로 이용하는 경우 강한 연결관계
2. 비식별자 : 부모 속성을 자식의 일반 속성으로 사용

  • 부모 없는 자식이 생성될 수 있는 경우
  • 부모와 자식의 생명주기가 다른 경우
  • 여러개의 엔터티가 하나의 엔터티로 통합되어 표현되었는데 각각의 엔터티가 별도의 관계를 가진 경우
  • 자식 엔터티의 별도의 주식별자를 생성하는 것이 더 유리할 경우
  • SQL 문장이 길어져 복잡성이 증가되는 것 방지.

PART 2: 데이터 모델의 성능

  • 성능 데이터 모델링
    : DB 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인구조, PK, FK,등 성능과 관련된 사항이 데이터 모델링에 반영될 수 있게 하는것.

    분석/ 설계 단계에서 데이터 모델링을 수행!

    모델링 고려사항 순서:

  1. 정규화를 정확하게 수행

  2. DB용량산정

  3. DB에 발생되는 트랜젝션의 유형 파악

  4. 용량과 트랜젝션의 따라 반정규화 수행

  5. 이력모델의 조정, PK/FK 조정 ,슈퍼/서브 타입 조정

  6. 성능관점에서 데이터 모델을 검증

    정규화 : 반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 배치되도록

    반정규화 : 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능 향상과 개발과 운영의 단순화를 위해 중복 , 통합, 분리 등을 수행하는 기법

    정규화 -->>> 입력 수정 삭제 성능 향상
    반정규화 -->>> JOIN 성능이 향상

    반정규화의 절차 :

  7. 반정구화 대상조사(범위처리빈도수,범위, 통계성)

  8. 다른 방법 검토(뷰, 클러스트링, 인덱스 조정)

  9. 반정규화 적용

    대상조사 ::

    다른방법 검토 ::

    반정규화의 기법 :

    테이블 반정규화, 테이블 분할, 테이블 추가

  • 테이블 병합
  • 테이블 분할 (수직분할, 수평분할)
    수직분할 : 컬럼단위 테이블을 I/O 분산처리 하기 위해 테이블을 1:1분리
    수평분할 : 로우단위로 집중 발생되는 트랜젝션을 분석하여 I/O및 데이터 접근의 효율성을 높이기 위해 로우단위로 쪼갠다.
  • 테이블 추가(중복 통계 이력 부분테이블)
    중복, 통계, 이력, 부분

칼럼 반정규화 (중복 파생 이력 pk 오작동)

관계 반정규화 (중복관계 추가 로우 체이닝 로우 마이그레이션)

PK에 의해 테이블을 분할하는 방법(파티셔닝)

0개의 댓글