[식별자]
· 식별자 (Identifier)
-> 엔터티를 대표할 수 있는 유일성을 만족하는 속성
· 주식별자 (기본키, Primary Key - PK)의 특징
1) 최소성 : 최소성을 만족하는 키
2) 대표성 : 엔터티를 대표할 수 있어야 함
3) 유일성 : 엔터티의 인스턴스를 유일하게 식별해야 함
4) 불변성 : 자주 변경되지 않아야 함
5) 존재성 : 항상 데이터 값이 있어야 함
· 키의 종류
1) 기본키 (Primary Key) : 후보키 중 엔터티를 대표할 수 있는 키
2) 후보키 (Candidate Key) : 유일성과 최소성을 만족하는 키
3) 슈퍼키 (Super Key) : 유일성은 만족하지만 최소성을 만족하지 않음
4) 대체키 (Alternate Key) : 여러 후보키 중 기본키를 선정하고 남은 키
5) 외 래키 (Foreign Key) : 하나 혹은 다수의 다른 테이블 기본 키 필드를 가리키는 것으로 참조 무결성 확인을 위해 사용되는 키
즉, 허용된 데이터 값만 데이터 베이스에 저장하기 위해 사용
· 식별자의 종류
1) 식별자의 대표성 여부
- 주식별자 : 유일성과 최소성을 만족하면서 엔터티를 대표하는 식별자로 타 엔터티와 참조관계로 연결이 가능
- 보조 식별자 : 유일성과 최소성을 만족하지만 대표성을 만족하지 못하는 식별자로 타 엔터티와 참조관계 연결이 불가
2) 스스로 생성의 여부
- 내부 식별자 : 엔터티 내부에서 스스로 생성되는 식별자
ex) 부서코드, 주문번호, 종목코드 등
- 외부 식별자 : 다른 엔터티와의 관계로 인해 만들어지는 식별자
ex) 계좌 엔터티의 회원 ID
3) 속성의 수
- 단일 식별자 : 하나의 속성으로 구성 ex) 고객엔터티의 회원 ID
- 복합 식별자 : 두 개 이상의 속성으로 구성
4) 대체 여부
- 본질 식별자 : 비즈니스 프로세스에서 만들어지는 식별자
- 인조 식별자 : 인위적으로 만들어지는 식별자
* 인조 식별자는 후보 식별자 중에서 주식별자로 선정할 것이 없거나 주식별자가 너무 많은 칼럼으로 되어 있는 경우에 사용
즉, 순서번호 (Sequence Number)를 사용해서 식별자를 만드는 것
[본질 식별자 vs 인조 식별자]
· 본질 식별자
-> 비즈니스 프로세스에서 발생 또는 데이터의 자연스러운 특성을 이용한 값
· 인조 식별자
-> 본질 식별자가 너무 복잡할 때 인위적으로 만든 고유한 식별자
ex) 카드번호, 사원번호 등
* 만약, 본질 식별자가 확인되지 않고 식별자의 역할을 하는 데이터가 필요한 경우에 인위적으로 인조식별자를 만들 수 있음
ex) Oracle의 Sequence 또는 게시판 개발 시 사용하는 순차번호 등
'📊DataBase > 📈SQL' 카테고리의 다른 글
[🪪SQLD] 1과목 - 데이터 모델링의 이해 : 관계와 조인 / 트랜잭션 / Null 속 (24년 개정 요약) (0) | 2024.02.14 |
---|---|
[🪪SQLD] 1과목 - 데이터 모델링의 이해 : 정규화와 반정규화 (24년 개정 요약) (1) | 2024.02.13 |
[🪪SQLD] 1과목 - 데이터 모델링의 이해 : 속성 / 관계 (24년 개정 요약) (0) | 2024.02.13 |
[🪪SQLD] 1과목 - 데이터 모델링의 이해 : 엔터티 (24년 개정 요약) (0) | 2024.02.13 |
[🪪SQLD] 1과목 - 데이터 모델링의 이해 : 데이터 모델의 이해 (24년 개정 요약) (0) | 2024.02.08 |