본문 바로가기

데이터 모델링19

2. 사람과 조직(1) 가장 빈번하게 요구되는 업무 요건은 사람과 조직에 대해 질문하는 것이고, 이 질문에 대한 정확한 답변에 의존할 수 있는 것이다. 예를 들면, 다음과 같다.사업을 수행하는 과정에 포함된 사람과 조직의 속성이나 특징은 무엇인가?다양한 사람 간, 조직 간, 사람과 조직 간에 존재하는 관계는 무엇인가?사람과 조직의 주소, 전화번호, 다른 연락 매체는 무엇인가? 어떻게 연락될 수 있는가?다양한 관계자 사이에 어떤 종류의 연락 방법이 존재하는가? 효과적으로 소통하기 위해서 필요한 것은 무엇인가?대부분의 업무 응용 프로그램은 사람과 조직에 대한 정보를 추적하고 고객, 공급자, 자회사, 부서, 사원, 그리고 계약자에 대한 정보를 서로 다른 시스템에 반복해서 저장한다.이 때문에 고객 연락 데이터와 같은 핵심 정보를 정확.. 2025. 1. 23.
07. 엔터티(Entity)(3) - 가공 엔터티 7.3. 엔터티 종류가공 엔터티가공 엔터티는 원천 데이터가 아닌 데이터를 관리하는 엔터티다.주로 행위 엔터티를 가공하지만 실체 엔터티도 가공한다.운천 데이터인 실체 엔터티와 행위 엔터티의 데이터를 사용하여 가공 데이터인 집계, 요약, 임시 데이터를 생성하여 관리한다.원천 데이터를 요약해서 관리하는 이유는 몇 가지가 있다.우선 업무적으로 자주 조회되는 대량 집계 요건을 만족시키기 위해 필요하다.조회 시간이 너무 오래 걸려 실시간으로 보여줄 수 없을 때 집계 엔터티를 생성해서 데이터를 미리 저장해 놓는다.집계 엔터티에 데이터를 쌓는 방법은 크게 두가지가 있다.트랜잭션 데이터가 발생할 때마다 집계 엔터티에 반영하는 방법과특정 시점에 해당하는 기간의 데이터를 집계해 일괄 반영하는 방법이 있다.후자와 같은 방법에.. 2024. 12. 7.
07. 엔터티(Entity)(3) - 행위 엔터티 7.3. 엔터티 종류행위 엔터티행위 엔터티는 어떤 실체의 업무 행위나 활동에 의해서 발생된 원천 데이터를 관리하는 엔터티다.대표적인 행위 엔터티가 계약, 주문, 신청, 입금 등이다.행위 엔터티는 발생부터 소멸에 이르는 명확하면서도 비교적 짧은 라이프사이클이 있으며, 행위에 따른 발생순서가 존재하기도 한다.또한, 실체 엔터티 등 다른 엔터티에 비해 관리하는 속성의 수가 많으며 주로 복합 주 식별자로 구성되므로 주 식별자가 복잡하다.그리고, 실체 엔터티와 관계가 다수 발생할 수 있어 관계도 복잡하다.데이터 발생량도 가장 많으며 통계, 집계 등 가공 데이터의 원천(raw) 데이터가 된다.대부분 엔터티가 행위 엔터티로 분류될 수 있다.엔터티나 속성이 수적으로 많아 모델링 시 가장 많은 시간과 노력을 들이게 된다.. 2024. 12. 7.
07. 엔터티(Entity)(3) - 실체 엔터티 7.3. 엔터티 종류엔터티를 분류하는 목적은 어떤 종류의 엔터티가 존재하는지를 인지해 엔터티의 성격을 파악하는 데 도움을 주기 위해서이다.어떤 종류의 엔터티가 존재하는 지를 아는 것은 중요하다.엔터티 종류를 보면 엔터티에 대해 이해하는 데 도움이 될 것이다.이미 정의된 분류를 기반으로 자신만의 분류 체계를 만들어 엔터티를 정의하는 데 활용하는 것도 좋은 방법이다.엔터티 분류의 또 다른 목적은 현행 데이터베이스가 존재할 때 작업 순서를 정하는 데 도움이 된다는 점이다.가공 엔터티보다는 행위 엔터티를 먼저 작업하는 게 좋고 행위 엔터티 보다는 실체나 기준 엔터티를 먼저 작업하는 게 좋다.단계적으로 접근하기 위해 엔터티를 분류하는 것은 의미가 있다.하지만, 프로젝트에서 엔터티를 정확하게 분류하는 것은 현실적으.. 2024. 11. 28.
07. 엔터티(Entity)(2) 7.2. 자립 엔터티와 종속 엔터티엔터티는 자립 엔터티(Independent Entity, Dominant Entity)와 종속 엔터티(Dependent Entity, Subordinate Entity)로 구분할 수 있다.이는 엔터티의 본질을 파악하는 데 도움이 되므로 이번 장에서 상세하게 설명할 것이다.자립 엔터티는 다른 엔터티에 의존적이지 않고 스스로 존재하는 엔터티다.주로 업무에서 중요하게 사용되는 상위 엔터티가 자립 엔터티다.반면에, 종속 엔터티는 상위(부모) 엔터티가 존재하지 않으면 존재할 수 없는 엔터티다.만약, 엔터티 B가 존재하려면 엔터티 A가 반드시 존재해야 하면 B는 A에 존재 종속(Existence Dependency)됐다고 한다.이렇게 존재 종속 됐을때 자립 엔터티 A의 인스턴스가 .. 2024. 11. 26.
07. 엔터티(Entity)(1) 엔터티를 도출하는 것이 실질적인 첫 단계이므로 엔터티를 명확하게 정의하는 것은 매우 중요하다.엔터티가 불분명하게 정의되면, 그 엔터티에 속한 속성이나 주 식별자가 부정확할 수밖에 없고 모델은 최적화되기 어렵다.모델링에서 엔터티를 제대로 도출하는 것이 가장 중요하다는 점을 염두에 두어야 한다. 7.1. 엔터티란?엔터티가 무엇인지를 정의하는 것은 쉽고도 어렵다. 간단하게 설명하면 필요에 의해 관리하고자 하는 데이터의 집합이라고 할 수 있다.업무를 수행하는 데 필요한 데이터를 특성이 유사한 것끼리 모아 놓은 독립적인 집합이 엔터티다.특성이 유사한 것끼리 모았다는 것은 함수 종속을 의미하므로 업무에서 관리하고자 하는 데이터(속성)를 함수 종속(Functional Dependancy)에 의해 도출한 결과 집합이 .. 2024. 11. 25.
1. 엔터티 이야기(7) 1.12. 행위 엔터티란?행위 엔터티는 어떤 실체의 업무 행위나 활동에 의해서 생긴 원천 데이터를 관리하는 엔터티다.엔터티 중에 가장 많은 엔터티가 행위 엔터티다.행위 엔터티만의 특징은 엔터티 발생 순서가 존재할 수 있다는 것이다.일반적으로 데이터에는 순서의 개념이 없다. 생성 순서가 중요하지 않다는 것이 더 정확한 표현일 듯 하다.하지만, 일부 행위 엔터티 간에는 발생 순서가 중요하다.발생해서 소멸하는 비교적 짧은 라이프 사이클이 존재한다.행위 엔터티는 관리하는 속성도 대부분 많다.엔터테도 많고 속해 있는 속성도 많기 때문에 모델링시 가장 많은 시간이 소요되는 엔터티다.행위 엔터티의 가장 큰 특징 중 하나는 주 식별자가 복잡하다는 것이다.행위 엔터티는 대부분 하위 엔터티가 적어서 굳이 인조 식별자를 사.. 2024. 11. 24.
1. 엔터티 이야기(6) - 실체 엔터티 1.11. 실체 엔터티란?실체의 정의를 사전에서 찾아보면 '실체의 물체 또는 외형에 대한 실상'이라고 나온다.실체 엔터티는 간단히 만질 수 있는 것(tangible)을 관리하는 엔터티다.1.5에서 설명한 보이는 것을 관리하는 엔터티가 실체 엔터티다.엔터티를 분석하거나 설계할 때 해당 엔터티가 실체 엔터티인지를 가장 먼저 살펴본다.주의할 점은 만질 수 있는 것에 대한 모든 데이터를 관리하는 것이 아니라 본질적인 데이터를 관리한다는 것이다.실체의 존재와 연관된 데이터를 의미한다.이름이나 주민등록번호, 나이 등 실체의 존재와 연관된 데이터를 관리하는 엔터티이지, 그 실체가 발생시킨 데이터를 관리하는 엔터티는 아니다.예를 들면, 그 실체가 어떤 계약을 했는지, 어떤 불만을 얘기했는지, 얼마나 출금했는지 등을 관.. 2024. 11. 22.