2024 SQLD 자격증 공부 총정리 과목 1
SQLD 시험을 위해 과목1 개념을 총정리한다.
0. SQLD 시험 합격 기준
- 총점: 60점 이상
- 과목 점수
- 1과목(모델링): 10문제(20점) -> 과락: 8점 미만
- 2과목(sql기본): 40문제(80점) -> 과락: 32점 미만
- 주관식(8문제), 객관식(42문제)
- 목차
- 과목 1
- 1. 데이터 모델의 이해
- 데이터 모델의 이해, 엔티티, 속성, 관계, 식별자
- 2. 데이터 모델과 성능
- 정규화와 성능, 반정구화와 성능, 대용량 데이터에 따른 성능, DB 구조와 성능, 분산 DB 데이터에 따른 성능
- 1. 데이터 모델의 이해
- 과목 2
- SQL 기본
- 정보 요구 사항, DDL, DML, TCL, WHERE 절, FUNCTION, GROUP BY, HAVING 절, ORDER BY 절, 조인
- SQL 활용
- 표준 조인, 집합연산자, 계층형 질의, 서브쿼리, 그룹 함수, 윈도우 함수, DCL, 절차형 SQL
- SQL 최적화 기본 원리
- 옵티마이져와 실행계획, 인덱스 기본, 조인 수행 원리
- SQL 기본
0. 모델링 : 현실 세계의 현상을 추상화/단순화 하여 일정한 표기법으로 표현
- 옳지 않은 보기 : 데이터 모델링은 구현만을 위한 단계이다 (x)
1. 모델링의 특징
- 추상화 (abstraction) : 일정한 형식에 맞춰 표현
- 단순화 (simplification) : 제한된 표기법/언어로 표현
- 명확화 (clarity) : 이해 쉽게 표현
2. 모델링의 관점
- 데이터 관점 (what) : 업무-데이터 사이의 관계(관련)에 대한 관점
- 프로세스 관점(how) : 업무에서 실제로 하고 있는 일/무엇을 해야하는 지에 대해 모델링 방법을 고민하는 관점
- 데이터와 프로세스의 상관 관점 (interation) : 업무 처리에 따라 데이터에 영향에 대한 관점
3-1 모델링의 중요성
- 파급효과
- 간결한 표현
- 데이터 품질 유지
3-2. 유의점 (하면 안됨) / 데이터 품질 평가 기준
- 중복성 : 여러 DB에 같은 정보를 중복으로 저장 하면 안됨
- 비유연성 : 업무 변화에 따라 데이터 모델이 변경 되면 안됨
- 비일관성 : 모델링 할 때 데이터들의 상호 연관 관계를 명확히 해야함 (연관된 데이터가 변경시에 일치하지 않으면 안됨)
4. 데이터 모델링의 3단계 (개-논-물)
현실 —1.개념적 모델링-> 개념적 구조 —2.논리적 모델링-> 논리적 구조 —3.물리적 모델링→ 데이터베이스
- 개념적 모델링 계획/분석: ERD 도출, 업무중심
- 논리적 모델링 분석 : 테이블 도출, 속성 관계 표현
- 물리적 모델링 설계: DB구축, 물리적-구체적
- 문제) 프로젝트 라이프사이클 ‘설계’ 단계에서 수행되는 모델링?
- 답 : 물리 데이터 모델링
5. 3층 스키마 (외개내)
- 외부 스키마 : 사용자 관점, 사용자가 보는, 개인 DB 스키마
- 개념 스키마 : 사용자 관점 통합 전체 DB, DB에 저장되는 데이터와 사용자 관계 표현, DB 설계 설명
- 내부 스키마 : 물리적DB, 데이터베이스가 물리적으로 저장된 형식, 개발자 관점
- 논리적 독립성
- 외부-개념을 통해 논리적 독립성 보장
- 개념 스키마가 변경 → 외부 스키마에는 영향 X
- 논리적 구조가 변경 → 응용 프로그램에는 영향이 없음, 통합구조 변경 가능
- 물리적 독립성
- 물리적 독립성 보장
- 내부스키마가 변경 → 외부/개념 스키마는 영향 X
- 응용프로그램과 개념스키마에 영향 없이 저장장치 구조변경 가능, 물리적 구조
6. 데이터 모델링 3요소
- 엔터티 (Entity) : 어떤 것 (Thing)
- 성격 (Attributes) : 속성
- 관계 (Relationships) : 엔터티간의 관계
7. ERD : 데이터 모델 표기법 : 엔터티를 사각형, 관계를 마름모, 속성을 타원형으로 표현
8. ERD 표기법을 이용하여 모델링 하는 방법
- 엔터티 그리기/도출
- 엔터티 배치
- 엔터티 관계 설정
- 관계명 기술
- 관계 참여도 기술 / 관계차수
- 관계 필수여부 기술
9. 좋은 모델링의 요건
- 완전성 : 업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어야 한다
- 중복배제 : 동일한 사실은 반드시 한번만 기록
- 업무규칙 : 업무규칙이 데이터 모델에 표현되어야 한다
- 데이터 재사용 : 회사 전체 관점에서 공통 데이터 도출, 전 영역 사용할 수 있도록 설계
- 통합성 : 동일한 데이터는 조직의 전체에서 한번만 정의되고 이를 참조, 활용
2절
- 엔터티 (Entity)
- 업무에 필요한 정보를 저장하고 관리하기 위한 집합적인 것 (실체, 객체)
- 엔터티는 인스턴스의 집합 (인스턴스는 엔터티 안의 데이터)
- 엔터티의 분류
2-1 유형/무형의 분류
- 유형(Tangible) 엔터티
- 물리적인 형태가 있고 안정적이며 지속적 활용 ex) 교수, 강의실, 학생
- 개념(Conceptual) 엔터티
- 물리적인 형태는 존재하지 않으나 관리해야 할 개념적 정보 ex) 수업, 보험상품
- 사건(Event) 엔터티
- 업무 수행 과정에서 발생, 비교적 발생량 많음 (통계자료에 이용) ex) 수강신청, 주문
2-2 발생시점에 따른 엔터티 (기 중 행)
- 기본(key) 엔터티 : 독립적으로 생성되는 엔터티
- 중심(main) 엔터티 : 기본 엔터티와 행위 엔터티 중간에 존재하는 엔터티
- 행위(active) 엔터티 : 2개 이상의 부모 엔터티로부터 발생, 비즈니스 프로세스를 실행하면서 생성되는 엔터티, 지속적 정보가 추가되고 변경되어 데이터양이 가장 많음
3. 엔터티의 특징
- 업무에서 필요로 하는 정보 포함
- 유일한 식별자를 가짐 (식별자에 의해 식별이 가능하도록, 관계엔터티 예외)
- 2개 이상의 인스턴스를 포함함 (인스턴트의 집합)
- 업무 프로세스에 이용됨
- 속성 없이 엔터티의 이름만 존재할 수 없음 (속성이 포함)
- 다른 엔터티와 최소 1개 이상의 관계가 존재 (통계성, 코드성, 내부필요 엔터티 예외)
4. 엔터티의 명명
- 엔터티 생성 의미대로, 실제 업무에서 사용하는 용어를 사용
- 약어를 사용 X, 단수명사 사용
- 이름이 동일한 엔터티가 중복으로 존재 X
3절 속성
-1.속성의 정의
- 업무에서 관리되는 정보
- 속성에는 하나의 속성값 존재
- 주식별자에게 함수적으로 종속되어, 기본키에 따라 속성의 값 변경 가능
- 함수적으로 종속: 데이터가 어떤 기준값에 의해 종속되는 현상
# 엔티티 : 2개 이상의 인스턴스의 집합
# 인스턴스 : 2개 이상의 속성
# 속성 : 1개의 속성값
-2. 속성의 특징
- 해당 업무에서 필요하고 관리해야 하는 정보
- 모든 속성은 정해진 주식별자에 함수적으로 종속되어야 함
- 하나의 속성은 한 개의 값만을 가짐
-3. 속성의 명명
- 현업에서 사용하는 이름으로 명명
- 약어 사용 x
- 속성명은 명사형일 것
- 수식어/소유격/서술식 x
- 유일성이 있을 것
-4. 속성의 분류
1)특성 분류
- 기본 속성 : 비즈니스 프로세스(업무)에서 도출한 본래의 속성
- 설계 속성 : 데이터 모델링 과정에서 만든 속성
- 파생 속성 : 다른 속성에 의해 만들어지는 속성 (통계, 평균값)
2) 엔터티 구성방식으로 분류
- PK 기본키 속성
- FK 외래키 속성
- 일반 속성
4절 관계
-1. 관계와 페어링(Pairing)- 관계 : 엔터티의 인스턴스 사이의 논리적인 연관성으로서 서로에게 연관성이 부여된 상태
- 페어링 : 엔터티 내 인스턴스간 개별적 관계 → 이것의 집합을 관계로 표현- 인스턴스의 집합 ⇨ 엔터티 페어링의 집합 ⇨ 관계
-2. 관계의 분류
1)ERD : 존재에 의한 관계 / 행위에 의한 관계 (구분 없이 단일화된 표기법 사용)
- 존재에 의한 관계 ex) 부서 - 사원
- 부서는 사원을 포함한다
- 사원이 부서에 소속된다
- 부서 +—< 사원
- 행위에 의한 관계 ex) 고객 - 주문
2) UML : 연관 관계 / 의존 관계 (실선과 점선 표기법으로 구분)
-3. 관계의 표기법
- 관계명 : 엔터티 간의 관계. 각 관계는 2개의 관계명 및 관점을 가짐
- 관계차수(Cardinality) : 1:1, 1:M, M:M (관계 엔터티 이용)
- 관계선택사양 : 필수는 I 선택은 O로 표시
5절 식별자
-1. 주식별자의 특징
- 유일성 : 주식별자에 의해 엔터티 내에 모든 인스턴스를 유일하게 구분할 수 있다.
- 최소성 : 주식별자를 구성하는 속성은 유일성을 만족하는 최소의 수가 되어야 한다.
- 불변성 : 주식별자가 한번 특정 엔터티에 고정되면 값이 변하지 않는다.
- 존재성 : 주식별자가 지정되면 반드시 값이 존재한다. null (x)
-2. 키의 종류
- 대표성 여부에 따른 분류
- 주식별자: 엔터티 내 각 데이터를 구분할 수 있는 구분자로, 타 엔터티와 참조관계 연결
- 보조식별자: 대표성이 없어 참조관계 연결 불가능
- 스스로 생성 여부에 따른 분류
- 내부식별자: 스스로 생성된 식별자
- 외부식별자: 다른 엔터티와의 관계로 생성되는 식별자
- 속성의 수에 따른 분류
- 단일식별자: 하나의 속성으로 구성된 식별자
- 복합식별자: 다수의 속성으로 구성된 식별자
- 대체 여부에 따른 분류
- 본질식별자: 비즈니스 프로세스에서 만들어지는 식별자
- 인조식별자: 인위적으로 만들어지는 식별자
댓글