Entity
- 비즈니스 개체
엔티티 유형
- 각각 개체가 가지는 공통 의미에 대한 정의
엔티티 유형이 될 수 있는 요건
- 기업에 유용한 정보를 표현
- 서술적 특성을 가질 것
- 하나의 존재가 다른 존재와 구별될 수 있도록 유일하게 식별될 수 있을 것
- 적어도 다른 하나의 엔티티 유형과 연관성을 가질 것
엔티티 유형 명명 규칙
- 명사를 사용
- 의미가 명확하고 짧은 이름
- 약어 사용 x
관계, 관계 유형
- 두 엔티티 유형 간의 동일한 형태로 나타나는 관계들의 집합
관계 유형 도출
- 현업 사용 동사형 어휘, 한 장표에 나타나는 실체유형들이 기준이 된다.
명명 규칙
- 두 개의 관계 요소 명으로 표기
- 사용자 용어 사용
- 방향성에 따라 능동/수동으로 표현
- 방향성을 고려하여 시계 방향으로 표현
관계 요소 : 모든 관계는 두 엔티티 중 어떤 엔티티가 주체로 참여하는가에 따라 관계에 대한 의미를 결정한다.
관계 연결 : 관련 있는 두 엔티티 유형 내의 엔티티끼리 연결
관계 군 : 특정 실체를 중심으로 다른 엔티티 유형 내의 엔티티 간의 연결되는 관계 연결 집합
속성, 속성 유형(Attribute type)
속성값 : 엔티티의 성격을 설명하는 더 이상 분할될 수 없는 최하 단위의 항목 값
도메인 : 여러 속성 유형에서 사용되는 속성 값의 범위 유형
속성 유형 : 동일한 형태 및 의미를 표현하는 속성 값의 유형
- 기초 속성 유형 : 외부로부터 데이터가 제공되어야 유지(고객명)
- 추출 속성 유형 : 기존의 속성 유형으로부터 가공 처리를 통해 생성 및 유지(합계, 평균)
- 설계 속성 유형 : 시스템의 효율성을 도모하기 위해 설계자가 임의로 구성하는 속성 유형(고객번호)
속성 유형은 모델 내에서 오직 하나의 엔티티 유형에 속해야 한다.
식별자(Identifier)
한 엔티티 유형 내의 특정 엔티티를 구분할 수 있는 속성 유형 또는 관계 유형
- 주식별자
- 부식별자
하나 또는 둘 이상의 속성 유형, 관계 요소, 속성 유형과 관계 요소의 결합을 통해 식별자로 구성할 수 있다.
식별자에 대한 비즈니스 규칙
- 한 엔티티 유형 내의 엔티티를 유일하게 구분할 수 있어야함
- 모든 엔티티 유형은 반드시 하나 이상의 식별자를 보유함
- 각 엔티티 유형은 복수 개의 식별자를 보유함
- 식별자를 구성하는 속성 유형 및 관계 요소의 선택성은 필수
- 식별자로 사용되는 관계 요소는 상대 관계비가 반드시 1
구조적 규칙 정의하기
비즈니스 규칙
1. 구조적 규칙
데이터의 영속적, 안정적 성격으로 엔티티, 관계, 속성 구성요소에 종속하여 정의된다. 업무 활동과는 독립적으로 데이터에 적용되는 비즈니스 규칙으로 가능한 한 중복성을 배제한다.
1 ) 엔티티 유형
* 무결성 규칙(Integrity Rule) : 데이터 모델이 유지되기 위하여 필요한 특정 엔티티의 존재 제약 조건
- 고객 엔티티 유형의 등급 속성값이 우수이면 연체 엔티티가 존재하지 않는다
* 파생 규칙(Derivation Rule) : 데이터 모델의 상태에 의하여 특정 엔티티를 생성하거나 삭제하는 조건
- 신용카드 엔티티 유형의 연체회수 속성값이 3이면 불량 거래자 엔티티 생성
2 ) 관계 유형
* 무결성 규칙 : 데이터 모델이 유지되기 위하여 필요한 특정 관계의 연결 제약 조건
- 단체 예약은 고객이 10인 이상이어야한다.
* 파생 규칙 : 데이터 모델의 상태에 의하여 특정 관계를 연결하거나 단절하는 조건
- 직원의 상태가 휴직/퇴직으로 설정되면 참여중인 프로젝트와의 관계를 단절한다.
3 ) 속성 유형
* 무결성 규칙 : 데이터 모델이 유지되기 위하여 필요한 특정 속성값의 유지 조건
- 성별 속성값은 남/여 이어야한다.
* 파생 규칙 : 데이터 모델의 상태에 의하여 특정 속성값을 설정하는 규칙
- 고객등급이 우수고객이면, 수수료를 n%줄인값이다.
2. 행위적 규칙
- 작동자 규칙
- 프로세스 무결성 규칙
- 파생 규칙 : 데이터 모델의 상태에 의하여 특정 속성값을 설정하는 규칙
속성 유형 값 정의
- 기초 속성 유형 : 외부 객체로부터 데이터 값을 직접 제공
- 추출 속성 유형 : 기존 속성 유형으로부터 ㅏ공 공식을 처리 생성 및 유지
- 설계 속성 유형 : 기존 몇 개의 속성 유형을 결합하여 설계
코드 속성 유형에 대한 유의점
- 코드의 진정한 의미?
- 복합 속성이 아닌지?
- 복합 속성인 경우 분할된 단위의 의미는 무엇인지?
- 코드 값의 정의는 누가, 어떻게 하는지?
- 사용자에게 이해되고 유용한지?
- 모든 코드 값이 유효한지?
- 기존 시스템의 잔유물이 아닌지?
복수 값 속성 유형 분할
특정 엔티티에 대한 속성 유형의 값이 둘 이상인 경우, 이 속성 유형을 분할하여 다른 엔티티 유형으로 독립(promotion)한다.
'Computer Science > 데이터베이스' 카테고리의 다른 글
06. 설계를 위한 데이터 모델 (0) | 2023.10.26 |
---|---|
05. 엔터프라이즈 통합 데이터모델 (0) | 2023.10.19 |
04. 정규화와 데이터모델 검증 (0) | 2023.10.17 |
03. 개념, 논리, 물리 데이터 모델 (0) | 2023.10.12 |
01. 데이터모델링 개념 (2) | 2023.10.10 |