[Database] 식별자

정현명·2022년 3월 10일
0

Database

목록 보기
5/17
post-thumbnail

5. 식별자


식별자란?

  • 엔터티의 속성들 중 각각의 인스턴스를 구분 가능하게 만들어주는 대표격인 속성
  • ex ) 학번, 사번, 상품코드, 회원번호 등

주식별자

  • 기본키 PK(Primary Key)에 해당하는 속성
  • 하나 또는 여러 개의 속성이 주식별자가 될 수 있음
  • 주식별자의 특징
    • 유일성 : 각 인스턴스에 유니크함을 부여하여 식별이 가능하게 함
    • 최소성 : 유일성이 보장되는 최소 개수의 속성이여야 함
    • 불변성 : 속성값이 되도록 변하지 않아야 함
    • 존재성 : 속성값이 NULL일 수 없음

분류

  • 대표성 여부에 따른 분류
    • 주식별자
      • 유일성, 최소성, 불변성, 존재성을 가진 대표 식별자
      • 다른 엔터티와 참조 관계로 연결
    • 보조식별자
      • 인스턴스를 식별할 수 있지만 대표 식별자가 아닌 것
      • 다른 엔터티와 참조 관계로 연결되지 않음
  • 스스로 생성되었는지 여부
    • 내부식별자
      • 엔터티 내부에서 스스로 생성된 식별자
    • 외부식별자
      • 다른 엔터티에서 온 식별자
  • 단일 속성의 여부
    • 단일식별자
      • 하나의 속성으로 구성된 식별자
    • 복합식별자
      • 두 개 이상의 속성으로 구성된 식별자
  • 대체 여부
    • 원조식별자
      • 업무 프로세스에 존재하는 식별자
      • 가공되지 않은 원래의 식별자
    • 대리식별자
      • 주식별자의 속성이 두 개 이상인 경우 그 속성들을 하나로 묶어서 사용하는 식별자

식별자 관계, 비식별자 관계

  • 식별자 관계
    • 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 되는 관계
    • 부모 엔터티가 있어야 자식 엔터티를 생성할 수 있으며 1:1 이나 1:M 관계
  • 비식별자 관계
    • 부모 엔터티의 식별자가 자식 엔터티의 일반 속성이 되는 관계
    • 부모 엔터티가 없는 자식 엔터티 생성이 가능
    • 자식 엔터티가 존재하면서 부모 엔터티의 삭제가 가능
profile
꾸준함, 책임감

0개의 댓글