Primary Key

기본키(Primary Key)는 줄여 PK 또는 프라이머리키라고 많이 부르며, 유일성과 최소성을 만족하는 키입니다.

Natural Primary Key (자연키)

테이블의 속성(Attribute) 내에서 중복되지 않아 Primary Key로 사용되는 것을 의미합니다. 유저 테이블에서 주민등록번호가 이를 만족할 수 있습니다.

Artificial Primary Key (인조키 )

자연키와 반대로 인위적으로 유저 아이디를 부여하는 것을 의미합니다. 이를 통하여 고유 식별자가 생겨나게 되고 이를 인조키라 부르게 됩니다. MYSQL에서는 Auto increment, Oracle은 Sequence 와 같은 내용이 될 수 있습니다.

자연키와 인조키, 어떤 것을 사용해야할까?

  1. 변경 가능성: 인조키는 데이터베이스 설계자에 의해 생성되고 관리되므로, 데이터의 내용이 변경되더라도 일관성을 유지할 수 있습니다. 반면, 자연키는 데이터 자체에서 파생되므로 데이터 변경 시 키도 변경될 수 있습니다.
  2. 유연성: 인조키는 설계 단계에서 자유롭게 선택할 수 있어, 데이터베이스 구조를 보다 유연하게 관리할 수 있습니다. 이는 특히 대규모 시스템이나 복잡한 데이터 구조에서 유리합니다.
  3. 단순성과 효율성: 인조키는 대개 단순한 숫자로 구성되어 있어 처리가 빠르고, 인덱싱 및 검색 성능이 좋습니다. 자연키는 복잡하거나 긴 문자열일 수 있어, 처리 속도가 느리거나 비효율적일 수 있습니다.
  4. 데이터 중복 최소화: 인조키를 사용하면 키 값의 중복을 피할 수 있으며, 이는 데이터의 무결성을 유지하는 데 도움이 됩니다.
  5. 보안: 인조키는 자연키에 비해 의미가 없거나 추측하기 어렵기 때문에, 데이터의 보안성을 높일 수 있습니다.

그러나 인조키 사용에도 단점이 있습니다. 예를 들어, 인조키를 사용하면 데이터의 자연스러운 의미를 파악하기 어렵고, 시스템의 복잡성이 증가할 수 있습니다. 따라서, 인조키와 자연키 중 어느 것을 사용할지는 프로젝트의 요구 사항과 데이터의 특성에 따라 결정해야 합니다.