데이터 모델링의 주요 개념

- 정규화
테이블을 쪼개는 것 <-> 역정규화
for 중복 제거

- 모델링 3단계
개념 -> 논리 -> 물리

1) 개념 모델링
업무 파악(요구사항 파악)

2) 논리 모델링
업무를 DB화

3) 물리 모델링
논리 모델링의 성능 향상
엔티티 추출 -> 테이블화

 

 

 

 

i) 데이터 모델링 이론

ER 모델 (Entity-Relationship Model)의 구성요소 : 엔티티(Entity), 관계(Relationship), 속성(Attribute)

 

1) 엔티티
클래스, 객체라고 생각하면 될 것 같다.


2) 관계 (엔티티 간의 관계)
- 관계수(Cardinality) : 일 대 다수인가? 
직원-인턴 (일 대 일), 보안-일반데이터와 보안이 필요한 데이터를 따로 분리하여, 
1:1로 join해서 데이터를 보여줌
고객-주문, 부서-직원 (일 대 다수)
학생-수강신청 (다 대 다수)

- 선택성(Optionality) : 서로 필수관계인가?
1. 필수 - 필수 관계 : 주문과 주문상품
상품을 선택하지 않고 주문을 할 수는 없다.
반대로 주문상품도 주문이 존재해야 함.

2. 필수 - 선택 관계 : 고객과 주문
주문하지 않은 고객은 있을 수 있으나, 주문이 있으면 반드시 주문한 고객이 있어야 한다.

3. 선택 - 선택 관계 : 소개사원과 등록된 계좌
사원은 소개사원으로 등록된 계좌가 존재하지 않을 수 있고, 
계좌도 소개 사원을 지정하지 않은 계좌가 존재할 수 있다.

3) 속성

속성명 : 실체의 특성을 규정하는 속성 명칭. ex) 주문번호, 주문일자 등...

식별자여부 : 해당 속성이 엔티티 식별자에 해당하는지 여부

옵셔널리티 : 속성이 반드시 특정 값을 가져야 하는지에 대한 구분.

Mandatory(반드시 값을 가져야 함), Optional(값을 갖지 않아도 됨), Conditional(특정 조건에 해당하는 경우에는 반드시 값을 가져야 함)

도메인 : 데이터 형식과 범위

 

 

- 식별자 상속
PK를 다른 테이블에서 FK로써, PK로 사용하는 경우 식별 관계
그렇지 않은 경우는 비식별 관계

 

관계형 데이터 모델 이론

관계형 데이터 모델은 데이터를 2차원 테이블(표) 형식으로 정의함.

릴레이션 스키마(헤더)와 실제 값인 릴레이션 인스턴스(본문)으로 구성됨

 

- 관계형 모델의 키

슈퍼 키(Super Key) > 후보 키(Candidate Key) > 기본 키(PK), 대체 키(Alternate Key)

 

- 제약 조건 (for 데이터의 무결성)

키 제약조건(다른 키 값과 중복되지 않아야 함),

무결성 제약조건(Not Null, 정의된 범위 안, 참조하는 값의 무결성)으로 나눌 수 있다.

 

- 정규화

작은 단위의 테이블로 설계하는 과정.

정규화를 너무 심하게 하면 조인(Join)이 빈번하게 발생하여 성능이 저하될 수 있음.

 

제1 정규형 : 중복되는 행이 없어야 하고, 다중값을 가지지 않아야 함.

제2 정규형 : 후보키에 종속적이지 않거나 후보키 일부 어트리뷰트에 종속적인 어트리뷰트는 별도 테이블로 분리해야 한다.

제3 정규형 : 키가 아닌 어트리뷰트(속성)간에는 서로 종속적인 관계가 없어야 한다.

 

★중복제거★

 

 

ii) 개념 모델링

현행업무분석, 현행데이터 분석


 

 

'간단 요약' 카테고리의 다른 글

221206 SQLD 학습  (0) 2022.12.07
Vue.js 튜토리얼 정리  (0) 2022.11.20
220404 Java 14장 스트림 간단 요약  (0) 2022.04.05

+ Recent posts