DB모델링 - 식별자, 속성

MIN.DI·2021년 5월 26일
0

식별자 (Identifier)

식별자란 하나의 엔터티 내에서 각각의 인스턴스를 유일(Unique)하게 구분해낼 수 있는 속성 또는 속성 그룹.
하나의 엔터티는 하나 이상의 식별자를 반드시 보유하고 있어야만 한다.

식별자의 유형

주식별자 / 보조식별자 : 대표성 여부

  • 후보식별자 : 하나의 엔터티 내에서 식별자로 사용할 수 있는 하나 이상의 키
  • 주식별자 : 엔터티의 대표성을 나타내는 유일한 식별자. PK Index로 생성
  • 보조식별자 : 주식별자를 대신하여 데이터를 식별하는 식별자. Unique Index로 생성.
    주 식별자를 구성하는 속성이 많을 경우 대리식별자를 생성하고, 실제 식별자를 보조식별자로 정의.
예 ) 사원 Entity
: 후보식별자 - 사번, 주민번호
  주식별자 - 사번
  보조식별자 - 주민번호

내부식별자 / 외부식별자 : 스스로 생성 여부

  • 내부식별자 : 자신의 엔터티 내에서 스스로 생성되어 존재하는 식별자
  • 외부식별자 : 다른 엔터티로부터 관계에 의해 주식별자 속성을 상속받아 자신의 속성에 포함되는 식별자. (=FK)

단일식별자 / 복합식별자 : 단일속성여부

  • 복합식별자의 경우 우선순위가 매우 중요하다.

원조식별자( = 본질식별자) / 인조식별자

  • 여러개의 본질식별자로 이루어진 복합 식별자를 PK로 사용할 경우,
    하나의 인조식별자를 대리식별자로 생성할 수 있다.

대리식별자( = 대체키 Alternate Key)

  • 주식별자의 속성이 복합식별자일 경우 여러개의 속성을 묶어 하나의 속성으로 만들어 주식별자로 활용했을 때,
    기존의 주식별자 속성들은 대리식별자가 된다.


엔터티 내에서 PK는 하나만 지정할 수 있다.
PK 외의 유일한 키는 대체키(Alternate Key)로 지정한다


속성 (Attribute)

속성의 유형

  • 기본 속성
  • 설계 속성
    : 원래 업무에는 존재하지 않지만 시스템 효율성 위해 임의로 추가되는 속성 ( 코드, 일련번호 등)
  • 파생 속성( = 추출 속성 , 유도 속성 )
    : 다른 속성으로부터 계산이나 변형되어 생성되는 속성
    데이터 중복성 및 무결성 확보 위해 가급적 적게 정의
    ( >> Trigger이용, Computed column(계산된 컬럼) 선언

파생속성

  • 성능은 향상될 수 있으나, 나중에 관련 속성에 변경이 생길 경우 무결성 문제가 발생할 수 있다.
  • 데이터 모델에서는 표현하지 않는다. (정의서에 기술함. 파생속성은 데이터간의 관계가 아니다.)
profile
내가 보려고 쓰는 블로그

0개의 댓글