1. 분석 - 벤치마킹
- 주제 선정은 가능하면 일반적인 것으로 선택해야 구현이 쉬움
- 기존 사이트를 2~3곳 선정하여 가입 & 사용
- cafe24 쇼핑몰, 네이터 스토어에 쇼핑몰을 직접 만들고 운영
- 구현 범위를 결정하고, 해당 화면을 캡쳐해서 화면 정의서 작성
2. 설계 - 개념 모델링
- 주제 영역 정의 : 데이터 모델링의 대상과 범위를 정의.
- 핵심 엔티티 정의 : 업무 주체, 대상, 자원, 장소에 해당하는 엔티티 추출

3. 설계 - 논리 모델링
- 엔티티 정의 : 행위, 주체, 대상, 장소(5W1H)
- 관계 정의 : 관계수, 선택성, 식별자 상속(식별 관계 / 비 식별 관계)
- 속성 정의 : 이름, 특성, 특징, 위치, 상태, 수량, 금액, 날짜, 시간, 사용여부

4. 설계 - 물리 모델링
- 엔티티를 테이블로 변환
- 속성을 컬럼으로 변환. 시스템 컬럼 추가(시스템적으로 필요한 컬럼)
- 무결성 설계 : PK, FK, Not Null, Unique, Check, defaul value
- 성능 향상 : 역정규화, 중복 컬럼 추가, 인덱스 추가, 파티셔닝(큰 테이블 분할)

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

5. 분류 테이블
- 대중소와 같이 고정적으로 분류하거나 상위와 하위와 같이 동적으로 분류
(고정적인건 성능은 좋지만 유연하지 못함. 동적은 성능은 떨어지지만 유연함)
- 계층의 수가 일정한 경우 고정적으로 분류. 분류 ID가 상위 분류의 ID를 포함

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

'SpringBoot' 카테고리의 다른 글
| ch4 02. 엔티티 매니저 팩토리와 엔티티 매니저 (0) | 2023.07.31 |
|---|---|
| ch4 01. JPA의 개요와 설정 (0) | 2023.07.31 |
| ch3 11. 데이터 모델링이란 (0) | 2023.07.31 |
| ch3 10. AOP 원리와 용어 (0) | 2023.07.31 |
| ch3 09. 외부 설정 사용하기 (0) | 2023.07.31 |