📍 개념적 모델링
ERD(Entity-Relationship Diagram)
개체 관계도, 요구분석사항에서 얻어낸 엔티티와 속성들을 그림으로 그려내어 그 관계를 도출한 것
- 업무 분석 자료를 토대로 엔티티 도출하여 엔티티 기술서 작성
- 엔티티 기술서를 토대로 ERD로 엔티티 작성
- 주식별자 선정
1) 컬럼값 중복 여부 확인을 통한 주식별자 선정
2) 복합키 사용 여부
3) 인위적 주식별자
- 엔티티 간의 부모-자식 관계 설정
- 관계의 카디널리티(수적 관계) 지정
- 1:N 관계 -> 일반적으로 1 부모, N 자식
- 1:1 관계 -> 두 엔티티를 하나의 엔티티로 합침
- M:N 관계 -> 정규화를 통해 M:N 관계 해소
- 관계의 참여도(필수/선택)파악
- 식별/비식별 관계 판단
우선 비식별 관계를 맺어 부모의 주식별자가 자식의 외래식별자로 추가되었을 때
1) 자식 엔티티의 주식별자가 모든 인스턴스가 구분이 되면 비식별자 관계 유지
2) 자식 엔티티의 주식별자가 모든 인스턴스를 구분하지 못하면 식별관계로 변경
🔍 ERD 표기법 (식별자)
- 주식별자(Primary Identifier)
- 엔티티에 소속된 인스턴스들을 구별하는 기준 역할을 하는 속성
- 주식별자는 하나가 아닌 여러 속성일 수 있음(복합키)
- 엔티티의 속성 중 주식별자 속성이 없다면 새로운 속성을 만들어준다(인위적 주식별자)
- 주식별자는 유일성, 최소성, 불변성, 존재성의 특징을 갖는다
- 외래식별자(Foreign Identifier)
- 연관 있는 엔티티 간의 연결고리 역할을 하는 속성
- 관계가 있는 두 엔티티를 부모, 자식 엔티티로 구분한 후,
부모의 주식별자와 공통 속성이 자식에게도 존재하면 해당 속성을 외래식별자로 지정.
존재하지 않으면 부모의 주식별자 속성을 자식에게 추가한 후 외래식별자로 지정
🔍 ERD 표기법 (관계)
- 엔티티 간의 부모-자식 관계
상호 관계가 있는 두 엔티티 중에서 어느 쪽의 정보가 먼저 생성이 되는가에 따라 결정
- 참여도
어떤 기준이 되는 엔티티가 있을 때 반드시 대응되는 엔티티가 존재해야 한다면 '필수', 존재할 수도, 하지 않을 수도 있다면 '선택'
- 카디널리티
두 개의 엔티티 간 관계에서 속해 있는 인스턴스들을 수적으로 표현
🔍 ERD 표기법 (식별-비식별 관계)
- 식별 관계(Identifying Relationship)
- 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자의 일부가 되는 관계
- PFK로 표시된다(외래 식별자가 주식별자의 역할도 함)
- 실선으로 관계 표시
- 비식별 관계(Non-Identifying Relationship)
- 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자 역할을 하지 못하고 단순히 새로운 속성으로 추가되는 관계
- FK로 표시된다(단지 외래식별자의 역할만 한다)
- 점선으로 관계 표시