본문 바로가기

Programming Theory/Data Modeling

Data Modeling 절차

요구사항분석 

논리모델링 

상세모델링 

물리모델링 

검증 및 확인 

 서비스분석

→ 업무요건분석

→ 개념적 실체 분석

주제영역 정의

→ 엔터티 정의

→ 관계 정의

→ 식별자 정의

→ 속성 정의

 정규화

→ 상세관계정의

→ 코드/도메인/단어사전 정의

 반정규화

→ 기본 인덱스 설계

→ 테이블 분할

 사용자 검증

→ 모델 확정


** 코드/도메인/단어사전

테이블 간 표준화를 위함

항목 

예시 

 코드

 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