SQLD 1-4 식별자

강태공·2022년 11월 1일
0

식별자의 개념

① 엔터티는 인스턴스들의 집합이라고 하였다. 여러 개의 집합체를 담고 있는 하나의 통에서 각각을 구분할 수 있는 논리적인이름이 있어야 한다. 이 구분자를 식별자(Identifier)라고 한다.
② 엔터티내의 각 인스턴스를 개별적으로 식별하기 위해 사용된다. 엔터티는 인스턴스의 집합이다. 이를 구별할 수 있는 것

식별자는 엔터티내에서 인스턴스들을 구분할 수 있는 구분자 이다.

식별자의 특징(중요)

유불최존

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

  • 유일성

주식별자에 의해 엔터티내에 모든 인스턴스들을 유일하게 구분함
예) 사원번호가 주식별자가 모든 직원들에 대해 개인별로 고유하게 부여

  • 최소성

주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
예) 사원번호만으로도 고유한 구조인데 사원분류코드+사원번호로 식별자가 구성될 경우 부절한 주식별자 구조임

  • 불변성

주식별자가 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않아야 함
예) 사원번호의 값이 변한다는 의미는 이전기록이 말소되고 새로운 기록이 발생되는 개념임

  • 존재성

주식별자가 지정되면 반드시 데이터 값이 존재 (Null 안됨) 해야함

식별자 분류

  • 대표성 여부
  • 스스로 생성 여부
  • 속성의 수
  • 대체 여부

식별자 도출 기준

① 해당 업무에서 자주 이용되는 속성을 주식별자로 지정한다.
② 명칭, 내역 등과 같이 이름으로 기술되는 것들은 가능하면 주식별자로 지정하지 않는다.
③ 복합으로 주식별자로 구성할 경우 너무 많은 속성이 포함되지 않도록 한다.

  • 주민등록번호도 식별자 후보가 될 수 있지만 해당 업무에서 자주 사용하는 직원번호를 주식별자로 지정함
  • 직원명과 같은 이름은 주식별자로 지정하지 않음(동명이인이 없다고 해도 지정하면 안됨)
  • 직원번호+주민등록번호로 복합 식별자로 하면 유일성을 보장하지만 직원번호만으로도 충분하기 때문에 직원번호로만 지정함

0개의 댓글

관련 채용 정보