본문 바로가기
Lisence/SQLD

SQLD 정리 6

by code2772 2022. 10. 1.

[ 목차 ]

    728x90
    반응형

    * 엔터티의 분류

    - 유형 vs 무형

    1. 유형 엔터티 : 물리적인 형태 존재, 안정성, 지속적 (상품, 회원)

    2. 개념 엔터티 : 물리적인 형태 없음, 개념적 (부서, 학과)

    3. 사건 엔터티 : 행위를 함으로써 발생, 빈번함, 통계 자료로 이용가능(주문, 이벤트 응모)

     

    * 발생 시점

    1. 기본 엔터티 : 독립적으로 생성됨, 자식 엔터티를 가질 수 있음(상품, 회원)

    2. 중심 엔터티 : 기본 엔터티로부터 파생, 행위 엔터티 생성(주문)

    3. 행위 엔터티 : 2개 이사의 엔터티로부터 파생(주문내역, 이벤트 응모 이력)

     

    * 속성의 분류

    1. 기본속성 : 업무 프로세스 분석을 통해 바로 정의가 가능한 속성

    2. 설계속성 : 업무에 존재하지는 않지만 설계하다 보니 필요하다고 판단되어 도출해낸 속성

    3. 파생속성 : 다른 속성값을 계산하거나 특정한 규칙으로 변형하여 생성한 속성

     

    * 식별자 분류

    1. 대표성 여부

    - 주식별자 : 유일성, 최소성, 불변성, 존재성을 가진 대표 식별자이며, 다른 엔터티의 참조 관계로 연결

    - 보조식별자 : 인스턴스를 식별할 수는 있지만 대표 식별자가 아니며, 다른 엔터티와 참조 관계로 연결되지 않음

     

    2. 스스로 생성되었는지 여부 

    - 내부식별자 ; 엔터티 내부에서 스스로 생성된 식별자

    - 외부식별자 : 다른 엔터티에서 온 식별자. 다른 엔터티와의 연결고리 역할

     

    3. 단일 속성의 여부 

    - 단일식별자 : 하나의 속성으로 구성된 식별자

    - 복합식별자 : 두 개 이상의 속성으로 구성된 식별자

     

    4. 대체 여부

    - 원조식별자 : 업무 프로세스에 존재하는 식별자. 가공되지 않은 원래의 식별자(본질식별자)

    - 대리식별자 : 주식별자의 속성이 두 개 이상의 경우 그 속성들을 하나로 묶어서 사용하는 식별자(인조식별자)

    * 테이블 반정규화 - 테이블 병합/ 분할/ 추가 

     

    * 데이터 모델링 순서

    1. 데이터 모델에 맞게 정규화 수행

    2. 데이터베이스 용량 및 트랜잭션 유형을 파악하여 성능 저하를 일으키는 부분이 없는지 검토

    3, 용량과 트랜잭션 유형에 맞게 반정규화를 수행

    4. 성능 향상을 위한 이력모델의 조정, PK/FK 조정, 슈퍼/서브타입 조정 등을 수행

    5. 데이터 모델의 성능 검증

     

    * 이력 테이블 컬럼 추가 - 대량의 이력 테이블을 조회할 때 속도가 느려질 것을 대비하여 조회 기준이 될 것으로 판단되는 컬럼을 추가해 놓은 방식이다. 

     

    * 공통 속성을 조회하는 빈도수가 개별 속성을 조회하는 빈도수보다 높기 때문에 공통 속성과 개별 속성을 별도로 관리하는 슈퍼-서브 타입릐 설계가 적절

     

    * 중복관계 추가 - 관계의 반정규화 기법 중 하나로 데이터 무결성을 깨뜨릴 위험성이 없어 데이터 처리 성능을 향상시킬 수 있는 기법이다.

    반응형

    'Lisence > SQLD' 카테고리의 다른 글

    SQLD 합격 후기 - 변경된 시험 52회 SQL 개발자, 사전점수 공개  (3) 2024.03.30
    SQLD 정리 5  (0) 2022.10.01
    SQLD 정리 4  (0) 2022.10.01
    SQLD 정리 3  (0) 2022.10.01
    SQLD 정리 2  (1) 2022.10.01