[SQLD] 1-5 식별자

Joy·2020년 4월 20일
0

SQL

목록 보기
4/9

식별자 개념

식별자란 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성을 의미
하나의 엔터티는 반드시 하나의 유일한 식별자가 존재

식별자 특징

  • 유일성 : 모든 인스턴스 유일하게 구분(사원번호)
  • 최소성 : 최소의수 (사원번호 외에 코드가 또 있으면 부적절)
  • 불변성 : 한번 지정 후 불변
  • 존재성 : 데이터 값이 존재 (사원번호 없는 직원은 없음)

식별자 분류 표기법

식별자 분류:

<자신의 엔터티 내에서 대표성을 가지는가>

  • 주식별자 보조식별자

<엔터티 내에서 스스로 생성되었는지>

  • 내부식별자와 외부식별자

<단일 속성으로 식별이 되는가에>

  • 단일식별자와 복합식별자

<원래 업무적으로 의미가 있던 식별자 속성을 대체하여 새롭게 만들었는지 >

  • 본질식별자와 인조식별자

표기법

주식별자 도출 기준

해당업무에서 자주 이용되는 속성
이름으로 기술은 피해라
속성 수가 많지 않게

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

식별자관계와 비식별자 관계의 결정:
자기 자신의 엔터티에서 필요한 속성이 아니라 다른 엔터티와의 관계를 통해 자식 쪽에
엔터티에 생성되는 속성을 외부식별자라 하며 데이터베이스 생성 시에 Foreign Key역할을

  • 식별자 관계 : “자식엔터티의 주식별자로 부모의 주식별자가 상속이 되는 경우”
    식별자관계로만 설정할 경우의 문제점: 주식별자 속성이 지속적으로 증가, 복잡성과 오류 가능성 유발

  • 비식별자 관계 : “부모 엔터티로부터 속성으로 받았지만 자식엔터티의 주식별자로 사용하지않고
    일반적인 속성으로만 사용하는 경우”
    비식별자관계로만 설정한 경우의 문제점: 쓸데없이 부모엔터티까지 찾아가야 하는 경우가 발생한다

식별자관계와 비식별자관계 모델링:
비식별자관계 선택프로세스, 식별자와 비식별자 관계비교, 식별자와 비식별자를 적용한 데이터 모델

profile
roundy

0개의 댓글