서브타입에 대해 궁금한게 있습니다. 0 1 1,393

by 강정식 [Erwin] [2007.04.18 15:50:29]


안녕하세요. DA#으로 모델링을 공부하고 있는 직딩입니다.
다름이 아니라 논리적 모델링을 생성할 때 엔코아에서 나온 '데이터 아키텍처 솔루션' 책에는 다음과 같은 과정으로 도출하라고 했는데요.

 

1. 엔터티 정의
    1.1 엔터티 후보 선정
    1.2 엔터티 형태별 분류
    1.3 엔터티 검증 및 확정

 

2. 릴레이션 정의
    2.1 릴레이션 존재 파악
    2.2 관계명칭의 확정
  
3. 개념적 ERD 작성
    3.1 핵심 엔터티 배치
    3.2 키 엔터티 연결
    3.3 릴레이션의 확정    
   
4. 속성 정의
    4.1 최소 단위 분할
    4.2 단일 값 판정
    4.3 가공속성 제거
    4.4 상세관리 여부 판정

 

5. 식별자 정의
    5.1 의미상 주어 확인
    5.2 상속 및 단절 전략
    5.3 식별자 확정

 

6. 데이터 모델 검증
    6.1 사례 데이터 작성
    6.2 데이터 모델 보완
    6.3 주요 속성 값 정의
   
제가 궁금한것은 엔터티 정의에 엔터티 후보 선정 부분에서 후보엔터티만 도출하는건지 아니면 서브타입도 같이 도출하는지 궁금합니다.
만약 서브타입에 속성이 있다면 이를 엔터티로 보고 뽑은 뒤에 엔터티 검증 및 확정에서 (가로*세로) 검증법으로 검증이 가능하지만 서브타입중에 속성이 없는 경우도 발생하는 경우 이를 엔터티로 잡을 수 있는건가요?


만약 속성이 없는 서브타입은 검증단계에서 가로(속성)값이 없으므로 엔터티가 될 수 없기 때문에 제외가 될텐데요.
이럴 경우 문제가 서브타입이 다른 엔터티와 릴레이션쉽을 가지는 경우, 즉 릴레이션쉽 매트릭스 단계에서 아예 엔터티 도출이 안되었기 때문에 항목으로 넣지도 못하고 또한 이 ??문에 릴레이션쉽도 누락될 것 같습니다.

 

그렇기 ??문에 서브타입을 엔터티 도출 단계에서 같이 도출해야 할 것 같은데 이에 대한 접근이 맞는지 궁금합니다.

 

정리하자면 다음과 같습니다.

 

1. 엔터티뿐만이 아니라 서브타입도 릴레이션쉽을 가질 수 있다.
2. 그러므로 릴레이션쉽 매트릭스에 서브타입이 와야 할 것 같다.
3. 릴레이션쉽 매트릭스에 항목으로 올려면 엔터티 도출 단계에서 나와야 한다.
4. 그러므로 엔터티 도출 단계에서 서브타입을 도출해야 할 것 같다.

5. 엔터티가 되려면 가로(속성) * 세로(개체) 값이 각각 2개 이상 있어야 한다.
6. 하지만 서브타입 중 속성이 있는 경우도 있지만 하나도 없는 경우도 있다.
7. 이 경우 검증 단계에서 제외되므로 서브타입을 릴레이션쉽 매트릭스에 올릴 수 없다.
8. 이럴 경우 어떻게 해야 하나?

by 일수니 [2008.08.19 14:20:17]
제 개인적인 생각입니다만 속성이 없는 서브타입은 엔티티 대상이 아닌것으로 보아야 맞을 것 같습니다. 모델링 표기법에서 서브타입(엔티티)의 갯수가 명확한 것 중 특정 데이터가 이중 꼭 한 엔티티로 가는경우를 Exclusive로, 하나 이상의 엔티티로 가는 경우 Inclusive로 정희하곤 합니다. 즉 어떤 경우도 대상 데이트를 저장하기 위한 속성이 꼭 있어야 된다는 얘기입니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입