[SQLD] 데이터 모델링의 이해_식별자

박진우·2022년 5월 23일
0

SQLD

목록 보기
4/21

💡 식별자

식별자(Identifiers)란 무엇인가?

  • 식별자는 엔터티내에서 인스턴스들을 구분할 수 있는 구분자이다. 즉 엔터티를 대표할 수 있는 유일성을 만족하는 속성이다.
  • 하나의 엔티티는 반드시 하나의 유일한 식별자가 존재해야 한다.


◽ 식별자의 특징

  • 유일성 - 주식별자에 의해 엔터티내에 모든 인스턴스들이 유일하게 구분되어야 한다.
  • 최소성 - 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.
  • 불변성 - 지정된 주식별자의 값은 자주 변하지 않는 것이어야 한다.
  • 존재성 - 주식별자가 지정이 되면 반드시 값이 들어와야 한다.


◽ 식별자의 종류

대표성 여부에 따른 분류

  • 주 식별자(Primary identifier) : 대표성을 만족하는 식별자로 다른 엔터티와 참조관계를 연결 할 수 있다.

  • 보조 식별자(Alternate identifier) : 대표성을 가지지 못해 참조관계 연결 할 수 없다. 즉 유일성과 최소성만 만족하는 식별자


생성 여부에 따른 분류

  • 내부 식별자 : 엔터티 내부에서 스스로 만들어지는 식별자 즉 자연스럽게 존재하는 식별자

  • 외부 식별자(Foreign identifier) : 다른 엔터티와의 관계를 통해 생성 되는 식별자

      ➡ 데이터베이스 생성 시에 Foreign Key 역할을 한다.

속성 수에 따른 분류

  • 단일 식별자(Single identifier) : 하나의 속성을 가진 식별자

  • 복합 식별자(Composit identifier) : 둘 이상의 여러 속성으로 구성된 식별자

대체여부에 따른 분류

  • 본질 식별자 : 업무에 의해 만들어지며 ,대체될 수 없는 식별자

  • 인조 식별자 : 인위적으로 만들어지는 대체가능한 식별자

    1) 후보 식별자 중 주식별자로 선정할 것이 없거나
    2) 주식별자가 너무 많은 칼럼으로 구성되어 있을 때 사용


◽ DB키의 종류

키 종류 설명
기본키 (PK) 엔터티 대표 키
후보키 (CK) 유일성과 최소성 만족하지만 대표성 부족
슈퍼키 (SK) 유일성은 만족하지만 최소성 부족
대체키 (AK) 후보키 중 기본키를 선정하고 남은 키
외래키 (FK) 다른 테이블 기본 키 필드를 참조 한 키,
참조 무결성(Referential Integrity)을 확인하기 위해 사용됨 (허용된 데이터 값만 저장하기 위함이다)

-키의종류-


◽ 주식별자 도출 기준

  • 해당 업무에서 자주 이용되는 속성을 주식별자로 지정한다.

  • 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않는다.

  • 복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록 한다.

    • 주식별자로 선정하기 위한 속성이 복합으로 구성되어 주식별자가 될 수 있을 때 가능하면 주식별자 선정하기 위한 속성의 수가 많지 않도록 해야 한다.

    • 식별자의 속성의 개수가 많을 때(일반적으로 7~8개 이상)는 새로운 인조식별자를 생성하여 데이터 모델을 구성하는 것이 데이터 모델을 한층 더 단순하게 하고, 애플리케이션을 개발할 때 조건절을 단순하게 할 수 있는 방법이 될 수 있다.


◽ 식별자관계와 비식별자관계에 따른 식별자

식별자 관계

  • 자식엔터티의 주식별자로 부모의 주식별자가 상속이 되는 경우

  • Null값이 오면 안되므로 반 드시 부모엔터티가 생성되어야 자기 자신의 엔터티가 생성되는 경우

비식별자 관계

  • 부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하 는 경우

  • 자식엔터티에서 받은 속성이 반드시 필수가 아니어도 무방하기 때문에 부모 없는 자식이 생성될 수 있는 경우

  • 엔터티별로 데이터의 생명주기(Life Cycle)를 다르게 관리할 경우

0개의 댓글