본문 바로가기

SpringBoot

ch3 12. 데이터 모델링하는 방법

1. 분석 - 벤치마킹

- 주제 선정은 가능하면 일반적인 것으로 선택해야 구현이 쉬움

- 기존 사이트를 2~3곳 선정하여 가입 & 사용

- cafe24 쇼핑몰, 네이터 스토어에 쇼핑몰을 직접 만들고 운영

- 구현 범위를 결정하고, 해당 화면을 캡쳐해서 화면 정의서 작성

 

 

 

2. 설계 - 개념 모델링

- 주제 영역 정의 : 데이터 모델링의 대상과 범위를 정의. 

- 핵심 엔티티 정의 : 업무 주체, 대상, 자원, 장소에 해당하는 엔티티 추출

 

 

 

3. 설계 - 논리 모델링

- 엔티티 정의 : 행위, 주체, 대상, 장소(5W1H)

- 관계 정의 : 관계수, 선택성, 식별자 상속(식별 관계 / 비 식별 관계)

- 속성 정의 : 이름, 특성, 특징, 위치, 상태, 수량, 금액, 날짜, 시간, 사용여부

 

 

 

4. 설계 - 물리 모델링

- 엔티티를 테이블로 변환

- 속성을 컬럼으로 변환. 시스템 컬럼 추가(시스템적으로 필요한 컬럼)

- 무결성 설계 : PK, FK, Not Null, Unique, Check, defaul value

- 성능 향상 : 역정규화, 중복 컬럼 추가, 인덱스 추가, 파티셔닝(큰 테이블 분할)

 

 

- 각 테이블의 컬럼에 데이터를 넣어보면 실수를 확인하기 쉽다. 

 

 

5. 분류 테이블

- 대중소와 같이 고정적으로 분류하거나 상위와 하위와 같이 동적으로 분류

(고정적인건 성능은 좋지만 유연하지 못함. 동적은 성능은 떨어지지만 유연함)

- 계층의 수가 일정한 경우 고정적으로 분류. 분류 ID가 상위 분류의 ID를 포함

 

 

 

6. 코드 테이블

- 여러 종류의 코드 목록을 하나의 테이블로 관리