✔︎ 데이터 모델링의 중요성 및 유의점 : 중복, 비유연성, 비일관성
데이터 모델링 : 개념적, 논리적, 물리적 데이터 모델링
현실 세계를 추,단,명 하기 위해 일정 표기법에 의해 표기한 것
= 데이터관점 + 프로세스관점 + 상관관점
모델링의 3가지 요소 : 엔티티, 관계, 속성
데이터 독립성 요소 : 외부, 개념, 내부 스키마
데이터 독립성 : 논리적 독립성, 물리적 독립성
논리적 사상 : 외부 - 개념
물리적 사상 : 개념 - 내부
✔︎ 모델링의 특징 : 추상화, 단순화, 명확화
ERD 작업 순서 : 엔티티 그림 > 엔티티 배치 > 관계설정 > 관계명 > 참여도 기술 > 필수여부
✔︎ 좋은 데이터 모델의 요소 : 완전성, 중복배제, 업무규칙, 데이터 재사용, 의사소통, 통합성
✔︎ 엔티티 특징 : 반드시 업무에 필요, 식별자에 의에 식별 가능, 두 개 이상 인스턴스, 업무 프로세스에 이용, 속성 필수, 최소 1개 이상의 관계
✔︎ 엔티티 분류
유무형 : 유형, 개념, 사건
발생 시점 : 기본, 중심, 행위
속성 : 업무상 관리의 최소의 단위
✔︎ 속성의 분류 : 기본, 설계, 파생
특징 : 해당 업무의 필요하고, 한 개의 속성값, 함수정 종속성을 가짐
✔︎ 도메인 : 속성에 대한 데이터 타입, 크기, 제약사항 등 지정
관계 : 논리적 연관성
분류 : 존재, 행위
연관 관계(실선) : 소속된다.
의존 관계(점선) : 주문한다.
✔︎ 관계 체크사항 : 연관규칙O? 정보의 조합? 관계연결 규칙 서술? 관계를 연결하는 동사?
✔︎ 식별자의 특징 : 유일성, 최소성, 불변성, 존재성
✔︎ 식별자 분류 :
대표성 여부 > 주, 보조
스스로 생성 여부 > 내부, 외부
속성의 수 > 단일, 복합
대체 여부 > 본질, 인조
주식별자 : 자식의 주식별자로 부모의 주식별자 상송
비식별자 : 부모 속성을 자식의 일반 속성으로 사용
: 정규화, 반정규화, 테이블 통합, 분할 등등
: 데이터의 용량이 커지고 속도는 빠르게 처리되어야 할 때
성능 데이터 모델링 순서 : 정규화> 용량산정> 트랜잭션> 반정규화> 이력모델 등 조정> 검증
함수적 종속성 : 데이터들이 어떤 기준 값에 의해 종속되는 현상
정규화 : 반복적인 데이터 분류, 적절하게 배치
-> 중복을 최소화하기 위해 데이터를 구조화 하는 것
1차 정규화 : 같은 성격 및 내용의 컬럼을 제거, 테이블 생성
2차 정규화 : 부분적 함수 종속 관계 테이블 분리
3차 정규화 : 일반 속성의 종속적 컬럼 분리
반정규화 : 정규화된 모델링에 대해 성능향상, 단순화를 위해 중복, 통합, 분리 등 수행하는 데이터 모델링 기법
일반적으로 정규화시 입력, 수정, 삭제 성능이 향상, 반정규화시 조인 성능 향상
반정규화 절차 : 대상조사(범위처리빈도수, 대량의범위처리, 통계성 프로세스, 테이블 조인 개수) -> 다른 방법 유도(데이터 무결성 무보장 때문에)
테이블 반정규화 : 병합(1:1, 1:M, 슈포/서브타입), 분할(수직, 수평), 추가(중복, 통계, 이력, 부분)
컬럼 반정규화 : 중복컬럼, 파생컬럼, 이력테이블 컬럼, 응용시스템 오작동을 위한 컬럼, PK에 의한 컬럼
관계 반정규화 : 중복관계 추가
: 트랜잭션이 분산처리 될 수 있도록
한 테이블에 데이터가 대량이면 : I/O량 증가로 성능 저하
⬇️ 하나의 테이블에 여러 컬럼이 존재
로우체이닝 : 두 개 이상 블럭에 걸쳐
로우마이그레이션 : UPDATE시 다른 블록의 빈 공간에
⬇️ 논리적으로는 하나의 테이블이지만, 물리적으로 테이블 스페이스를 분할하여 저장하는 파티셔닝 적용
RANGE PARTITION : 날짜, 숫자값으로 분리, 각 영역별로 트랜잭션 분리(기간)
LIST PARTITION : 핵심적인 코드가 PK, 대량의 데이터가 있는 테이블(일자)
HASH PARTITION : HASH알고리즘 적용해 분리
인덱스의 특징 : 여러 개의 속성이 하나의 인덱스로 구성되어 있을 때 앞쪽에 위치한 속성의 값이 비교자로 있어야 좋은 효율을 나타냄
: 여러 곳으로 분산되어 있는 DB를 하나의 가상 시스템으로 사용할 수 있도록
6가지 투명성 : 위치, 분할, 장애, 지역사상, 중복, 병행
장점 : 지역자치성, 신뢰성, 효용성, 융통성, 빠른 응답속도, 비용절감
단점 : 비용증가, 설계의 복잡성, 데이터 무결성 위협, 불규칙한 응답속도
분산DB 적용 기법 : 테이블 (위치, 분할, 복제, 요약) 분산
업무의 흐름에 따른 아키텍쳐 특징으로 DB를 구성
분산 DB 설계를 고려해야 하는 경우 - 성능이 중요할 때, 백업 사이트 구성, 특정 서버에 부하가 집중 ...