본문 바로가기
자격증/SQLD

데이터 모델링의 이해 - 관계 / 식별자

by Love of fate 2024. 2. 22.
728x90
반응형

(1) 식별자란?

보는 엔티티는 인스턴스를 가지고 있고 인스턴스는 속성으로 자신의 특성을 나타낸다고 하였다.

식별자는 이런 속성 중에 각각의 인스턴스를 구분 가능하게 만들어주는 대표적인 속성을 의미한다.

 

(2) 주식별자 

주식별자는 기본키, PK(Primary Key)에 해당하는 속성이다. 하나의 속성이 주식별자가 될 수도 있고 여러개의 속성이

주식별자가 될 수도 있다. 

 

유일성 : 각 인스턴스에 유니크함을 부여하여 식별이 가능하도록 한다. 

최소성 : 유일성을 보장하는 최소 개수의 속성이어야 한다. 

불변성 : 속성값이 되도록 변하지 않아야 한다.

존재성 : 속성값이 NULL 일 수 없다. 

 

(3) 분류

식별자를 분류하는 방식, 대표성 여부, 스스로 생성되었는지 여부, 단일 속성의 여부, 대체 여부가 분류의 기준이 된다.

 1) 대표성 여부 

     주식별자 : 유일성, 최소성, 불변성, 존재성을 가진 대표 식별자

                       다른 엔티티와 참조 관계로 연결

     보조식별자 : 인스턴스를 식별할 수는 있지만 대표 식별자가 아님 

                          다른 엔티티와 참조 관계로 연결되지 않음

 

  2) 스스로 생성되었는지 여부 

     내부식별자 : 엔티티 내부에서 스스로 생성된 식별자

     외부식별자 : 다른 엔티티에서 온 식별자, 다른 엔티티와의 연결고리 역할 

 

  3) 단일 속성의 여부 

     단일식별자 : 하나의 속성으로 구성된 식별자

     복합식별자 : 두 개 이상의 속성으로 구성된 식별자

 

  4) 대체 여부 

     원조식별자 : 업무 프로세스에 존재하는 식별자. 가동되지 않은 원래의 식별자(본질 식별자)

     대리식별자 : 주식별자의 속성이 두개 이상인 경우 그 속성들을 하나로 묶어서 사용하는 식별자 (인조식별자)

 

(4) 식별자 관계 vs 비식별자 관계 

  1) 식별자 관계 (Identificatio Relationship)

      부모 엔티티의 식별자가 자식 엔티티의 주식별자가 되는 관계이다. 주식별자는 반드시 존재해야 하므로 부모 엔티티가

      있어야 생성가능 하며, 단일 식별자인지 복합식별자인지에 따라 1:1이거나 1:M이거나가 결정된다. 

 

  2) 비식별자 관계 (Non-Identification Realationship)

     부모 엔티티의 식별자가 자식 엔티티의 주석별자가 아닌 일반 속성이 되는 관계 이다. 일반 속성의 속성값은 NULL이 도리 수 있으므로 부모 엔티티가 없는 자식 엔티티 생성이 가능하고 마찬가지의 이유로 자식엔티티가 존재하는 상태에서 부모 엔티티가 삭제 될 수 도 있다. 

728x90
반응형