자격증/SQLD

SQLD 오답노트

멍냐옹2 2023. 2. 22. 11:25
반응형

1과목

1장

  1. p11 - 8
    1) 선택/정답 : 맞은 문제지만, 관련 개념이 없어 정리
    2) 설명 : 가장 중요한 엔터티를 왼쪽 상단에 배치하고, 이것을 중심으로 다른 엔터티 나열
  2. p11 - 10
    1) 선택/정답 : 4 / 3
    2) 설명 : 엔터티의 특징
    - 반드시 해당 업무에서 필요하고 관리하는 정보
    - 유일한 식별자에 의해 식별이 가능해야 함
    - 영속적으로 존재하는 "두 개 이상의" 인스턴스의 집합
    - 업무 프로세스에 의해 이용되어야 함
    - 반드시 속성이 존재해야 함
    - 다른 엔터티와 최소 한 개 이상의 관계 존재
    - 엔터티 vs 속성 vs 인스턴스
    • 엔터티(Entity) = 테이블
      : 유용한 정보를 저장하고 관리하기 위한 집합적인 것. 개념, 사건, 장소 등의 명사
    • 속성(Attribute) = 컬럼
      : 업무에서 필요로 하는 인스턴스로 의미상 더 이상 분리되지 않는 최소의 데이터 단위
    • 인스턴스(Instance) = 행
      : 데이터베이스에 저장된 데이터 내용의 전체 집합을 의미
  1. p14 - 20
    1) 선택/정답 : 1, 4 / 3, 4
    2) 설명 : 데이터모델링에는 존재, 행위에 의한 관계를 구분하는 표기법이 존재 하지 않음. UML은 연관관계, 의존관계에 대해 다른 표기법을 갖고 표현
  2. p18 - 30
    1) 선택/정답 : 1 / 2
    2) 설명 : 식별자 분류체계
    - 주 식별자 : 타 엔터티와 참조관계를 연결할 수 있음
    - 보조 식별자 : 대표성을 갖지 못해, 참조관계를 연결하지 못함
    - 내부 식별자 : 엔터티 내부에서 스스로 생성
    - 외부 식별자 : 타 엔터티와의 관계를 통해 생성
    - 단일 식별자 : 하나의 속성으로 구성
    - 복합 식별자 : 둘 이상의 속성으로 구성
    - 본질 식별자 : 업무에 의해 생성
    - 인조 식별자 : 업무에 의해 생성되지 않고 인위적으로 만든 식별자
    - 식별자 vs 비 식별자
    • 식별자
      : 강한 연결관계, 자식 주식별자에 포함, 실선 표현, 부모 엔터티에 종속
    • 비 식별자
      : 약한 연결관계, 자식 일반 속성에 포함, 점선 표현, 자식 주식별자 구성을 독립적으로 구성

2장

  1. p31 - 48
    1) 선택/정답 : 1 / 4
    2) 설명 : 트랜잭션은 항상 전체를 통합하여 분석 처리하는데, 슈퍼-서브타입이 하나의 테이블로 통합되어 있는 경우 하나의 테이블만 읽어 처리할 수 있기 대문에 성능 우수 (조인 감소)
  2. p34 - 52
    1) 선택/정답 : 정답 맞춤
    2) 설명 : GSI는 통합 데이터베이스구조를 의미 <-> 분산 데이터베이스

2과목

1장

  1. p41 - 4
    1) 선택/정답 : 1 / 1 정답
    2) 설명 : 비절차적 데이터 조작어(DML)는 사용자가 무슨 데이터를 원하지만을 명세하지만, 절차적 데이터 조작어(PL/SQL, T-SQL)는 어떻게 데이터에 접근해야 하는지 명시
  2. p49 - 19
    1) 선택/정답 : 2 / 4
    2) 설명
    2-1) Delete/Modify 액션
    - Cascade : master 삭제 시 child 같이 삭제
    - Set Null : master 삭제 시 null 처리
    - Set Default : master 삭제 시 default 값으로 설정
    - Restrict : child 테이블에 PK값이 없는 경우만 Master 삭제 허용
    - No Action : 참조 무결성을 위반하는 액션을 취하지 않음
    2-2) Insert 액션
    - Automatic : Master 테이블에 PK가 없는 경우 PK 생성 후 child 입력
    - Set Null : Master 테이블에 PK가 없는 경우 Child 외부키를 Null값으로 처리
    - Set Default : Master 테이블에 PK가 없는 경우 Child 외부키를 기본값으로 입력
    - Dependent : Master 테이블에 PK가 존재할 때만 Child 입력 허용
    - No Action : 참조 무결성을 위반하는 입력 액션을 취하지 않음
  3. p59 - 40
    1) 선택/정답 : 4 / 2
    2) 설명 : 1:M 조인이라 하더라도 M쪽에서 출력된 행이 하나씩 단일행 함수의 입력값으로 사용되므로 사용 할 수 있음.
    다중행 함수도 단일행 함수와 동일하게 단일 값만을 반환
  4. p66 - 51
    1) 선택/정답 : 4 / 3
    2) 설명 : Count(컬럼)시 컬럼이 null인 값은 제외

2장

  1. p95 - 89
    1) 선택/정답 : 2 / 1
    2) 설명 : start with 시작 데이터는 결과 목록에 포함되어 지고 나서 connect by에 의해 필터링이 됨.

3장

  1. p132 - 135
    1) 선택/정답 : 2, 3 / 2, 4
    2) 설명 : 인덱스는 조회 만을 위한 기능, 삽입, 삭제, 갱신의 경우 부하 가중. B-TREE는 가장 많이 사용되는 인덱스. 인덱스 존재 상황에서 데이터 입력시, 매번 인덱스 정렬이 일어나므로 인덱스 제거 후 삽입이 좋음.
  2. p133 - 137
    1) 선택/정답 : 1, 2 / 3, 4
    2) 설명 : 인덱스 생성시 오름차순/내림차순을 설정하여 생성 할 수 있음.
  3. p134 - 141
    1) 선택/정답 : 3 / 2
    2) 설명 : 옵티마이저 조인 종류
    - Nested Loop Join
    : 하나의 테이블(Outer Table)에서 데이터를 먼저 찾고, 그 다음 테이블(Inner Table)을 조인하는 형식으로 실행
    : 데이터 스캔의 범위를 줄일 수 있기 때문에, 선행 테이블의 크기가 작은 것을 먼저 찾는 것이 중요
    : RANDOM ACCESS가 많이 발생하면 성능 지연이 발생하므로 RANDOM ACCESS의 양을 줄여야 성능 향상
    : 조인 칼럼의 인덱스가 존재
    : DW시 자주 사용되지 않음
    - Sort Merge Join
    : 두 개의 테이블을 SORT_AREA라는 메모리 공간에 모두 로딩(Loading)하고 정렬(Sort)을 수행
    : 두 개의 테이블에서 Sort가 완료되면, 두 개의 테이블을 Merge
    : 데이터 양이 많아지면 성능 저하(Sort를 수행하기 때문)
    : 정렬 데이터양이 너무 많으면, 정렬은 임시 영역에서 수행
    : 임시 영역은 디스크에 있기 때문에 성능 감소
    : 두 테이블의 크기가 너무 커서, 소트부하가 심할때는 Hash Join을 사용
    - Hash Join
    : 두 개의 테이블에서 작은 테이블을 Hash 메모리에 로딩(Loading)하고 두 개의 테이블의 조인 키를 사용해서 테이블을 생성
    : Hash 함수를 사용해서 주소를 계산하고, 해당 주소를 사용해서 테이블을 조인하기 때문에, CPU 연산 잦음
    : 선행 테이블이 충분히 메모리에 로딩되는 크기
  4. p135 - 143
    1) 선택/정답 : ? / 4
    2) 설명 : Exists -> Semi Join 수행
반응형

'자격증 > SQLD' 카테고리의 다른 글

SQLD 합격  (1) 2023.02.22
SQLD 2장 2-3과목  (1) 2023.02.21
SQLD 2장 1과목  (0) 2023.02.21
SQLD 1장 2과목  (2) 2023.02.20
SQLD 1장 1과목  (0) 2023.02.20