TOP
class="layout-aside-left paging-number">
본문 바로가기
자격증/SQLD

데이터 모델과 SQL - 본질식별자 vs 인조식별자

by 기록자_Recordian 2024. 1. 7.
728x90
반응형

SQLD 1과목 데이터 모델과 SQL

<목차>

 

5.  본질식별자 vs 인조식별자

본질식별자 vs 인조식별자

 

식별자에 대해서는 기존에 정리해 두었던 글 참조.

 

식별자

 

23년 12월 27일 데이터 모델링의 이해 - 식별자

SQLD 1과목 데이터 모델링의 이해 데이터모델의 이해 2023.12.26 - [개발일지/SQLD] - 23년 12월 26일 SQLD 1과목 데이터 모델링의 이해 엔터티 2023.12.26 - [분류 전체보기] - 23년 12월 26일 데이터 모델링의 이

puppy-foot-it.tistory.com

 

요약하여 식별자란,

식별자는 엔터티를 대표하는 속성 의미
하나의 엔터티는 반드시 하나의 유일한 식별자를 가지고 있어야 함.
여러 개의 칼럼이 하나의 식별자가 되기도 함 (복합식별자)

 

 

또한, 식별자는 여러 분류 기준에따라 분류되는데,

그중 대체여부에 따라 본질식별자 / 인조식별자로 구분.

* 원래 업무적으로 의미가 있던 식별자 속성을 대체하여 일련번호와 같이 새롭게 만든 식별자를 구분

 

  • 본질식별자: 업무에 의해 만들어지는 식별자,
  • 인조식별자: 업무적으로 만들어지지는 않지만 원조식별자가 복잡한 구성을 가지고 있기 때문에 인위적으로 만든 식별자

 

일반적으로 주식별자의 속성의 개수가 많다는 것 (일반적으로 7~8개 이상)은 새로운 인조식별자를 생성하여 데이터 모델을 구성하는 것이 데이터 모델을 한층 더 단순하게 하고 애플리케이션을 개발할 때 조건절을 단순하게 할 수 있는 방법이 될 수 있음.

 

출처: 데이터 자격검정
출처: 데이터 자격검정

 

접수의 주식별자가 접수일자, 관할부서, 입력자사번, 접수방법코드, 신청인구분코드, 신청자주민번호, 신청회수 등 7개 이상의 복잡한 속성을 가지고 있는데, 이러한 모델은 실제 테이블에 PK는 7개가 생성.

> 만약 특청 신청인의 계약금 하나만 가져온다고 하더라도 복잡한 SQL 문장을 구사해야 함.

따라서, 인조식별자를 구성하여 데이터 모델을 단순화할 필요성이 있는 것.


이전글

Null 속성의 이해

 

다음글

2과목 SQL 기본 및 활용 - 관계형 데이터베이스 개요

 

728x90
반응형