지지 On Air

1-1-5. 식별자 (Identifier) [ SQLD / SQLP / SQL 가이드 ] 본문

개발/SQL [SQLD&SQLP]

1-1-5. 식별자 (Identifier) [ SQLD / SQLP / SQL 가이드 ]

슈스 지지 2022. 7. 10. 07:49
반응형

과목 I. 데이터 모델링의 이해
  - 제 1장 데이터 모델링의 이해
    > 제 5절 식별자

1. 식별자 개념

엔터티는 인스턴스들의 집합이라고 하였다. 여러 개의 집합체를 담고 있는 하나의 통에서 각각을 구분할 수 있는 논리적인 이름이 있어야 한다. 이 구분자를 식별자 (Identifier) 라고 한다. 식별자란 하나의 엔터티에 구성된 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미하며, 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다.

2. 식별자의 특징

  • 유일성 : 주식별자에 의해 엔터티 내에 모든 인스턴스들을 유일하게 구분해야 한다.
  • 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.
  • 불변성 : 주식별자가 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않아야 한다.
  • 존재성 : 주식별자가 지정되면 반드시 데이터 값이 존재해야한다. (Null 안됨)

3. 식별자 분류 및 표기법

식별자 분류

식별자의 종류는 자신의 엔터티 내에서 대표성을 가지는가에 따라, 스스로 생성되었는지 여부에 따라, 단일속성으로 식별되는가에 따라, 대체여부에 따라 분류할 수 있다. 분류체계는 다음과 같다.

4. 주식별자 도출기준

  • 해당 업무에서 자주 이용되는 속성을 주식별자로 지정한다.
  • 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않는다.
  • 복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록 한다.

 

5. 식별자관계와 비식별자관계에 따른 식별자

외부식별자(Foreign Identifier)는 자기 자신의 엔터티에서 필요한 속성이 아니라 다른 엔터티와의 관계를 통해 자식 쪽에 엔터티에 생성되는 속성을 말한다. 데이터베이스 생성시에 Foreign Key 역할을 한다. 관계와 속성을 정의하고 주식별자를 정의하면, 논리적인 관계에 의해 자연스럽게 외부식별자가 도출되지만, 중요하게 고려해야할 사항이 있다. 엔터티에 주식별자가 지정되고 엔터티 간 관계를 연결하면 부모쪽의 주식별자를 자식엔터티의 속성으로 내려보낸다. 이때 자식엔터티에서 부모엔터티로부터 받은 외부식별자를 자신의 주식별자로 이용할 것인지, 부모와 연결이 되는 속성으로서만 이용할 것인지를 결정해야 한다. 식별자와 주식별자관계를 비교하면 다음과 같다.


식별자관계와 비식별자관계에 대한 설명은 더 자세히 다루기보다 위의 식별자와 주식별자관계 비교 표만 알아두면 문제풀이에 큰 어려움은 없을것이라고 생각합니다 :)

 


본 포스팅은 '한국데이터산업진흥원' 에서 발행한 'SQL 전문가 가이드' 를 참고/인용 하였음을 밝힙니다.
반응형
Comments