ERD
개념적 ERD
- 사각형은 개체 타입
- 마름모는 관계 타입
- 속성으로 정의됨
- 속성 중 기본키, 슈퍼키, 후보키와 같은 키를 지정할 수 있음
관계 타입의 특성
- 부분 참여: 개체 타입의 일부의 인스턴스만 관계에 참여해도됨 (단일선)
- 전체 참여: 개체 타입의 모든 인스턴스가 관계에 참여해야함 (이중선)
클래식 표기법
- 관계 타입 입장에서 매핑과 참여 정보를 표현함
- 부분참여 → 단일선
- 전체 참여 → 이중선
Crow’s Foot 표기법
- 클래식 표기법과 비슷하지만, 관계를 표현하는 방법만 다르다.
- 개체 사이에 마름모를 두지 않고 선으로 직접 연결함
- 참여하는 두 개체 타입 입장에서 각각 관계를 서술함
- 참여 정보
- 동그라미 : 부분참여
- 두개의 선 : 전체 참여
- 매핑 정보
- 까마귀발 : many
- 그냥 실선: one
주의
매핑 정보와 참여정보는 상대 객체쪽을 봐야 한다.
개체 바로 옆에 표기된 정보는 상대측 정보임!
논리적 ERD
논리적 설계는 개념적 설계와 다르게 FK 개념이 있다.
표기 방법
- 사각형은 변환된 테이블을 표현
- 사각형 내에 속성이 나열됨 (상단은 PK 속성을 뜻함)
- 관계를 마름모를 사용하지 않고 선으로 직접 연결
논리적 ERD의 특징
- 식별관계와 비식별관계로 구분함
- 비식별 관계: 점선 (부모 PK를 자식 테이블에 FK로 추가함)
- 식별 관례 : 실선 (부모 PK를 자식테이블에 PK/FK로 추가함)
- 자식 테이블에 추가된 FK 또는 PK를 명시적으로 나열함
- 다대다 매핑을 표현할 수 없음 (대신 일대다 매핑으로 표현함)
PK-FK 관계
비식별 관계
- 부모 개체 타입의 키값 없이 자식의 개체들을 유일하게 식별할 수 있는 관계
- 개념적 → 논리적 ERD로 변환하는 방법
- 부모, 자식 개체는 각각 부모, 자식 테이블로 변환함
- 부모의 PK를 자식의 FK로 추가함
- 논리적 ERD (관계 스키마)에서 FK인 속성이 존재하면 비식별관계!
식별 관계
- 부모 개체 타입의 키값이 있어야만 자식의 개체들을 유일하게 식별할 수 있는 관계
- 자식 개체 타입은 식별 관계에 항상 전체 참여해야함 (안그러면 구분할 수가 없다…)
- 개념 → 논리 ERD 변환 방법 : 부모PK를 자식의 PK/FK로 추가함
- 논리적 ERD (관계 스키마)에서 PK/FK인 속성이 존재하면 비식별관계!
논리적 ERD의 종류
IE 표기법
- 논리적 ERD의 주요 특징을 모두 가짐
- Crow’s Foot 표기법을 사용함
- 개념적 ERD에서는 FK 개념이 없지만 논리적 설계의 IE 표기법은 FK 개념이 있다!
IDEF1X 표기법
- IDEF0, IDEF1, IDEF2가 있다.
- 마찬가지로 논리적 ERD의 주요 특징을 모두 가진다.
- 매핑정보는 식별,비식별에 관계 없이 부모→자식의 방향만 표현함
- 식별관계 : 실선, 비식별관계: 점선
- 자식 쪽에 작은 원이 있다면 일대다 관계다.
- 부모쪽에 마름모 기호가 있다면 자식 테이블이 부분참여인 관계다.