1. ERD란?
= 객체(E)-관계(R) 다이아그램(D)으로 테이블처럼 데이터를 담고 있는 도식이다
A <---<- B
: B는 A를 하나만 선택가능 하지만 A는 B를 여러개 선택가능하다
선 종류= 점선 - 선택적 관계이며 없어도 문제가 없다 / 실선 - 필수적 관계이며 무조건 있어야하는 관계다
2. 이상현상
원인 1) 데이터 삽입시 불필요한 NULL이 삽입원인 2) 삭제시 연쇄 삭제원인 3) 수정시 데이터 일관성이 깨짐
3. 정규화
= 데이터의 정합성을 확보하고 이상현상 발생을 피하기 위해 테이블을 분할하고 생성한다
[특징]
= 정확성 / 일치성 / 단순성
4. 정규화 종류
1) 제1정규형
= 관계형 DBMS에서 테이블 당 한 셀에 한 값만 저장가능
EX) 한 셀 안에 책 5권, 인성평가 등등
-> 콤마를 사용하여 열거 불가능! (수정, 삭제시 문제 해결)
2) 제2정규화
= 기본키와 키본키가 아닌 열 간의 종속관계(의존성)가 있을시 이를 별도의 테이블로 분리시킴
-> 정보 중복현상 방지(원인 1 해결)
3) 제 3 정규화
= 최종정규화
5. 정규화 장,단점
장점) - 정규화 정도가 높은지 낮은지로 판정
1) 높을시
= 유연한 데이터 구축 / 데이터의 정확성을 놓인다
2) 낮을시
= 물리적 접근이 단순하고 / 데어터 결합처리가 감소한다
6. 비정규화
= 정규화는 데이터 중복성을 줄이기 위해 사용하는데 조인같은 결합함수와 사용시 부하가 발생되어 정규화 이후 비정규화를 진수행한다
7. 반정규화
= 정규화된 모델을 성능향상과 개발,운영의 단순화를 위해 중복,분리,통합 등을 수행한다
* 정규화된 모델 -> 조회성능향상 -> 데이블, 칼럼, 관계 중복성 방지!
8. 성능 데이터 모델링
목적 : DB 성능을 향상시키며 위의 정규화, 반, 비정규화 등이 사용되는 이유다.
9. 성능 데이터 고려사항
-> 다음과 같은 프로세스로 진행한다
1) 데이터 모델링시 정규화를 정확하게 한다
2) 데이터베이스의 용량산정을 수행한다
3) 용량과 트랜젝션의 유형에 따라 반정규화 수행
4) 이력 모델 / PK,FK / 슈퍼타입, 서브타입 조정을 한다
5) 성능관점에서 데이터 모델을 검증한다
10. ERD 관계 설정하기
1] 실선과 점선의 차이점
1-1] 점선으로 표현
2. 필수참여 조건
2-1] 1:1 필수참여
2-2] 1: 다 참여
2-3] 다:다 참여
ERD 관계 참고 : https://velog.io/@kon6443/DB-ERD-%EA%B4%80%EA%B3%84-%EC%8B%9D%EB%B3%84%EC%9E%90-%EA%B4%80%EA%B3%84
'DB 이야기 > DB 도메인 설계' 카테고리의 다른 글
2] 식별자와 비식별자 관계 설정 (0) | 2020.08.11 |
---|---|
1] PK 컬럼 순서 (0) | 2020.08.07 |
모델링 기법 (0) | 2020.03.23 |
디비 이야기 5. 데이터 타입 (0) | 2020.03.01 |
디비 이야기 1. 데이터 베이스들(관계, 계층 (0) | 2020.02.29 |