본문 바로가기
자격증/데이터아키텍처 준전문가(DAsP)

DAsP(4과목) 4-3. 논리-물리 모델 변환

by 김엉배 2023. 9. 12.
728x90
반응형

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

- 논리 영역과 물리 영역을 보는 시각은 여러 가지 관점에서 조금씩은 다르다. 특히 학자, 모델링 툴도 이러한 차이는 존재한다.


 

 

 

 

 

 

2.  엔터티 - 테이블 변환


가) 테이블 설명

- 테이블은 데이터를 저장하기 위해서 생성된 데이터베이스에서의 가장 기본적인 오브젝트이다.

  • 테이블(Table)
    - 테이블은 기본적으로 칼럼(Column)과 로우(Row)를 가진다. 각각의 칼럼은 지정된 유형의 데이터 값을 저장하는 데 사용된다.

  • 로우(Rows)
    - 테이블의 한 로우에 대응. 튜플 , 인스턴스, 어커런스라고도 한다.

  • 칼럼(Columns)
    - 각 사원 개개인의 관리 항목에 대한 Value를 저장한다.

  • 기본키(Primary keys)
    - 하나의 칼럼 혹은 몇 개의 칼럼 조합으로 어떤 경우라도 테이블 내에 동일한 값을 갖는 튜플이 존재하지 않도록 한다.

  • 외래키(Foreign keys)
    - 외부 데이터 집합과의 관계를 구현한 구조이다.

 

나) 서브타입 변환(Transformation)

- 논리 데이터 모델에서는 비즈니스 또는 업무를 데이터 모델로 표현하기 위해서는 최대한 상세한 표현이 필수적이다.

- 서브타입 모델은 단순 엔터티-테이블 변환과는 다른 몇 가지 방법을 통해서 테이블로 변환 작업을 하게 된다.

  • 슈퍼타입 기준 테이블 변환
    - 서브타입을 슈퍼타입에 통합하여 하나의 테이블로 만든다.
    - 이 통합된 테이블에는 모든 서브타입의 데이터를 포함해야 한다.
    - 주로 서브타입에 적은 양의 속성이나 관계를 가진 경우에 적용된다.

 

 

  • 서브타입 기준 테이블 변환
    - 슈퍼 타입 속성들을 각 서브타입에 추가하여 각각의 서브타입마다 하나의 테이블로 만든다.
    - 분할된 테이블에는 해당 서브타입의 데이터만 포함돼야 한다.
    - 주로 서브타입에 많은 양의 속성이나 관계를 가진 경우에 적용된다.

 

  • 개별타입 기준 테이블 변환
    - 슈퍼타입과 서브타입을 각각 테이블로 변환한 경우이다.
    - 슈퍼타입과 서브타입 테이블 간에는 1:1 관계가 생성된다.

 

 

 

 

3.  속성 - 칼럼 변환

- 속성이나 관계를 물리 데이터 모델 객체로 변환하는 데 있어서 사례 데이터 표를 작성해 보는 것은 실제 데이터가 어떤 형태로 저장되는지, 어떠한 예외사항이 존재할 수 있는지 등을 용이하게 파악할 수 있도록 도움을 준다.


가) 일반 속성 변환

  • 엔터티에 있는 각 속성들에 대한 칼럼명을 사례 데이터 표의 칼럼명 란에 기록한다.
  • 프로그래머와 사용자의 혼동을 피하기위해 가능한 표준화된 약어를 사용한다.
  • 표준화된 약어의 사용은 SQL 해독 시간을 감소시킨다.
  • SSQL의 예약어(reserved word)의 사용을 피한다.
  • 가급적 칼럼 명칭은 짧은 것이 좋으며, 짧은 명칭은 개발자의 생산성에 긍정적인 영향을 준다.
  • 필수 입력 속성은 Nulls/Unique 란에 NN을 표시한다.
  • 실제 테이블에 대한 설계를 검증하기 위한 목적으로 가능하다면 표본 데이터를 입력시킨다.

 

나) Primary UID 기본키(Primary Key) 변환

  • 사례 데이터 표의 키 형태 란에 엔터티의 Primary UID에 속하는 모든 속성에 PK를 표시
  • PK로 표시된 모든 칼럼은 Nulls/Unique 란에 반드시 NN, U로 표시되어야 함
  • 여러 개의 칼럼으로 UID가 구성되어 있는 경우는 각각의 칼럼에 NN,U1을 표시
  • 또 다른 Unique Key(Secondary UID)가 있다면 U2로 표시

 

다) Primary UID(관계의 UID Bar) 기본키(Primary Key) 변환

- 해당 엔터티 자체에서 생성된 것도 존 재하지만 다른 집합(엔터티)으로부터의 관계에 의해서 생성되는 UID 속성(관계 속성)도 존재한다. 이러한 관계 속성 UID의 변환은 기본적인 속성 UID 변환과는 약간 다르다.

 

라) Secondary (Alternate) UID Unique Key 변환

  • 논리 데이터 모델에서 정의한 Secondary UID 또는 Alternate Key 들은 해당 집합과 상태 집합과의 선택적인 관계를 가질 수 있도록 하는 데 중요한 역할을 수행한다.
  • Secondary UID 들은 물리 데이터 모델에서는 Unique Key로 생성된다. 변환 절차는 기본적으로 Primary UID 변환 절차와 동일.

 

 

 

 

4.  관계 변환


가) 1:M 관계 변환

  • 논리 데이터 모델에서 존재하는 관계에 따라서 관계 칼럼의 선택사양이 결정되게 된다.

 

 

나) 1:1 관계 변환

  • 1:1 관계를 물리 모델로 변환하는 과정은 관계의 Optionality(기수성)에 따라서 다른 방법으로 적용된다.
  • 양쪽 다 Optional인 경우에는 보다 빈번하게 사용되는 테이블이 외래키를 가지는 것이 유리하다.

 

다) 1:M 순환 관계 변환

  • 대부분의 경우는 데이터의 계층 구조를 표현하기 위해서 이러한 관계를 사용한다.
  • 특성상 최상위 관계 속성은 항상 Optional인 형태의 관계이어야 한다. 하지만 경우에 따라서는 최상위의 관계 속 성에 특정 값을 지정하는 경우도 존재한다.

 

 

라) 배타적 관계 변환

  • 논리 모델에서의 배타적 관계의 모델은 실제 데이터 환경에서는 자주 등장 하게 된다. 하지만 이러한 관계를 물리 데이터 모델로 생성하는 방법은 일반적인 관계를 물리 데이 터 모델로 변환하는 것과는 다르다.

 

 

5.  데이터 타입 선택

- 특정 칼럼의 데이터 형식을 선택하는 것은 논리 데이터 모델에서 정의된 논리적인 데이터 타입(정보 타입 : Information Type)을 물리적인 DBMS의 특성과 성능 등을 고려하여 최적의 데이터 타입을 선택하는 작업이다.


가) 문자 타입 (Character Data Types)

  • 논리 데이터 모델에서의 형식이 문자였다면 세부적으로 많은 문자 형식들 중에서 칼럼의 값이 어 떤 범주를 만족하는지를 판단해야 함
  • 유니코드 형식은 모든 문자를 2바이트(Byte) 체계로 설계한 국제 표준 문자 형식

 

나) 숫자 타입 (Numeric Types)

  • 숫자 타입의 데이터 타입도 DBMS마다 많은 형식이 존재한다.
  • 많은 숫자 타입들 중에서 주어진 상황에 맞는 가장 적절한 데이터 타입을 설정해야 한다.

 

다) 날짜 타입 (Datetime Types)

  • 특정 데이터 항목에 대해서 날짜 타입으로 할 것인지 아니면 문자 타입으로 할 것인지는 이미 논리 데이터 모델에서 결정된다.

 

 

 

 

6.  데이터 표준 적용

- 이름을 변환하는 과정에서 전사적으로 미리 생성된 데이터 표준을 따르게 된다. 이러한 데이터 표준에는 대표적으로 표준 용어, 표준 도메인, 표준 명명 규칙 등이 존재한다.


가) 데이터 표준 적용 대상

  • 데이터베이스(Database)
    - 테이블의 집합으로 통합 모델링 단계의 주제 영역이나 애플리케이션 모델링 단계의 업무 영역에 대응되는 오브젝트이다.

  • 스토리지 그룹(Storage Group)
    - 물리적인 디스크(Disk)를 묶어서 하나의 그룹으로 정 의해 놓은 것이며 테이블스페이스, 인덱스 스페이스 생성 시 스토리지 그룹명을 지정하여 물리적인 영역을 할당하도록 한다.

  • 테이블스페이스(Tablespace)
    - 테이블이 생성되는 물리적인 영역이며, 하나의 테이블 스페이스에 하나 또는 그 이상의 테이블을 저장할 수 있다.

  • 테이블(Table)
    - 논리 설계 단계의 엔터티에 대응하는 객체이다.

  • 칼럼(Column)
    - 논리 설계 단계의 속성에 대응하는 객체이다.

  • 인덱스(Index)
    - 테이블에서 특정 조건의 데이터를 효율적으로 검색하기 위한 색인 데이터로 대표적인 인덱스 대 상 으로는 기본키(Primary Key), 외래키(Foreign Key)등이 있다.

  • 뷰(View )
    - 테이블에 대한 재정의로서 물리적으로 테이블의 특정 칼럼, 특정 로우를 뷰로 정의하여 특정 사용자만 접근이 가능하도록 할 수 있다.

 

 

나) 데이터 표준 적용 방법 

  • 명명 규칙에 의한 표준화 적용
    - 논리 데이터 모델을 물리 데이터 모델로 전환시 테이블명은 엔터티 한글명과 동일하게 용어를 사용하면서 해당 용어를 영문명으로 전환한다.
    -
    영문명은 영문 약어를 사용하며, 표준 용어 사전에 등록된 표준 영문 약어를 참조한다.

  • 표준 용어집에 의한 표준화 적용
    - 사전에 사용될 모든 객체명과 해당 객체에 대한 데이터 타입, 길이 등의 표준을 정의해 놓고 이 표준들을 적용하는 방식이다.
728x90
반응형