엔터프라이즈가 통합 데이터 모델을 갖추기 위해서는 데이터에 대한 패러다임 변화를 요구한다. 우리가 시각적으로 인지하는 데이터는 한 엔티티의 성격을 나타내는 속성 값이다. 전산화 시대에서는 장표에 나타난 데이터를 정규화(Normalization) 과정을 통해 엔티티 유형을 도출하고 정의하여 데이터 모델을 완성했다. 정보화 시대에서는 비즈니스 아키텍처를 기반으로 데이터 아키텍처를 정의하며 먼저 엔티티 유형과 관계 유형을 도출하여 데이터 모델링 과정을 수행한다. 엔티티 유형에 대한 성격을 정의하며 속성 유형을 도출하고 속성 유형에 대한 값을 파악하며 데이터를 정의하게 된다.

두 데이터 모델링 방식의 차이는 데이터의 중복성(redundancy)을 배제하고 통합(Integrated) 데이터 모델을 완성하는 중요한 관점요소이다. 사용자 인터페이스(UI)를 통해 인지되는 데이터를 통해 모델링이 이루어졌을 때는 중복성을 피할 수 없고 엔티티 유형 내의 속성 유형을 통해 데이터가 정의되었을 때만이 중복성이 없는 통합 데이터 모델이 완성될 수 있다. 속성 유형은 엔티티가 생성될 때 속성 값을 가지게 되며 엔티티의 변화에 따라 속성 값을 가지거나 변경되기도 한다. 데이터 모델이 완성되는 시점까지 속성 유형이 가지는 속성 값에 대한 성격(고정값, 구성설계내역, 범위, 생성 알고리즘)을 정의해야 한다.

엔티티 유형 내의 엔티티를 유일하게 구분할 수 있는 속성 유형이 하나 이상 존재하게 되어 있는데 그 속성 유형을 식별자(Identifier)라고 부른다. 하나의 속성 유형으로 식별자를 정의할 수 없을 때는 두 개 이상의 속성 유형을 결합하여 식별자를 구성할 수 있다. 두 엔티티 유형 내에 엔티티가 동시에 생성되는 관계 유형(fully mandatory)을 가질 경우는 상위 엔티티 유형의 식별자와 하위 엔티티 유형의 식별 가능성이 높은 속성 유형과 결합하여 하위 엔티티 유형의 관계 유형 식별자를 정의할 수 있다. 식별자는 엔티티 유형 내의 엔티티를 유일하게 구분할 수 있는 속성 유형으로 데이터의 중첩(duplication)을 방지하는 중요한 역할을 한다.

데이터 무결성(Data Integrity) - 엔티티 무결성(Entity Integrity), 도메인 무결성(Domain Integrity), 참조 무결성(Referential Integrity) - 세 가지로 정의할 수 있다. 엔티티의 중첩성을 방지하는 엔티티 무결성은 식별자를 정확히 정의하여야 확보할 수 있다. 속성 값이 정의된 고정값이나 범위 내에 존재하는 도메인 무결성을 확보하기 위해서는 속성 유형에 대한 성격을 정의하고 속성 값을 결정하며 설계 및 생성 알고리즘을 명확히 정의해야 한다. 참조 무결성은 두개 이상 엔티티간의 관계가 생성되거나 삭제될 때 일어난다. 관계 유형은 각 엔티티 유형의 식별자로서 표현이 되므로 참조 무결성 또한 식별자를 명확히 정의해야 함을 의미한다.

엔티티 유형에 대한 식별자를 명확히 설정하기 위해서는 엔티티 유형의 성격과 엔티티에 대한 성장률(Rate of Growth)을 정확히 분석해야 한다. 물론 엔티티 유형 내의 속성 유형 중에서 엔티티를 유일하게 구분할 수 있는 속성 값을 가지는 속성 유형을 선정해야 한다. 그리고 차선으로 두개 이상의 속성유형을 결합하여 식별자로 지정하거나 새로운 속성 유형으로 정의할 수 있다. 식별자를 구성할 때 중요한 원칙 중 하나는 구성하는 속성 유형의 데이터 구조를 변형시키지 말아야 한다는 것이다. 실례로 대한민국 주민을 한 명 한 명 식별하는 주민번호는 앞자리 8자리로 구성 되어야할 생년월일을 년도의 천백 단위를 변형하여 1900년생과 2000년생의 주민번호가 중첩되는 상황에 놓이기도 했다.

데이터 성장률에 대한 실례는 국제적으로 도서를 구분하는 번호인 ISBN으로 2006년 12월말로 10 digits에서 2007년1월1일부로 13 digits로 확장되었다.

[참조] isbn-international.org ‘What is an ISBN?’
[참조] isbn-international.org ‘What is an ISBN?’

통합 데이터 모델에서 엔티티 유형에 대한 식별자가 가지는 의미는 이제 비즈니스적으로 유일한 엔티티를 구분하는 것이다. 객체지향 패러다임에서 객체 유형에 대한 식별자는 정보시스템 상에서 부여를 하게 된다. 식별자의 가치와 의미가 축소되어 가지만, 통합 데이터 모델링 과정 속에서 비즈니스적 식별자를 정의하고 엔티티의 성장률을 정의하는 것은 매우 중요하고 가치가 있다. 정보화 시대를 넘어 지식과 지능 시대가 도래하는 지금 이 시점에 하나의 다이어그램으로 잘 정의된 통합 데이터 모델을 제시할 수 없다면 더 이상 빅데이터와 인공지능/딥러닝을 논의할 수 없을 것이다. 품질 높은 데이터는 통합 데이터 모델로부터 얻을 수 있고 통합 데이터 베이스를 통해 엔터프라이즈 사고(thinking)가 시작됨을 주장한다.

이재관 objectjk@gmail.com 필자는 30년 전, 중소기업 전산화를 위해 프로그래머로부터 출발하여 광양제철소 생산공정 진행을 위한 데이터베이스의 데이터 정합성을 관리하며 데이터 품질 분야에 첫 발을 내디뎠다. 제임스 마틴 박사의 정보공학방법론에 매료되어 기업과 정부기관의 정보전략기획 및 정보시스템 구축 프로젝트를 위한 컨설팅을 수행하였다. 최근 2년전에 DAMA International의 Korea Chapter를 설립하여 엔터프라이즈 데이터 매니지먼트(eDM) 프레임워크를 연구하며 세계의 데이터 매니지먼트 그룹들과의 연계와 지식을 보급하는 활동을 전개해 나가고 있다.

(*이 칼럼은 Nextdaily의 편집방향과 다를 수 있습니다.)

저작권자 © 넥스트데일리 무단전재 및 재배포 금지