내추럴 키
Natural key자연 키(비즈니스 키[1] 또는 도메인 키라고도[2] 함)는 데이터베이스 밖의 외부 세계(즉, 비즈니스 도메인이나 담화 도메인)에서 존재하고 사용되는 속성으로 구성된 데이터베이스의 고유한 키의 일종이다.[3]데이터의 관계 모델에서 자연 키는 슈퍼키이므로 관계 내의 모든 속성에 대한 기능적 결정 요인이 된다.null
천연 키는 두 가지 보완적 목적을 제공한다. 즉, 데이터에 대한 식별 수단을 제공하고, 정보 시스템 내에서 데이터가 고유하게 유지되도록 하기 위한 규칙, 특히 고유성 제약 조건을 부과한다.고유성 제약조건은 제약조건을 위반할 수 있는 데이터의 입력을 거부함으로써 특정 기술적 맥락(예: 테이블, 파일 또는 관계 변수의 값 집합) 내에서 데이터의 고유성을 보장한다.이는 사용자가 시스템에 기록된 핵심 가치와 담론의 외부 영역(단일 버전의 진리)으로 식별된 사실 사이의 보장된 일치성에 의존할 수 있다는 것을 의미한다.null
자연 키는 데이터베이스 자체 외부에 의미가 없으며 실제 관찰에 기초하거나 모델링되는 현실에 대한 설명으로 의도되지 않은 대리 키와 다르다.따라서 자연 키는 특정한 데이터 품질 보증을 제공하는 반면 대리 키는 그렇지 않다.데이터 요소는 여러 개의 키를 갖는 것이 일반적이며, 그 중 몇 개는 자연적이거나 대리적일 수 있다.null
이점
관계에서 레코드를 고유하게 식별하기 위해 자연키를 사용하는 장점은 디스크 공간 사용량이 적다는 것, 자연키는 사업이나 실세계와 관련된 속성이기 때문에 대부분의 경우 대리키를 저장하는 새로운 칼럼을 만드는 것에 비해 디스크 공간을 절약하는 관계에서 이미 저장되고 있다.null
천연키를 사용하는 또 다른 이점은 데이터 품질을 단순화하고 데이터베이스 시스템을 설계하면서 실생활과 관련되기 쉽다는 것이다.이들은 실제 세계에서 고유한 자연 키를 사용하여 동일한 기본 키로 여러 개의 레코드가 될 수 없도록 보장하면서 데이터의 품질을 단순화한다.데이터베이스 스키마를 현실 세계 시나리오와 비교하는 것은 데이터베이스 스키마 설계의 큰 부분을 차지하며, 데이터베이스 테이블에서 자연적인 키가 사용되고 있을 때 데이터베이스 엔지니어가 데이터베이스 시스템을 쉽게 엔지니어링할 수 있게 한다.null
단점들
테이블에서 고유 식별자로 자연 키를 사용하는 것은 사업 규칙의 변경이나 현실에서 속성의 규칙의 변경이라는 하나의 주요한 단점을 가지고 있다.자연 키 속성의 구조에 대한 정의는 미래에 바뀔 수 있다.예를 들어, 미국 시민들에 대한 정보를 저장하는 테이블이 있다면, 사회 보장 번호가 자연적인 키 역할을 할 것이고, 미국 정부가 사회 보장 번호의 구조를 변경하고 어떤 이유로 SSN의 자릿수를 증가시킬 경우, 자연적인 키가 되는 사회 보장 번호가 미래에 문제가 될 수 있다.이 경우, 데이터베이스 관리자는 테이블의 스키마를 변경해야 하며 테이블의 기록도 업데이트해야 한다.null