Tiny Star

📊DataBase/📈SQL

[🪪SQLD] 1과목 - 데이터 모델링의 이해 : 식별자 / 본질 식별자 vs 인조 식별자 (24년 개정 요약)

청크 2024. 2. 13. 18:54

[식별자]

· 식별자 (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 또는 게시판 개발 시 사용하는 순차번호 등