자바 코드 내에서 사용되는 각각의 단어
하나의 엔티티(Table)에 구성되어 있는 여러 개의 속성 中 엔티티를 대표할 수 있는 속성
→ 하나의 엔티티는 하나 이상의 식별자를 반드시 보유하고 있어야만 한다.
→ 즉, 중복 데이터가 없는 속성(컬럼)
여러 개의 집합체를 담고 있는 하나의 통에서 각각을 구분할 수 있는 논리적인 이름
첫 문자는 반드시 영문자이어야한다.
그 다음 문자부터는 숫자와 문자를 합쳐서 사용 가능하다.
단, _와 $는 첫문자로 사용할수 있는 특별한 문자다.
식별자에 대한 길이 제한은 없다.
JAVA는 대소문자를 구별한다.
대표성 여부
에 따라 구분
후보식별자 : 하나의 엔티티 내에서 식별자로 사용할 수 있는 하나 이상의 키들
'사원'을 예시로 들어보면
후보식별자 - 사번, 주민번호
주식별자 - 사번
보조식별자 - 주민번호
주식별자
유일성
최소성
불변성
존재성
스스로 생성 여부
에 따라 구분
내부식별자 : 자신의 엔티티 내에서 스스로 생성되어 존재하는 식별자
외부식별자 : 다른 엔티티로부터 관계에 의해 주식별자 속성을 상속받아 자신의 속성에 포함되는 식별자
→ FK
단일 속성 여부
에 따라 구분
단일식별자 : 주식별자의 구성이 한 가지 속성으로 이루어진 경우
복합식별자 : 두 개 이상의 속성으로 구성된 경우
→ 우선순위가 매우 중요
주문번호와 상품코드를 복합시켜야만 식별자로써의 기능을 하게 되는데, 주문번호와 상품코드를 복합식별자라고 한다.
대체 여부
에 따라 구분
본질식별자 : 업무에 의해 만들어지는 식별자
인조식별자 : 업무적으로 만들어지지는 않지만 원조식별자가 복잡한 구성을 가지고 있기 때문에 인위적으로 만든 식별자
보통 "예약어", "키워드" 라고 부른다.
JAVA 시스템이 필요에 의해서 먼저 정의한 식별자
JAVA 개발자가 필요에 의해서 정의한 식별자
클래스명, 변수명, 메소드명 을 지정할 때 사용
참고: JPA 연관관계, ERD, 식별/비식별 관계 - 5. 식별/비식별 관계
참고: [Road to JAVA] 식별자란 무엇인가?
참고: 식별자란, 식별자의 유형(주식별자,보조식별자,복합식별자, 단일식별자 등 )
참고: [SQLD] 5. 식별자(Identifiers)