본문 바로가기

Data Architecture

논리 - 물리 모델 변환

 

1. 논리 데이터 모델 - 물리 데이터 모델 변환 용어

분석 설계

논리 데이터 모델링 -> 물리 데이터 모델링

ER Model Physical Model

Entity Table

Attribute Column

Primary UID Primary Key

Secondary UID Unique Key

Relationship Foreign Key

Business Constraints Check Constraints

 

 

2. 엔터티 - 테이블 변환

 

1) 테이블 설명

- 테이블, 로우, 컬럼, 기본키, 외래키

 

 

2) 서브 타입 변환

종류

구성요건

장점

단점

통합

주로 서브타입에 적은 량의 속성이나 관계를 가진 경우

- 데이터 액세스가   간편

- 뷰를 활용하여  서브타입만을 액세스 하거나 수정 가능

- 수행속도가 좋은 경우가 많음

- 서브타입 구분 없는 임의 집합의 가공이 용이함

- 다수의 서브타입을 통합한 경우 조인 감소 효과 

- 복잡한 처리를 하나의 sql로 통합하기 용이

- 특정 서브타입의 Not Null 제한 불가

- 테이블의 칼럼  증가

- 테이블의 블록  증가

- 처리시 마다 서브타입의 구분 필요가 많음

- 인덱스 크기 증가

각각의 테이블로

주로 서브타입에 많은 양의 속성이나 관계를 가진 경우 적용

- 각 서브타입의 속성들의 선택 사양이 명확한 경우 유리

- 처리시마다 서브타입 유형 구분 불필요

- 전체 테이블 스캔  유리

- 단위 테이블의 크기 감소

- 서브타입 구분 없이 데이터 처리하는 경우 Union 발생

- 처리 속도가 길어지는 경우가 많음

- 트랜잭션 처리  여러 테이블을 처리하는 경우 증가

- 복잡한 처리의 SQL 통합이 어려워 

- 부분 범위 처리가 불가능해질  있음

- 여러 테이블을 합친 뷰는 조회만 가능

- UID 유지 관리가 어려움

아크관계

- 전체 데이터 처리가 빈번하게 발생하는 경우

- 서브타입의 처리는 주로 독립적으로 발생할 경우

- 테이블을 통합했을  컬럼 수가 너무 많아지는 경우

- 서브타입의 컬럼 수가 많아지는 경우

- 트랜잭션이 주로 슈퍼타입에서 발생하는 경우

- 슈퍼타입의 처리 범위가 넓고 빈번하여 단일 테이블 클러스터링을 해야할 경우

 

 



3. 속성 - 컬럼 변환

 

 

일반 속성 변환

- 컬럼의 명칭은 속성의 명칭과 일치할 필요는 없으나, 프로그래머와 사용자의 혼돈을 피하기 위하여 가능한 표준화된 약어를 사용

- SQL 예약어는 피한다

- 컬럼 명칭은 짧은 것이 좋다

- 가능하다면 표본 데이터를 입력시킨다.

 

 

Primary UID -> 기본키 변환

- 키 형태란에 엔터티의 Primary UID에 속하는 속성들에 PK를 표시

- PK로 표시된 모든 컬럼들은 Nulls / Unique 란에 반드시 NN, U 표시

- 여러 개의 컬럼으로 UID가 구성되어 있는 경우는 각각의 컬럼에 NN, U1 표시

- 또 다른 Unique Key가 있다면 U2 표시

 

 

Primary UID(관계의 UID Bar) -> 기본키 변환

- 테이블에 외래키 컬럼을 포함

- PK의 일부분으로 표시

 

 

Secondary UID -> Unique 키 변환

- 변환 절차는 기본적으로 Primary UID 변환 절차와 동일

관계

특성

변환절차

주의점

1:M

M쪽 관계의 형태에 따라 관계 컬럼의 선택사양 결정

- 1에 있는 PK를 M의 FK로 변환

1) FK의 명칭 결정

2) 키 형태란에 FK 표시

3) 필수 관계일 경우 NN표시

- 표본 데이터 추가

- UID Bar가 있는 경우는  단계에서 실시

부모쪽이 Mandatory 관계일 때의 주의 사항

- 자식쪽의 레코드가 반드시 하나 이상은 되어야만 부모 쪽의 레코드를 생성가능

- 자식쪽 레코드를 삭제할 경우에는 전체를  삭제할 수는 없고 반드시 하나 이상의 자식 레코드를 남겨둬야 한다. 또는 자식, 부모 레코드를 동시에 삭제해야 한다.

1:1

- 논리 모델에서는 자주 발생하지 않음

- 물리 모델로 변환하는 과정은 관계의 선택사양에 따라 다른 방법으로 적용

- 선택 테이블의 PK를 필수 테이블의 FK로 변환

- NN 표시

- 모든 FK 부분은 Unique Key가 필수

- 필수-선택 관계 : 필수가 FK를 가짐

- 선택-선택 관계 : 빈번하게 사용되는 테이블이 FK를 가짐

- 필수-필수 관계 : 어느 쪽에 FK를 가질지 선택 필요

1:M 순환 관계

- 최상위 관계 속성은 항상 선택인 형태

- 하지만 경우에 따라서는 최상위의 관계 속성에 특정 값을 지정하는 경우도 존재

- 해당 테이블 내에 FK 컬럼을 추가

- FK는 동일 테이블 내의 다른 로우의 PK 컬럼 참조

- FK 컬럼 명칭은 가능한 관계 명칭 반영

- FK는 결코 Not Null이   없음

 

아크

FK 분리방법

- 각각의 관계를 관계 컬럼으로 생성

- FK 제약 조건을 생성할  있는 장점

- 각각의 FK 컬럼들이 선택이어야 한다.

- 추가적인 체크 제약조건

 

 

FK 결합방법

- 각각의 관계를 하나의 관계 컬럼으로 생성

- 구분 컬럼 추가

- 단점

1) FK 제약조건을 생성할  없다.

2) 각각의 관계를 선택적으로 구분할  있는 구분컬럼 추가 필요

 

 

 

4. 데이터 타입 선택

- 개념

- 문자타입

- 숫자타입

- 날짜타입

 

 

5. 데이터 표준 적용

 

 

- 개념 : 표준 용어, 표준 도메인, 표준 명명규칙

- 데이터 표준 적용 대상 : 데이터베이스, 스토리지 그룹, 테이블스페이스, 테이블, 컬럼, 인덱스, 뷰

- 데이터 표준 적용 방법