일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- C#함수
- outerjoin
- 데이터삽입
- BeutifulSoup
- db개발자
- SQL개발자
- 대리자
- 라즈베리파이
- trycatch문
- SQL전문가
- Python
- ISTQB
- 완전수
- 랜덤수출력
- 질의작성기
- 코딩연습
- 저장프로시저
- sqld요점정리
- c#
- Django
- mtv패턴
- 역순출력
- sqld1과목
- 람다식
- 아두이노
- SQLD
- istqb-al
- sqld요약
- Oracle
- 파이썬
- Today
- Total
JIMINOTE
[SQLD] 1과목 매우 간단 요약 본문
시험까지 D-10... 할 수 있다... ^^..! ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
PART 1. 데이터 모델링의 이해
<모델화 특징>
- 추상화: 현실세계를 일정한 형식에 맞추어 표현
- 단순화: 복잡한 현실세계를 약속된 규약에 제한된 표기법이나 언어로 표현
- 명확화: 누구나 이해하기 쉽게 대상의 애매모호함 제거하여 정확하게 현상 기술
<데이터 모델링>
(추상적)개념적-->논리적-->물리적(구체적)(재사용성↓)
-개념적: 추상화, 포괄적
-논리적:재사용성 높음(정규화), 관계 표현
-물리적: 실제 데이터베이스 이식할 수 있도록 물리적 성격 고려
<데이터 모델링의 3 요소>
어떤 것(Things), 성격(Attributes), 관계(Relationships)
<엔터티의 특징>
-유일한 식별자
-두 개 이상의 인스턴스의 집합
-반드시 속성이 있어야 함
-다른 엔터티와 최소 1개이상의 관계 있어야 함
엔터티>인스턴스>속성
<엔터티의 분류>
-유무형에 따른 분류
* 유형: 물리적인 형태, 안정적 (ex>사원, 물품, 강사)
* 개념: 물리적인 형태가 아니라, 관리해야 할 개념적 정보 (ex>조직, 보험상품)
* 사건: 업무 수행 시 발생, 통계자료 이용 (ex>주문, 청구, 미납)
-발생시점에 따른 분류
* 기본: 그 업무에 원래 존재하는 정보. 독립적으로 생성 가능. 고유한 주식별자 가짐 (ex>사원, 부서)
* 중심: 기본 엔터티로부터 발생. 업무에 있어 중심적인 역할 (ex>계약, 접수)
* 행위: 2개 이상의 부모엔터티로부터 발생. 내용이 자주 바뀌거나 데이터 양 증가 (ex>주문목록, 계약진행, 사원변경이력)
★★★★★★★★★★★★★★★★★★★★
한 개의 엔터티는 2개이상의 인스턴스 집합
한 개의 엔터티는 2개이상의 속성을 가짐
한 개의 속성은 1개의 속성값을 가짐
★★★★★★★★★★★★★★★★★★★★
<도메인>
: 각 속성이 가질 수 있는 값의 범위
<페어링>
: 엔터티안에 인스턴스가 개별적으로 관계를 가지는 것
<(주)식별자의 특징>
유일성, 최소성, 존재성, 불변성
<식별자 분류>
-대표성 여부: 주식별자(참조관계 연결o), 보조식별자(참조관계 연결x)
-스스로 생성여부: 내부식별자(스스로 생성), 외부식별자(타 엔터티로부터 받아오는 식별자)
-대체여부: 본질식별자(업무에 의해 만들어짐), 인조식별자(인위적으로 만들어짐)
----------------------------------------------------------------------------------------------------
PART 2. 데이터 모델과 성능
<성능 데이터 모델링 고려사항 순서>
1. 정규화
2. 용량 산정
3. 트랜잭션 유형 파악
4. 반정규화
5. 이력모델 조정, pk/fk 조정, 슈퍼/서브타입 조정
6. 성능관점에서 데이터 모델 검증
<정규화>
:반복적인 데이터를 분리하여, 각 데이터가 종속된 테이블에 적절히 배치되도록 함.
수행 시, 데이터 처리(DML)성능 향상, but 조회는 향상or저하
<반정규화>
:정규화 된 엔터티, 속성, 관계에 대해 시스템의 성능향상과 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 기법.
<로우체이닝>
:로우 길이가 너무 길어서, 두 개의 블록에 걸쳐 하나의 로우가 저장되어 있는 형태
<로우 마이그레이션>
:데이터 블록에서 수정이 발생하면 , 수정 데이터를 해당 데이터 블록에서 저장하지 못하고 다른 블록의 빈 공간을 찾아 저장
<파티셔닝>
-RANGE PARTITON
:날짜 또는 숫자값으로 분리 가능. 각 영역별로 트랜잭션이 분리가능할 때 적용
-LIST PARTITON
:특정값 지정. 핵심적인 코드값으로 pk가 구성되어 있고 대량의 데이터가 있는 테이블의 경우
-HASH PARTITON
:지정된 해시 조건에 따라 해시 알고리즘이 적용되어 테이블 분리
<분산 DB를 만족하기 위한 6가지 투명성>
1. 분할 투명성(단편화)
: 하나의 논리적인 relation이 여러 단편으로 분할되어, 각 사본이 여러 site에 저장
2. 위치 투명성
: 사용하려는 데이터의 저장 장소 명시 불필요. bcz, 위치정보가 시스템 카탈로그에 유지
3. 지역사상 투명성
: 지역 DBMS와 물리적 DB사이에 mapping보장
4. 중복 투명성
: DB 객체가 여러 site에 중복되어 있는지 알 필요 x
5. 장애 투명성
: 구성요소의 장애와 무관한 트랜잭션의 원자성 유지
6. 병행 투명성
: 다수 트랜잭션 동시 수행 시 결과의 일관성 유지
'데이터베이스 > SQLD' 카테고리의 다른 글
[SQLD] 합격 후기 (2) | 2020.10.07 |
---|---|
[SQLD] 2과목 매우 간단 요약 (0) | 2020.09.02 |