반응형
1과목
1장
- p11 - 8
1) 선택/정답 : 맞은 문제지만, 관련 개념이 없어 정리
2) 설명 : 가장 중요한 엔터티를 왼쪽 상단에 배치하고, 이것을 중심으로 다른 엔터티 나열 - p11 - 10
1) 선택/정답 : 4 / 3
2) 설명 : 엔터티의 특징
- 반드시 해당 업무에서 필요하고 관리하는 정보
- 유일한 식별자에 의해 식별이 가능해야 함
- 영속적으로 존재하는 "두 개 이상의" 인스턴스의 집합
- 업무 프로세스에 의해 이용되어야 함
- 반드시 속성이 존재해야 함
- 다른 엔터티와 최소 한 개 이상의 관계 존재
- 엔터티 vs 속성 vs 인스턴스- 엔터티(Entity) = 테이블
: 유용한 정보를 저장하고 관리하기 위한 집합적인 것. 개념, 사건, 장소 등의 명사 - 속성(Attribute) = 컬럼
: 업무에서 필요로 하는 인스턴스로 의미상 더 이상 분리되지 않는 최소의 데이터 단위 - 인스턴스(Instance) = 행
: 데이터베이스에 저장된 데이터 내용의 전체 집합을 의미
- 엔터티(Entity) = 테이블
- p14 - 20
1) 선택/정답 : 1, 4 / 3, 4
2) 설명 : 데이터모델링에는 존재, 행위에 의한 관계를 구분하는 표기법이 존재 하지 않음. UML은 연관관계, 의존관계에 대해 다른 표기법을 갖고 표현 - p18 - 30
1) 선택/정답 : 1 / 2
2) 설명 : 식별자 분류체계
- 주 식별자 : 타 엔터티와 참조관계를 연결할 수 있음
- 보조 식별자 : 대표성을 갖지 못해, 참조관계를 연결하지 못함
- 내부 식별자 : 엔터티 내부에서 스스로 생성
- 외부 식별자 : 타 엔터티와의 관계를 통해 생성
- 단일 식별자 : 하나의 속성으로 구성
- 복합 식별자 : 둘 이상의 속성으로 구성
- 본질 식별자 : 업무에 의해 생성
- 인조 식별자 : 업무에 의해 생성되지 않고 인위적으로 만든 식별자
- 식별자 vs 비 식별자- 식별자
: 강한 연결관계, 자식 주식별자에 포함, 실선 표현, 부모 엔터티에 종속 - 비 식별자
: 약한 연결관계, 자식 일반 속성에 포함, 점선 표현, 자식 주식별자 구성을 독립적으로 구성
- 식별자
2장
- p31 - 48
1) 선택/정답 : 1 / 4
2) 설명 : 트랜잭션은 항상 전체를 통합하여 분석 처리하는데, 슈퍼-서브타입이 하나의 테이블로 통합되어 있는 경우 하나의 테이블만 읽어 처리할 수 있기 대문에 성능 우수 (조인 감소) - p34 - 52
1) 선택/정답 : 정답 맞춤
2) 설명 : GSI는 통합 데이터베이스구조를 의미 <-> 분산 데이터베이스
2과목
1장
- p41 - 4
1) 선택/정답 : 1 / 1 정답
2) 설명 : 비절차적 데이터 조작어(DML)는 사용자가 무슨 데이터를 원하지만을 명세하지만, 절차적 데이터 조작어(PL/SQL, T-SQL)는 어떻게 데이터에 접근해야 하는지 명시 - 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 : 참조 무결성을 위반하는 입력 액션을 취하지 않음 - p59 - 40
1) 선택/정답 : 4 / 2
2) 설명 : 1:M 조인이라 하더라도 M쪽에서 출력된 행이 하나씩 단일행 함수의 입력값으로 사용되므로 사용 할 수 있음.
다중행 함수도 단일행 함수와 동일하게 단일 값만을 반환 - p66 - 51
1) 선택/정답 : 4 / 3
2) 설명 : Count(컬럼)시 컬럼이 null인 값은 제외
2장
- p95 - 89
1) 선택/정답 : 2 / 1
2) 설명 : start with 시작 데이터는 결과 목록에 포함되어 지고 나서 connect by에 의해 필터링이 됨.
3장
- p132 - 135
1) 선택/정답 : 2, 3 / 2, 4
2) 설명 : 인덱스는 조회 만을 위한 기능, 삽입, 삭제, 갱신의 경우 부하 가중. B-TREE는 가장 많이 사용되는 인덱스. 인덱스 존재 상황에서 데이터 입력시, 매번 인덱스 정렬이 일어나므로 인덱스 제거 후 삽입이 좋음. - p133 - 137
1) 선택/정답 : 1, 2 / 3, 4
2) 설명 : 인덱스 생성시 오름차순/내림차순을 설정하여 생성 할 수 있음. - 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 연산 잦음
: 선행 테이블이 충분히 메모리에 로딩되는 크기 - 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 |