기본, 중심 엔터티를 묶어서 핵심엔터티라고 한다.
업무 시나리오
- 인터넷에서 도서를 구입하기 위해서는 반드시 우리 회사에 회원으로 등록해야 구매가 가능하다.
- 인터넷에 회원 등록하는 정보로는 회원번호, 주소, 전화번호, 전자메일, 휴대폰번호, 결제방법이 있다.
- 인터넷을 통해 등록된 회원은 구매하기 위한 도서목록을 선택하고 인터넷 주문양식에 주문내용을 입력하여 주문한다.
- 주문서 양식에는 주문목록에 대한 상세 정보와 주문일자, 배송지주소, 배송지전화번호, 배송방법, 결제방법이 있다.
- 주문목록에 대한 상세 정보로는 구매가격, 개수가 있다.
- 한번 등록된 회원에 대해서는 도서를 구매하는 실적에 따라 구매 포인트를 부여하여 다음 구매시 혜택을 보게 한다.
'회사' 는 인스턴스가 하나 뿐이므로 엔터티가 될 수 없다.
관계의 3요소는 방향, 관계차수(Cardinality), 선택성 이다.
: 애매한 동사는 피하고 현재형으로 표현
: 두 개의 엔터티간 관계에서 참여자의 수를 표현하는 것. 1:1, 1:M, M:N
: 한 인스턴스라도 한 개 이상인 경우가 있다면 M이다.
각 부서에는 여러 사원을 포함할지도 모른다. (Optional)
각 사원은 단 하나의 부서에 소속된다. (Mandatory)
1 : N 관계
1쪽의 식별자를 N쪽의 관계속성(외래키)로 둔다.
M : N 관계
초기 분석모델에서는 존재할 수 있지만, 최종 완성된 논리모델에서는 M:N 관계가 있어선 안된다. (분석이 덜 된 것이다.)
-> 양 쪽의 식별자를 합쳐서 복합KEY를 주 식별자로 하는 새로운 엔터티를 생성한다.
-> 위의 규칙이 업무적인 상황에 적용되지 않을 경우에는 부분적으로 일련번호(ex.주문번호, 순번 등)를 부여하는 부분 인조식별자 속성을 추가한다.
-> 병렬관계를 추가한다. (이 경우 관계조건이 제한된다는 단점이 있다.)
위와 같은 구조에서 루트 데이터 A는 아래로만 연결, 리프 데이터 D, E는 위로만 연결되어 있으므로 Optional 임을 알 수 있다.
(Mandatory 라면 위, 아래로 모두 연결되어있어야 함)
순환관계 (M : N) = BOM 모델
부품 엔터티는 M:M으로 순환되는 관계이다.
논리모델에는 M:N 관계가 있어선 안되므로 부품 A, 부품 B 의 식별자를 합친 복합키를 주식별자로 하는 구성부품 엔터티를 생성한다.
이 때 A, B의 식별자명이 같으므로 부품 B의 식별자명은 '구성부품코드' 로 한다.
이후 1:N 재귀적관계와 같이 해소한다.
병렬 관계
두 엔터티 사이에 두 개 이상의 관계가 발생하는 경우.
두 관계에 대한 rolename을 다르게 주어 관계속성으로 둔다.