SQLD 자격증 데이터 모델링의 이해 기출문제 SQL자격증 32회 시행
# SQL 세 번째 : 기출문제 오답 및 개념 정리
#2019년 3월 16일 시행 시험 개념 및 오답 정리 - 데이터 모델링의 이해
1. 분산 데이터베이스 장점과 단점
장점
- 지역 자치성, 시스템 용량 확장 용이
- 신뢰성과 가용성
- 효용성과 융통성
- 빠른 응답 속도와 통신 비용 절감
- 데이터의 가용성과 신뢰성 증가
- 시스템 규모의 적절한 조절
- 각 지역 사용자의 요구 수용 증대
단점
- 소프트웨어 개발 비용 많다.
- 오류의 잠재성 증대
- 처리 비용의 증대
- 설계, 관리의 복잡성과 비용
- 불규칙한 응답 속도
- 통제의 어려움
- 데이터 무결성에 대한 위험
2. 데이터 모델링의 세 가지 관점
2-1 데이터 관점(What, Data)
업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링하는 방법
2-2 프로세스 관점(How, Process)
업무가 실제로 하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 방법
2-3 데이터와 프로세스의 상관 관점(Interaction)
업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법
3. Hash Join의 특징
- 해시조인은 조인 칼럼의 인덱스가 존재하지 않을 경우에도 사용할 수 있는 기법이다.
- 해시조인은 해시 함수를 이용하여 조인을 수행하기 때문에 '='로 수행하는 동등 조건에서만 사용가능하다.
- 해시 함수가 적용될 때 동일한 값을 항상 같은 값으로 해시됨을 보장한다.
- 해시 조인 작업을 수행하기 위해서 해시 테이블을 메모리에 생성해야 한다.
- 해시 테이블을 저장할 때 메모리에 적재할 수 있는 영역의 크기보다 커지면 임시 영역에 저장한다.
- 해시 조인을 수행할 때는 결과 행의 수가 적은 테이블을 선행 테이블로 사용하는 것이 좋다.
- 선행 테이블을 Build Input이라 하며 후행 테이블은 Prove Input이라 한다.
4. 속성의 종류
4-1 기본 속성
-업무로부터 추출한 모든 속성이 여기에 해당, 엔터티에 가장 일반적이고 많은 속성을 차지한다.
-코드성 데이터, 엔터티를 식별하기 위해 부여된 일련번호와 같은 설계 속성이다.
-다른 속성을 계산하거나 영향을 받아 생성된 속성인 파생 속성을 제외한 모든 속성의 기본 속성이다.
4-2 설계 속성
-업무상 필요한 데이터 이외에 데이터 모델링을 위해 업무를 규칙화하기 위해서
속성을 새로 만들거나 변형하여 정의하는 속성이다.
-원래 속성을 업무상 필요에 의해 변형하여 만든 코드성 속성이 이에 해당하고
일련번호와 같은 속성은 단일한 식별자를 부여하기 위해 모델상에서 새로 정의하는 설계 속성이다.
4-3 파생 속성
- 다른 속성에 영향을 받아 발생하는 속성으로서 보통 계산된 값들이 이에 해당된다.
- 다른 속성에 영향을 받기 때문에 프로세스 설계 시 데이터 정합성을 유지하기 위해
유의해야 할 점이 많으며 가급적 속성을 적게 정의하는 것이 좋다.
5. ANSI/SPARC의 3단계 구조
5-1 외부 단계
개별 사용자의 관점(View)으로서 각 사용자나 응용 프로그래머가 생각하는
개인적 데이터베이스의 구조를 의미한다. 외부 스키마라고도 하며 여러 개 존재할 수 있다.
5-2 개념 단계
DB에 관한 사용자 공동체의 관점, 즉 한 조직 전체를 위한 DB의 논리적 구조를 의미하며
범기관적 입장에서 전체 DB를 정의한 것을 개념 스키마라고 하고 단 하나만 존재한다.
5-3 내부 단계
물리적 저장 장치 관점으로서 DB에 어떤 데이터가 어떻게 저정되는지를 표현하는 저장 구조이다.
실제로 저장된 내부 레코드의 형식, 인덱스 유무, 저장 데이터 항목의 표현 방법 등을 포함하고
내부 단계에서 DB의 물리적 데이터 구조를 정의한 것을 내부 스키마라고 하며 단 하나만 존재한다.
6. 정규화
제1 정규화 : 모든 속성은 중복된 값을 가지지 않는다(각 속성에 대한 도메인을 원자값으로 구성한다.)
제2 정규화: 식별자의 부분 속성에 대해서만 종속관계인 부분 함수 종속을 제거하여
식별자 전체 속성에 대해서 종속관계인 완전 함수 종속을 구성한다.
제3 정규화: 식별자를 제외한 일반 속성 간의 종속을 제거한다.
보이스 - 코드 정규화 : 다수의 주식별자를 분리시킨다.
제4 정규화: 하나의 릴레이션에서 한 속성에서 다른 속성에 대한 결과값이
여러 개 나오는 다치 종속을 분리시킨다.
제5 정규화: 결합 종속(join)일 경우 다수의 테이블로 분리시킨다.