1. 개체의 심화 요소
1) 키 개체(Key Entity)
- 해당 업무에서 원래부터 존재하는 개체로서, 다른 개체와의 관계에 의해 생성된 개체가 아닌, 원래 독립적으로 존재하는 개체이다.
2) 메인 개체 (Main Entity)
- 키 개체들 간의 업무적인 관련성 때문에 생성되는 것으로, 해당 업무에서 핵심적으로 관리되는 데이터로부터 추출된다.
3) 액션 개체(Action Entity)
- 2개 이상 부모 개체로부터 생성되고, 내용이 자주 바뀌는 개체로서, 초기 분석 단계에서는 잘 드러나지 않지만 모델링을 세분화하는 단계에서 도출된다.
4) 약한 개체 (Weak Entity)
- 독립적으로 존재하지 못하고 소유 개체(Owner Entity)가 있어야 존재할 수 있으며, 고유한 식별자가 없기 때문에 자신의 구분자(부분 키)를 소유 개체의 식별자와 결합해서 복합 식별자를 지정해야 한다.
5) 코드 개체 (Code Entity)
- 정보를 간단히 표현하기 위한 기호를 나타내는 개체로서, 실제 업무에서 사용하는 코드도 있지만, 데이터를 효율적으로 표현하기 위해서 생성하는 경우도 있다.
6) 관계 개체(Association Entity)
- 두 개체 간의 M:N 관계로 인해 생성되는 개체로서, 교차 개체라고도 칭한다. 특히 IE 표기법으로 표현할 때는 M:N 관계를 정확히 표현하기 위해서 관계 개체를 생성해서 표현해야 한다.
2. 관계의 심화 요소
1) 병렬 관계 (Parallel Relationship)
- 두 개체 사이에 두 개 이상의 관계가 존재하는 것으로, 다중 관계라고도 칭함
2) 직렬 관계(Serial Relationship)
- 병렬 관계로 나열한 관계를 하나로 통합해서 M:N 관계로 바꾸어서 표현한 것을 의미한다.
3) 순환 관계 (Self Relationship)
- 하나의 개체가 다른 개체가 아닌 자기 자신과 관계를 맺는 것을 의미하며, 1:N 순환 관계는 계층 구조를 표현할 때, M:N 순환 관계는 네트워크 구조를 표현할 때 발생한다.
3. 속성의 심화 요소
1) 기초 속성(Basic Attribute)
- 업무로부터 추출된 일반적인 속성이다.
- 요구 분석 명세서에 포함되어 있으며, 현업에서 제공해야 속성이 유지될 수 있다.
2) 설계 속성 (Designed Attribute)
- 원래 존재하지는 않지만 필요에 따라 설계자가 추가한 속성이다.
- 요구 분석 명세서에 포함되어 있지는 않지만, 설계를 진행하면서 새로 생성하게 된다.
- 대부분의 코드 속성이나 일련번호처럼 식별자 역할을 하도록 추가된 속성이 해당한다.
3) 유도 속성 (Deried Attribute)
- 추출 속성이라고도 칭하며, 기본 속성으로부터 계산 등의 가공 처리를 통해서 유도된 속성이다.
- 저장 속성의 영향을 받으므로, 저장 속성의 값이 변경되면 함께 변경된다.
- 중복의 의미가 있으므로 대개 개념적 모델링 단계에서 식별하지 않는다.
4. 슈퍼-서브 타입 정제 방법
1) 슈퍼타입 개체 기준 통합 방법
① 서브타입 개체에 있던 속성을 모두 슈퍼타입 개체에 포함시킨다.
② 서브타입 개체와 연결된 관계를 모두 슈퍼타입 개체와 연결시킨다.
③ 서브타입 개체를 모두 삭제한다.
2) 서브타입 개체 기준 통합 방법
① 슈퍼타입 개체에 있던 모든 속성을 각각의 서브타입 개체로 이동시킨다.
② 슈퍼타입 개체에 연결된 관계를 각각의 서브타입 개체에 연결시킨다.
③ 슈퍼타입 개체를 삭제한다.
3) 슈퍼타입과 서브타입 개체를 각각 분리하는 방법
① 슈퍼타입, 서브타입 개체를 각각 개별 개체로 분리한다.
② 분리된 슈퍼타입 개체와 서브타입 개체를 1:1 관계로 연결한다.
5. 속성을 개체로 전환하는 경우
1) 속성 값이 없는 경우
- 많은 개체가 널(NULL)값을 갖는 속성은 별도의 개체로 분리하고, 원래 개체와 1:1 관계로 연결한다.
2) 속성 값이 여러 부분으로 구성된 경우
- 속성의 수가 많으면서 특징을 구분할 수 있는 여러 부분으로 구성된 경우, 특징 별로 별도의 개체로 분리한다.