SQLD - 데이터 모델링의 이해 (2) - 바커 표기법
11. 바커 표기법 - 영국 컨설팅회사 CACI에 의해 개발되었고, '리차드 바커'에 의해 발전됨
오라클에서 Case Method로 채택하여 사용함
12. 엔터티 표기 - 하나 이상의 속성으로 구성, 모서리가 둥근 사각형으로 표현
13. 속성 표기 - 반드시 저장해야하는 경우에는 *(Mandatory), 아닌 경우는 O(Optional) 표시
14. 관계 표기 - 두 엔터티간 Conditional을 표기한 후
해당 엔터티의 가까운 위치에 관계 명칭을 표기,
관계는 실세계의 해당 엔터티에서 발생하는 동사적 단어들을 표기함
14-1. 엔터티와 엔터티간의 관계
1) 1:1 관계 - A 엔터티에 존재하는 데이터 1개와 관계되는
B 엔터티에 존재하는 데이터의 개수도 1개
2) 1:N 관계 - A 엔터티에 존재하는 데이터 1개와 관계되는
B 엔터티에 존재하는 데이터의 개수가 여러 개(N개)
3) N:M 관계 - A 엔터티에 존재하는 데이터 1개와 관계되는
B 엔터티에 존재하는 데이터의 개수가 여러 개(N개),
B 엔터티에 존재하는 데이터 1개와 관계되는
A 엔터티에 존재하는 데이터의 개수도 여러 개(M개)
14-2. 엔터티와 엔터티 간 상관관계의 조건
1) 필수 조건 - 실선으로 표시, 상대 엔터티에 해당 엔터티에 조건을 만족하는 엔터티가 반드시 존재하는 경우
2) 선택 조건 - 점선으로 표시, 상대 엔터티에 해당 엔터티에 조건을 만족하는 엔터티가 선택적으로 존재하는 경우
15. 식별자 표기 - 식별자 앞에 # 기호를 사용,
식별자는 논리 데이터 모델링 단계에서 사용하고
키는 물리 데이터 모델링 단계에서 사용
15-1. 식별자의 유형
1) 본질 식별자 - 속성들 중에서 집합의 본질을 명확하게 설명할 수 있는 의미상의 주어
2) 후보 식별자 - 각 인스턴스를 유일하게 식별할 수 있는 속성(들의 집합), 개념적으로 유일해야 함
3) 대체(보조) 식별자 - 원래의 식별자를 대신할 수 있는 또 다른 속성들이나 릴레이션십
4) 인조 식별자 - 식별자 확정 시 기존의 본질 식별자를 그대로 실질 식별자로 인정할 수 없는 상황이 발생했을 때,
전부 혹은 일부를 임의의 값을 가진 속성들로 대체하여 새롭게 구성한 식별자
5) 실질 식별자 - 인스턴스를 식별하기 위해 공식적으로 부여된 식별자를 말한다.
본질 식별자나 인조 식별자 모두가 실질 식별자가 될 수 있다
16. 관계의 표현 - 실선과 점선, 까마귀 발 모양의 여부로 표현한다.
1) 실선 - 반드시 존재해야 함
2) 점선 - 존재할 수도, 아닐 수도 있음
3) 까치발 - 하나 이상 존재 할 수 있음
4) UID Bar( '|' ) - 식별 관계를 나타냄
부모 입장과 자식 입장에 따라 인지하면 되는데, 위의 그림을 기준으로 하자면
사원 엔터티를 기준으로 부서 엔터티는 선택 관계로, 반드시 부서를 가지지 않아도 된다.
부서 엔터티를 기준으로 사원 엔터티는 필수 관계로, 반드시 사원을 가져야 하며 여러 사원을 가질 수 있다.