-
데이터 모델링13 - 엔티티의 정의Data Base/관계형 데이터 모델링 2023. 9. 21. 10:57
엔티티는 집합과 닮았다.
엔티티는 수학의 집합(set)이론에 근거한다. 수학의 차집합이나 합집합에 해당하는 집합을 만드어주는 MINUS와 UNION과 같은 연산자가 ANSI 표준 SQL문법에 있는 것만 봐도 알 수있다. 국어 사전에서는 집합을 '특정 조건에 맞는 원소들의 모임. 한 원소가 그 모임에 속하는지 알 수 있고, 그 모임에 속하는 임의의 두 원소가 다른가, 같은가를 구별할 수 있는 명확한 표준이 있는 것'이라고 정의하고 있다.
그림 8-1 SQL의 집합 연산자
집합론의 창시자인 독일의 수학자 칸토어(Georg Cantor)는 집합을 '우리의 직관 또는 사고의 대상 중에서 확정되어 있고 서로 명확히 구별되는 것들의 모임'이라고 정의했다. 이 정의는 중요한 두가지 사실을 명확히 드러낸다.
첫째 , 집합은 구체적이고 객관적인 기준에 의해 그 원소를 명확히 구분할 수 있어야 한다. 즉, 집합을 구성하는 개체들은 집합 내에서 유일하게 식별될 수 있어야 한다.
둘째, 논리적인 개념도 집합의 구성 요소가 될 수 있다. 눈으로 보거나 손으로 만질 수 없더라고 첫 번째 조건을 충족하는 개념이라면, 이 역시 집합이 될 수 있다.
이런 수학적, '집합'의 개념을 바탕으로 엔티티를 다음과 같이 정의해볼 수 있다.
엔티티는 업무의 기준이 되는 유・무형의 사물과 정보, 이를 기초로 발생하는 사건, 거래 혹은 행위 객체(DBMS의 하나의 row(행)은 개체이자 객체가 된다.)들을 성격이 유사한 것끼리 모아놓은 집합니다.
더불어 집합의 원소에 해당하는 개체는 '어떤 집합에 포함되며 서로 간에 특정 식별자로 구별된는 개별 요소 혹은 단위 정보객체 이다.'
엔티티 정의
엔티티는 결국 현실업무를 데이터로 남겨두기 위한 데이터 구조를 위해 정의하는 것이다. 다음은 모델링에서 자주 언급되는 화두로 이를 통해 엔티티 정의를 위해 현실 업무를 어떻게 바라봐야하는지 알아보자
- 데이터는 업무 프로세스와 무관해야 한다. 즉, 프로세스에 종속적이지 않아야 한다.
- 업무 활동과 절차가 변한다고 데이터 모델이 쉽게 바뀌어서는 안 된다.
- 데이터 모델은 업무를 명확히 표현해야한다.
업무를 바라보는 관점(view)은 1)데이터 , 2)프로세스 , 3)기능 등 여러 가지가 있을 수 있는데, '데이터 모델은 업무를 명확히 표현해야한다'의 문장을 더 정확히 표현하자면 '데이터 모델'은 업무를 데이터 관점에서 명확히 표현(추상화)해야 한다가 된다.
예를 들어 상품 주문 서비스를 관리하는 업무를 위한 정보시스템에 <전화주문>이라는 엔티티를 만들었다면, 이는 프로세스를 반영한 모델이다. 상품 주문의 대상 데이터인 '무엇'이 아니라 프로세스인 '어떻게'에 지배받는 것이다. 이런 경우 주문 경로가 인터넷이나 오프라인 판매등으로 확대 되면 데이터 모델도 함께 변경되야 한다.
앞선 게시글 [데이터 모델링6 - 엔티티의 본질]에서 살펴본 학사관리 이해관계자 모델링에서 '본질적 개체와 현상(역할)을 구분해야 한다'고 했다. 그 연장선에서 프로세스가 아닌 데이터 자체에 집중해도 의문이 남는 사례를 살펴보자. 결론부터 말하면 데이터 중심 사고를 했더라도 관점이 잘못 되면 업무에 상당히 종속적으로 흘러갈 수밖에 없다. 다시 말해 업무 변화에 흔들리지 않는 모델이 되려면 업무의 외면이나 당장의 현상이 아닌 그 현상을 일으키는 근본으로서의 원형을 꿰뚫어보아야 한다.
그림 8-2 잘못된 관점이 반영된 정보자산관리 모델
[그림 8-2]는 다양한 형태의 자산을 운용하는 한 IT업체의 임차 자산 관리용 데이터 모델이다. 서버, 네트워크 장비, 보안 장비, 백업 장치는 모두 구매해서 운영 중이며 소프트웨어, 노트북, 데스크톱 일부는 임차해서 사용하고 있다. 이와 같은 상황을 가정하고 그림의 모델에서 구조적인 문제를 찾아보자
이 모델에는 임차 자산 하위에 자산 유형에 따른 <소프트웨어>,<노트북>등의 개체가 존재한다. 직접 구매하는 자산 역시 동일한 구조로 관리되고 있을 것이다. 이는 '구매냐 임차냐'의 관점이 자산 개체를 지배하고 있는 것이다. 이러한 상황에서정수기나 안마의자처럼 '일정 기간 임차 후 소유'와 같은 새로운 구매 방식이 들어온다면 어떻게 대응하겠는가? 업무 활동에 따라 구조가 달라지면 너무 복잡하고 어려워진다.
자고로 좋은 구조는 눈에 보이는 그대로가 아닌 본질을 담고 있는 구조여야 한다.
본질에 파악에 대해 좀더 쉽게 접근해 하기 위해 이번엔 서구철학의 관점을 빌려보자. 위 사진의 의자,책상, 책 등은 서로 다른 개체지만, 그 본질은 모두 나무다. 이를 철학자의 언어로 얘기하면 의자와 책상 처럼 보이는 세계를 현상이라고 할수 있고, 나무 같은 개별 존재의 공통 속성은 본질이라고 할 수 있다. 이와 같이 전화 주문과 인터넷 주문을 현상이라고 본다면 여기서 원형적인 본질에 가까운 개념은 주문이라고 할수 있다. 업무환경 속에 발생하는 수많은 현상은 사건 하나하나가 매우 독특하고 개별적이며 끊임없이 변화하기 때문에 본질은 안개에 쌓이것 처럼 좀 처럼 파악하기 쉽지가 않다.
우리는 앞서 '엔티티는 업무의 기준이 되는 유・무형의 사물과 정도 또 이를 기초로 발생하는 사건,거래 혹은 행위들의 각 정보객체들을 성격이 유사한 것끼리 모아놓은 집합'으로 정의한 바 있다.
그림 8-3 들뢰즈의 야구장: 사건을 바라보는 철학적 관점(영토, 코드, 배치)
이번에는 서구 철학중에서도 본실과, 실체보다 현상에 중심한 철학자인 들뢰즈의 관계 철학에의 관점에서 세계를 이해보자 드뢰즈에 의하면 [그림8-3]과 같이 현실 세계의 모든 사건, 행위, 현상은 영토성과 코드성으로 이루어진다. 사물들이 일정한 방식으로 자리에 알맞게 나누어지고, 언어적/의미론적 코드에 따라 기능할 때 영토성이 성립힌다. 위 그림에 와 같이 야구장의 상황을 통해 구제적으로 예시를 들면 야구공, 배트, 글러브,야구선수, 심판, 관중 등이 일정하게 자리를 차지하고(영토성), 동시에 야구 규칙과 스포츠 관람이라는 일정한 코드가 작동함으로써(코드성) 야구 경기가 성립된다.(배치성)
좀더 자세히 말해, 야구선수 A가 어느 날 만루 홈런을 친 것은 야구장, 각종 야구 용품, 선수와 같은 영토성과 이미 존재하는 야구 규칙이 서로 만난 사건으로 인식된다는 것이다. 이때 사건과는 무관한 수수한고 본직적인 영역인 영토성에 포함되는 것들이 모델링의 주요 관심 대상이 된다. 데이터 모델 계층구조에서 최상위 엔티티는 들뢰즈의 영토와 같이 (행위나 사건과 같은 인식의 영역이 아닌)본질의 영역이어야 한다. 그리고 이것은 소위 '마스터 데이터'라고 하는 개념과 유사점을 가진다.
[출처 - 프로젝트의 성패를 결정짓는 데이터 모델링 이야기 , 김상래 저]
'Data Base > 관계형 데이터 모델링' 카테고리의 다른 글
데이터 모델링15 - 엔티티 모델링의 어려움 (0) 2023.09.21 데이터 모델링14 - 정의된 집합으로 모델링 하기 (1) 2023.09.21 데이터 모델링12 - 정규화와 성능, 실무에서 모델링 절차 (0) 2023.09.20 데이터 모델링11 - 정규화 이론(2정규화, 3정규화) (0) 2023.09.20 데이터 모델링 10 - 정규화 이론(1정규화) (0) 2023.09.19