엔터티(Entity)를 구분하는 식별자(Identifier)

    식별자(Identifier)의 개념

    - 데이터베이스에서 인스턴스(Instance)의 집합인 엔터티(Entity)를 구분할 수 있는 논리적인 값으로 하나의 Entity에 구성되어 있는 여러가지 속성 중에 대표할 수 있는 속성

    - ex) 주민등록번호, ISBN(도서번호) 등과 같이 객체의 고유한 값들을 일반적으로 식별자라 부른다

     

    식별자와 키(Key)를 동일한 의미로 보통 사용하는데 식별자의 용어는 논리 데이터 모델링 단계에서 사용하며, Key는 물리 데이터 모델링 단계에서 사용된다.

    데이터 베이스의 식별자

     

    식별자의 특징

    유일성

    - 주식별자에 의해 엔터티(Entity)내의 모든 인스턴스들을 유일하게 구분한다.

    - ex) 대학교 학생들에서 학번 부여

     

    최소성

    - 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.

    - ex) 학번으로 구별할 수 있는데 년도 + 학번으로 구성될 경우, 부적절한 구조

     

    불변성

    - 특정 엔터티가 주식별자로 지정되면 그 식별자의 값은 변하지 않아야 된다.

    - 한번 부여한 학번은 변경되면 안된다

     

    존재성

    - 주 식별자가 지정되면 반드시 데이터의 값이 존재해야 된다(not null)

    - 학번이 없는 학생이 있을 수 없다

     

    식별자의 종류

    분류 식별자 내용
    대표성 여부 주식별자 엔터티를 구분할 수 있으며, 타 엔터티와 참조관계를 연결할 수 있음
    보조식별자 엔터티를 구분할 수 있지만, 주식별자보다 대표성을 가지지 못한 경우
    스스로 생성
    여부
    내부식별자 엔터티 내부에서 스스로 만들어지는 식별자 (ex: 사원번호)
    외부식별자 상속받거나 타 엔터티의 관계를 통해 받아오는 식별자
    속성의 수 단일식별자 하나의 속성으로 이루어진 식별자
    복합식별자 두개 이상의 속성으로 이루어진 식별자
    대체 여부 본질식별자 업무에 의해서 만들어지는 식별자
    인조식별자 업무적으로 만들어지지 않지만 원조식별자가 복잡한 구성을 가지고 있어서 인위적으로 만들어진 식별자

     

     

    식별자의 도출 기준

    업무에서 자주 이용되는 속성을 주식별자로 지정

    - 직원이라는 엔터티중에서 사원번호와 주민등록번호 모두 유니크한 속성이지만, 사원번호가 직원을 관리할 때 더 흔히사용되고 유리하기 때문에 사원번호를 주식별자로 지정하고, 주민등록 번호를 보조 식별자로 지정함

     

    이름으로 기술된 것은 가능하면 주식별자로 지정하지 않음

    - 명칭이나 내역이 있고 인스턴스들을 식별할 수 있는 다른 구분자가 없을 경우 새로운 식별자(보통 일련번호나 코드)를  신규로 생성

     

    너무 많은 속성으로 복합 식별자를 만들지 않는다

    - 모델상에 표현하는 문장의 간편성뿐만 아니라 어플리케이션 구성에 있어서도 복잡한 소스 구성을 피하며 과도한 복합키는 최소한으로 배제

     

    식별자의 표기법

     

    댓글

    Designed by JB FACTORY