본문 바로가기

데이터 모델링19

1. 엔터티 이야기(5) 1.9. 엔터티 정의방법 - 원천 데이터인가?엔터티를 정의할 때, 그 엔터티에서 관리하는 데이터가 원천 데이터인지 가공 데이터인지를 구분하는 것도 엔터티를 제대로 이해하는 데 도움이 된다.원천 데이터(Raw Data)는 스스로 존재하는 최초의 데이터다.반면에, 가공 데이터(Processing Data)는 원천 데이터를 사용해서 만들어낸 데이터다.가공 데이터는 처음 데이터인 원천 데이터로 만들어낼 수 있지만, 또 다른 가공 데이터로도 만들어 낼 수 있다.중복 데이터까지 가공 데이터에 포함되기 때문에 가공 데이터는 상당히 많아질 수 있다.실제로 원천 데이터가 아닌 집계/요약/임시/작업용 데이터는 많이 볼 수 있다.원천 데이터는 고객이나 사용자가 직접 입력함으로써 생성된다.즉, 화면에서 입력(Key-in)한다.. 2024. 11. 22.
1. 엔터티 이야기 (4) 1.7. 종속 엔터티의 종류종속 엔터티는 참조 엔터티에 비하면 그다지 많지 않지만, 아래와 같은 다양한 경우에 발생한다. 부모 엔터티의 부가 데이터를 관리하는 엔터티1정규화에 의해서 발생한 엔터티이력 데이터를 관리하는 엔터티다대다 관계에서 발생한 교차 엔터티슈퍼타입에 대한 서브타입 엔터티엔터티 분류에 의한 일대일 관계의 엔터티부모 엔터티의 부가 데이터를 관리하는 엔터티모델의 상품 가격 엔터티는 상품 엔터티의 일부 데이터를 더욱 상세하게 관리하는 엔터티다.상품가격은 상품 없이는 존재할 수 없는 데이터이므로, 상품가격 엔터티는 상품 엔터티의 종속 엔터티다.부모 엔터티의 일부로서 성격이 동일한 데이터라고 할 수 있다.부모 엔터티의 주 식별자는 보통 종속 엔터티의 식별자로서 상속된다.그리고, 상속된 식별자와 결.. 2024. 11. 21.
1. 엔터티 이야기(3) 1.4. 엔터티 분류법어떤 대상을 구분하는 이유는 그 대상의 성질을 파악하는 데 도움이 되기 때문이다.어떤 대상을 범주로 하면 그 대상의 특징이 더 잘 이해된다.엔터티를 정의할 때 나름대로 다음과 같이 다양한 각도로 분류해 본다. 다양하게 분류해 볼수록 엔터티의 성격을 더욱 잘 알아낼 수 있다. 자연히 설계한 엔터티는 더욱 명확해진다.만질 수 있는 것과 만질 수 없는 것자립 엔터티와 종속 엔터티원천 데이터와 가공 데이터실체·행위·가공·기준 엔터티내부 생성 데이터와 외부 생성 데이터엔터티 유형에 의한 기본·내역·상세 등의 엔터티엔터티를 정의할 때 가장 먼저 보는 것은 '보이는 물체인가?'를 따져보는 것이다.사람/사물과 같이 실제로 존재하는 물건인지, 만져서 느낄 수 있는지부터 따져본다.그 후에는 엔터티가 .. 2024. 11. 21.
1. 엔터티 이야기(2) 1.2. 엔터티에 대한 서설'업무를 수행하는 데 필요한 데이터를 특성이 유사한 것끼리 모아놓은 집합'엔터티는 필요 때문에 관리하고자 하는 데이터의 집합이며, 특성이 유사한 데이터끼리 모아 놓은 집합이다.특성이 유사한 것끼리 모아 놓았다는 것은 함수 종속(Functional Dependency)을 의미한다.업무에서 관리하고자 하는 데이터(속성)를 함수 종속으로 도출한 결과 집합이 엔터티다.엔터티를 설계할 때 가장 기본적인 판단 기준은 '관리하고자 하는 데이터인지'를 판단하는 것.데이터베이스에 관리할 필요가 없는 데이터에 대해서는 고민할 이유가 없다.데이터베이스에 관리할 필요가 있는지에 대한 판단은 현업이 하게 된다.이때 모델러는 가능한 많은 데이터를 데이터베이스에 저장하도록 유도하는 것이 좋다.현재는 필요.. 2024. 11. 19.
1. 엔터티 이야기(1) 1.1. 집합과 엔터티'우리의 직관 또는 사고의 대상으로서 확정되어 있고 서로 명확히 구별되는 것들의 모임'게오르그 칸토어가 말한 '집합의 정의'집합의 정의를 엔터티의 정의로 대체할 수 있다고 생각한다. 그만큼 엔터티와 집합은 닯았다.직관이나 사고로 확정지을 수 있는 대상에는 보이지 않는 것을 포함하고 있다.그리고, 어떤 대상으로서 서로 구별돼야 한다는 것은 집합의 기본 개념이다.또한, 직관이나 사고의 대상으로서 확정되어 있다는 말은 직관이나 사고로 그 대상을 분명히 알 수 있다는 말이다. 즉, 어떤 조건에 의해 그 대상을 분명히 알 수 있는 것의 모임이 집합이다.집합은 명확한 조건이라는 기준이 있어야 형성 될 수있다.예를 들어, '프로야구 강팀의 모임'은 집합이 아니다.왜나하면, 모임을 결정하는 조건의.. 2024. 11. 19.
1. 엔터티 설계의 첫 관문. 실체 엔터티(4) 오직 한 번 존재하는 실체 엔터티의 주 식별자실체 엔터티는 주 식별자에도 몇 가지 의미 있는 특징이 있다.무엇보다 존재가 한 번만 발생하는 실체의 성격 때문에 주 식별자에 시각 속성이 포함되지 않는다는 점이 핵심이다.한번 없어지면 끝이며, 다시 생성되지 않는다.다른 것이 새로 생길 수는 있지만 같은 것이 다시 생길 수는 없다.고장을 수리하는 것은 존재가 생긴게 아니라 특성이 변형된 것이다.또한, 주 식별자를 인조 식별자로 설계하는 것도 실체 엔터티의 대표적인 특징이다.실체라는 개념 자체에 이미 지목할 수 있는 식별 번호가 있다는 것을 내포하고 있다. 고객번호, 상품번호, 장비번호, 사번 등.하나의 실체를 하나의 번호로 특정하면 관리 또한 매우 편하게 된다.지구 상에 같은 실체는 두 개 존재하지 않기 때문.. 2024. 11. 19.
1. 엔터티 설계의 첫 관문. 실체 엔터티(3) 실물의 개수와 실체 엔터티의 인스턴스 개수실체 엔터티는 몇 가지 특징이 있다.이 특징을 모두 알고 나면, 실체 엔터티의 정체는 더욱 뚜렷해질 것이라 믿는다.실체 엔터티의 중요한 특징 가운데 기억하기 쉬운 것은 엔터티에서 관리하고 있는 인스턴스의 개수와 실제 존재했던 실체의 개수가 같다는 것.물리적으로 같아야 한다기 보다는 논리적으로 그렇다는 뜻.간단히 설명하면, 우리 회사의 사원이 30명이면, 사원 엔터티의 인스턴스개수도 30개가 된다는 뜻.그렇다면, 퇴사한 사원은 어떻게 되는가?퇴사한 사원도 사람이기 때문에 실체이며, 사원이었기 때문에 사원 엔터티에 존재해야 한다.그 사원의 상태만 '퇴사'로 구분할 수 있으면 되는 것.따라서, 더 정확하게 표현하면 우리 회사의 사원이었던 사람의 수와 사원 엔터티의 인스.. 2024. 11. 19.
1. 엔터티 설계의 첫 관문. 실체 엔터티(2) 실체 엔터티와 유사한 엔터티현실 세계에서는 실체에 해당하는 데이터가 매우 많다.도서관, 학교, 아파트, 발전소 등 모든 건축물은 실체 데이터.또한, 사람, 개 등의 모든 생물체도 실체 데이터에 속한다.노트북, 책 등 모든 물건도 그렇기 때문에 실체 데이터는 매우 많다.하지만, 시스템을 설계할 때는 해당 업무에서 관리하는 데이터라야 의미가 있기 때문에 실제로 관리해야 하는 실체 데이터는 많지 않다.실무에서이 대표적인 실체 데이터는 고객, 사원, 상품 등이다.주의할 것은 고객, 사원, 상품 등이 온전히 실체 데이터라고 생각하면 안된다는 것.실체 엔터티는 매우 단순할 것 같아서 설명할 게 많지 않을 듯 하지만 실제로는 그렇지 않다.우선, 실체 엔터티를 도출할 때는 주의할 점이 있다.도서관에 있는 책을 예를 들.. 2024. 11. 19.