본문 바로가기
데이터 분석

[SQLD] 개념정리 - 데이터 모델링의 이해(3): 관계, 식별자, 식별자관계

by pm-ing 2023. 9. 2.

✅관계의 정의

- 상호 연관성이 있는 상태
- 엔터티 간의 논리적인 연관성을 의미
- 존재에 의한 관계와 행위에 의한 관계로 구분
 

✅관계의 페어링

관계: 엔터티 안의 인스턴스가 개별적으로 관계를 가지는 것(페어링)
관계 페어링(Relationship Paring): 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스(발생, 사건)로 참여하는 형태
 

✅관계의 분류

1) 존재에 의한 관계
어떠한 이벤트에 의해 발생되는 것이 아닌, 존재 자체로 인해 관계가 형성되는 것.
ex. 사원 엔터티는 항상 부서 엔터티에 속함
 
2) 행위에 의한 관계
ex. 고객이 주문을 하는 행위를 하기 때문에 만들어진 주문 엔터티 
-> 고객과 주문 엔터티 사이의 관계는 행위에 의한 관계임
 

✅관계의 표기법

1) 관계명
: 관계의 이름. 엔터티가 관계에 참여하는 형태를 지칭.
: 각각의 관계는 두 개의 관계명을 가질 수 있음(각각의 관계명에 의해 두 가지의 관점으로 표현 가능)
: 엔터티에서 관계가 시작되는 편을 관계 시작점, 받는 편을 관계끝점이라고 부름
: 관계 시작점과 끝점 모두 관계이름을 가져야 하며 참여자의 관점에 따라 관계 이름이 능동적이거나 수동적으로 명명됨
: 명명 규칙 - 애매한 동사는 피한다, 현재형으로 표현한다
 
2) 관계차수
: 두 개의 엔터티 간 관계에서 참여자의 수를 표현하는 것
: 1:1, 1:M, M:M
 
3) 관계선택사양
: 필수관계 - 실선으로 표기
: 선택관계 - 점선으로 표기
 


✅식별자

1) 식별자의 개념
: 엔터티 내의 각 인스턴스를 개별적으로 식별하기 위해 사용
 
2) 식별자의 특징 -> '유최불존'으로 암기

  1. 유일성: 주식별자에 의해 엔터티 내의 모든 인스턴스들이 유일하게 구분
  2. 최소성: 주식별자를 구분하는 속성의 수는 유일성을 만족하는 최소의 수
  3. 불변성: 지정된 주식별자의 값은 자주 변하지 않아야 함
  4. 존재성: 주식별자는 반드시 값을 가져야 함(주식별자는 null 불가)

 

✅식별자 분류

1) 대표성 여부
- 주식별자: 엔터티 내에서 각 행을 구분 가능&타 엔터티와 참조관계를 연결 가능. ex. 사원번호, 고객번호
- 보조식별자:  엔터티 내에서 각 행을 구분 가능하지만, 대표성이 없어 참조관계 연결 불가 ex. 주민등록번호
 
2) 스스로 생성 여부
- 내부식별자: 엔터티 내부에서 스스로 만들어지는 식별자 ex. 고객번호
- 외부식별자: 타 엔터티와의 관계를 통해 타 엔터티로부터 받아오는 식별자 ex. 주문엔터티의 고객번호
 
3) 속성의 수
- 단일식별자: 하나의 속성으로 구성
- 복합식별자: 둘 이상의 속성으로 구성
 
4) 대체여부
- 본질식별자: 업무에 의해 만들어지는 식별자
- 인조식별자: 업무적으로 만들어지지는 않지만 원조식별자의 구성이 복잡하여 인위적으로 만든 식별자
 

✅식별자 관계

항목 식별자관계 비식별자관계
목적 강한 연결관계 표현 약한 연결관계 표현
자식 주식별자 영향 자식 주식별자의 구성에 포함 자식 일반 속성에 포함
표기법 실선 점선
연결 고려사항 - 반드시 부모 엔터티 종속
- 자식 주식별자구성에 부모 주식별자포함 필요
- 상속받은 주식별자속성을 타 엔터티에 이전 필요
- 약한 종속관계
- 자식 주식별자구성을 독립적으로 구성
- 자식 주식별자구성에 부모 주식별자 부분 필요
- 상속받은 주식별자속성을 타 엔터티에 차단 필요
- 부모쪽의 관계참여가 선택관계

 

반응형