Database
[Database] 식별자 관계 vs 비식별자 관계
cloud-grace
2024. 5. 18. 19:43
식별자(Identifiers)란?
엔터티는 인스턴스의 집합이며 각각의 인스턴스는 구별이 되어야 한다. 구별이 되는 요소가 식별자이며, 하나의 엔터티가 가지고 있는 속성 중 대표성을 가지는 속성이 식별자가 되어야 한다. 식별자(Identifiers)와 키(key)의 개념이 헷갈릴 수 있지만, 식별자는 업무적인 정보로 사용하며 논리적 모델링에서 활용하며, 키(key)는 데이터베이스에서 테이블 접근을 위한 매개체로 물리적 모델링에서 활용한다.
주식별자 특징
- 유일성 : 주식별자에 의해 엔터티 내에 모든 인스턴스가 유일하게 구분되어야 한다.
- 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수여야 한다.
- 불변성 : 지정된 주식별자의 값은 자주 변하지 않아야 한다.
- 존재성 : 주식별자가 정해지면 반드시 값이 존재해야 한다.
- 대표성 : 엔터티 내에서 대표성을 가져야 한다.
식별자 분류
- 주식별자 VS 보조식별자 : 자신의 엔터티에서 대표성을 가지는가
- 내부식별자 VS 외부식별자 : 엔터티 내에서 스스로 만들어 졌는가
- 단일식별자 VS 복합식별자 : 단일 속성으로 식별이 되는가
- 본질식별자 : 업무적으로 의미가 있는 식별자
- 인조식별자 : 필요에 따라 새롭게 일련번호를 만들어 대체하는 식별자
식별자 관계 VS 비식별자 관계
식별자 관계
- 부모 자식 관계에서 자식이 부모로부터 받은 주식별자를 자식 엔터티의 외래 식별자로 참조해서 자신의 주식별자로 설정하는 경우
- 실선으로 표현한다.
- 위 그림에서는 자식 엔터티(학생 주소)가 부모 엔터티(학생)의 학번을 자신의 주식별자로 설정하였다.
비식별자 관계
- 부모 자식 관계에서 자식이 부모로부터 받은 주식별자를 자식 엔터티의 외래 식별자로 참조해서 일반 속성으로 사용하는 경우
- 점선으로 표현한다.
- 위 그림에서는 자식 엔터티(주문 항목)가 부모 엔터티(주문)의 주문코드를 일반 속성으로 사용했다.