Today I Learned
내일 있을 면접 준비에 바빠 공부를 많이 하진 못했다. 내일 면접 후 SQLD 진도를 확 빼야겠다.
식별자
엔터티를 대표할 수 있는 유일성을 만족하는 속성
특징
-
유일성
주식별자에 의해 엔터티 내의 모든 인스턴스를 유일하게 구분
-
최소성
주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.
-
불변성
주식별자가 특정 엔터티에 지정되면 그 값은 불변해야 한다.
-
존재성
주식별자로 지정되면 데이터 값이 존재해야 한다.(Not Null)
종류
- 대표성 여부에 따른 분류
- 주 식별자 : 대표성을 만족하는 식별자
- 보조 식별자 : 유일성과 최소성만 만족하는 식별자. 참조관계 연결에 사용x
- 생성 여부에 따른 분류
- 내부 식별자 : 자연스럽게 존재
- 외부 식별자 : 다른 엔터티와의 관계를 통해 생성
- 속성 수에 따른 분류
- 단일 식별자 : 하나의 속성
- 복합 식별자 : 여러 속성
- 대체 여부에 따른 분류
- 본질 식별자 : 대체 불가능
- 인조 식별자 : 인위적으로 만들어지는 대체가능한 식별자.
후보 식별자 중 주 식별자로 선정할 것이 없거나 주 식별자가 너무 많은 컬럼으로 구성되어있을때 순서 번호를 사용해 생성
DB 키의 종류
- 기본키 : Primary Key. 엔터티를 대표하는 키. 후보키 중 선정
- 후보키 : 유일성과 최소성을 만족하는 키
- 슈퍼키 : 유일성만 만족하는 키
- 대체키 : 기본키를 제외한 나머지 후보키
- 외래키 : Foreign Key. 여러 테이블의 기본키 필드, 참조 무결성을 확인하기 위해 사용 됨
주식별자 도출 기준
업무에서 자주 이용되는 속성
이름 명명 및 복합 식별자는 지양