요구사항분석 |
논리모델링 |
상세모델링 |
물리모델링 |
검증 및 확인 |
서비스분석 → 업무요건분석 → 개념적 실체 분석 |
주제영역 정의 → 엔터티 정의 → 관계 정의 → 식별자 정의 → 속성 정의 |
정규화 → 상세관계정의 → 코드/도메인/단어사전 정의 |
반정규화 → 기본 인덱스 설계 → 테이블 분할 |
사용자 검증 → 모델 확정 |
** 코드/도메인/단어사전
테이블 간 표준화를 위함
항목 |
예시 |
코드 |
code_value, code_name, code_desc 를 별도 테이블에서 관리하고, 업무 테이블에서는 code_value 만을 가지고 있는 것. 1) 업무 테이블에서 code_name, code_desc을 가지고 있을 필요가 없어서 record 크기가 줄어든다. 2) code_value, code_name, code_desc 을 각각의 업무테이블이 아닌 1개의 table 에서 관리하기 때문에 1개의 code_value 에 대해 동일한 code_name, code_desc 이 설정됨 |
도메인 |
A table 의 emp_no 와 B table 의 emp_no 가 동일한 데이터 type을 가지도록 설정 ex) varchar2(10) |
단어사전 |
[사번 : emp_no] 로 정의함 A table 의 B table 의 동일한 logical 속성명에 대해 physical 속성명이 다르면 안됨. logical 속성을 physical 속성으로 변환할 때 단어사전에 등록된 단어 쌍을 활용해 변환 |
** 정규화
http://hyoseokchoi.tistory.com/entry/%EC%A0%95%EA%B7%9C%ED%99%94** 테이블 분할
속성이 too many → 수직 분할
데이터가 too many → partition에 기초해서 수평 분할
'Programming Theory > Data Modeling' 카테고리의 다른 글
Data Modeling pattern (0) | 2016.07.22 |
---|---|
논리 모델링 (0) | 2016.07.21 |
정규화 (0) | 2016.07.20 |