1.5 식별자
식별자(Identifier) : 엔터티 인스턴스를 유일하게 구별할 수 있는 속성.
주식별자(Primary Identifier) : 해당 엔터티 인스턴스를 유일하게 구별해 주는 식별자. PK(Primary Key)에 해당한다. 아래 네 가지 성질을 가진다.
① 유일성 : 각 인스턴스를 유일하게 구별할 수 있어야 한다.
② 최소성 : 유일성을 보장하는 동시에 최소 개수의 속성이어야 한다.
③ 불변성 : 속성값이 불변해야 한다.
④ 존재성 : 반드시 값을 가져야 한다.(Null 불가)
① 대표성 여부
– 주식별자(Primary Identifier) : 유일성, 최소성, 불변성, 존재성, 대표성을 가지며, 다른 엔터티와 참조관계를 연결할 수 있다.
– 보조식별자(Alternate Identifier) : 유일성을 가지지만 대표성을 가지지 못하며, 다른 엔터티와 참조관계를 연결할 수 없다.
② 스스로 생성 여부
– 내부식별자(Internal Identifier) : 엔터티 내부에서 스스로 만들어지는 식별자.
– 외부식별자(Foreign Identifier) : 관계를 통해 다른 엔터티로부터 받아오는 식별자. =FK(Foreign Key).
③ 속성의 수
– 단일식별자(Single Identifier) : 식별자를 구성하는 속성이 하나인 식별자.
– 복합식별자(Composite Identifier) : 식별자를 구성하는 속성이 둘 이상인 식별자.
④ 대체 여부
– 본질식별자(Original Identifier) : 업무에 존재하는 본래의 식별자. =원조식별자.
– 인조식별자(Surrogate Identifier) : 업무에 존재하지 않으나 본질식별자가 너무 복잡하여 인위적으로 만든 식별자. =대리식별자.
① 식별자 관계 : 엔터티 간의 강한 연결 관계를 표현.
부모 엔터티의 식별자가 자식 엔터티의 주식별자에 포함되며, ERD에서 실선으로 표현한다. 부모 인스턴스가 소멸할 때 자식 인스턴스도 소멸할 경우에 사용하는 것이 적합하다.
② 비식별자 관계 : 엔터티 간의 약한 연결 관계를 표현.
부모 엔터티의 식별자가 자식 엔터티의 일반 속성이 되며, ERD에서 점선으로 표현한다. 부모 인스턴스와 자식 인스턴스가 서로 다른 생명주기를 가질 경우에 사용하는 것이 적합하다.