> 데이터 베이스 > MySQL 튜토리얼 > 기본 키, 외국 키 및 고유 키는 무엇입니까? 그들의 목적을 설명하십시오.

기본 키, 외국 키 및 고유 키는 무엇입니까? 그들의 목적을 설명하십시오.

Robert Michael Kim
풀어 주다: 2025-03-19 13:12:31
원래의
231명이 탐색했습니다.

기본 키, 외국 키 및 고유 키는 무엇입니까? 그들의 목적을 설명하십시오.

기본 키, 외국 키 및 고유 키는 데이터베이스 관리 시스템의 기본 개념으로, 각각 데이터 무결성을 유지하고 효율적인 데이터 관리를 용이하게하는 데있어 독특한 목적을 제공합니다.

기본 키 :
기본 키는 데이터베이스 테이블의 각 레코드에 대한 고유 식별자입니다. 각 행을 고유하게 식별 할 수 있도록하여 데이터 검색 및 데이터 무결성 유지에 중요합니다. 기본 키에는 NULL 값을 포함 할 수 없으며 각 테이블에는 하나의 기본 키만 가질 수 있습니다. 주요 목적은 테이블 내에 중복 행이 존재하지 않도록 엔티티 무결성을 시행하는 것입니다. 예를 들어, 고객 데이터베이스에서 고객 ID는 기본 키 역할을 할 수 있습니다.

외국 키 :
외국 키는 두 개의 테이블의 데이터 간의 링크를 설정하고 시행하는 데 사용되는 열 또는 열의 조합입니다. 다른 테이블의 주요 키를 참조하기 때문에 테이블 사이의 교차 참조 역할을합니다. 외국 키의 목적은 참조 무결성을 유지하여 테이블 간의 관계가 일관성을 유지하도록하는 것입니다. 예를 들어, 주문 데이터베이스에서 주문 테이블에는 고객 테이블에서 고객 ID를 참조하는 외국 키가있어 모든 주문이 유효한 고객과 연결되도록 할 수 있습니다.

독특한 키 :
고유 한 키는 열의 모든 값 (또는 열 세트)이 고유한지 확인한다는 점에서 기본 키와 유사합니다. 그러나 기본 키와 달리 고유 키에는 하나의 널 값이 포함될 수 있으며 테이블에는 여러 개의 고유 키가있을 수 있습니다. 고유 한 키의 목적은 지정된 열의 중복 항목을 방지하는 것입니다. 이는 기본 키의 제한없이 데이터 무결성을 유지하는 데 유용 할 수 있습니다. 예를 들어, 사용자 테이블의 이메일 주소 필드는 두 사용자가 동일한 이메일 주소를 가지고 있지 않도록 고유 키로 정의 될 수 있습니다.

기본 키는 데이터베이스 내에서 데이터 무결성을 유지하는 데 어떻게 도움이됩니까?

기본 키는 여러 메커니즘을 통해 데이터베이스 내에서 데이터 무결성을 유지하는 데 중요한 역할을합니다.

  1. 고유성 : 테이블의 각 레코드에 고유 식별자가 있는지 확인하여 기본 키는 중복 행의 삽입을 방지합니다. 이는 정확한 데이터 표현에 필수적이며 데이터 중복성을 방지합니다.
  2. 엔티티 무결성 : 기본 키 각 기본 키 값이 고유하고 무효가되지 않도록 요구함으로써 엔티티 무결성을 시행합니다. 이를 통해 모든 레코드를 뚜렷하게 식별 할 수 있으며, 이는 데이터 검색, 업데이트 및 삭제와 같은 작업에 필수적입니다.
  3. 효율적인 데이터 검색 : 기본 키는 종종 인덱싱의 기초 역할을하여 데이터 검색 작업 속도를 높입니다. 이는 쿼리가 효율적이고 정확하게 실행되도록하여 데이터 무결성을 유지하는 데 기여합니다.
  4. 관계 관리 : 기본 키는 외국의 주요 관계에서 참조로 사용되어 참조 무결성을 유지하는 데 도움이됩니다. 이를 통해 테이블 ​​간의 관계가 일관되게 유지되며 이는 데이터 무결성에 중요합니다.

예를 들어, 직원 기록을 관리하는 데이터베이스에서 직원 ID는 기본 키 역할을합니다. 이를 통해 모든 직원에게는 급여 또는 부서와 같은 다른 테이블에 연결하는 데 사용되는 고유 식별자가있어 전체 데이터베이스의 무결성을 유지합니다.

외국 키는 어떤 방식으로 테이블 간의 관계를 촉진합니까?

외국 키는 몇 가지 중요한 방법으로 테이블 간의 관계를 촉진합니다.

  1. 참조 무결성 : 외국 키는 외국 ​​키 열의 값이 참조 테이블의 기본 키 열의 값과 일치하도록하여 참조 무결성을 보장합니다. 이것은 고아 기록을 방지하고 관련 테이블에서 일관성을 유지합니다.
  2. 데이터 일관성 : 테이블 간의 관계를 시행함으로써 외국 키는 데이터 일관성을 유지하는 데 도움이됩니다. 예를 들어, 기본 테이블의 레코드가 업데이트되거나 삭제되면 관련 테이블의 해당 레코드를 자동으로 업데이트하거나 삭제하여 데이터가 일관되게 유지 될 수 있습니다.
  3. 링크 테이블 : 외국 키는 테이블 사이의 브리지 역할을하여 여러 테이블의 데이터를 결합하여 의미있는 방식으로 쿼리 할 수 ​​있습니다. 이는 포괄적 인 데이터 세트를 검색하기 위해 SQL 쿼리에서 테이블을 결합하는 데 특히 유용합니다.
  4. 캐스케이드 작업 : Cascade Delete 또는 Cascade Update와 같은 캐스케이드 작업을 수행하도록 외국 키는 기본 테이블에서 관련 테이블로 변경 사항을 자동으로 전파하도록 구성 할 수 있습니다. 이를 통해 데이터 무결성을 유지하고 데이터 관리 작업을 단순화하는 데 도움이됩니다.

예를 들어, 라이브러리 시스템을 관리하는 데이터베이스에서 책 테이블에는 게시자 테이블에 게시자 ID를 참조하는 외국 키가있을 수 있습니다. 이 관계는 모든 책이 유효한 출판사와 관련되도록 보장하고 게시자 데이터에 대한 변경 사항은 책 테이블에 자동으로 반영 될 수 있습니다.

기본 키와 고유 키와 데이터베이스 디자인의 특정 용도가 어떻게 다른지 설명 할 수 있습니까?

고유 한 키와 기본 키는 열이나 열 세트 내에서 값의 고유성을 보장하는 공통의 목적을 공유하지만 여러 가지 주요 측면에서 다릅니다.

차이점 :

  1. NULL 값 : 기본 키에는 NULL 값을 포함 할 수 없지만 고유 키에는 하나의 NULL 값이 포함될 수 있습니다. 이를 통해 고유 키를 사용할 때 데이터 설계에 더 많은 유연성이 가능합니다.
  2. 수량 : 테이블에는 하나의 기본 키만 가질 수 있지만 여러 개의 고유 키가있을 수 있습니다. 이를 통해 다른 열에서 데이터 무결성을 유지하는 데 유연성이 높아집니다.
  3. 인덱싱 : 기본 키와 고유 키는 모두 기본적으로 인덱싱되지만 기본 키는 일반적으로 클러스터 된 인덱스 (데이터의 물리적 순서)로 사용되는 반면 고유 키는 클러스터되지 않은 인덱스입니다.

데이터베이스 디자인에서 고유 키의 특정 사용 :

  1. 대체 고유 식별자 : 기본 키를 제외하고 레코드에 대한 대체 고유 식별자가 필요할 때 고유 키가 종종 사용됩니다. 예를 들어, 사용자 데이터베이스에서 사용자 ID (기본 키)와 이메일 주소 (고유 키)를 사용하여 사용자를 고유하게 식별 할 수 있습니다.
  2. 유연한 데이터 무결성 : 고유 키는 기본 키의 엄격한 규칙없이 데이터 무결성을 시행 할 수있는 방법을 제공합니다. 예를 들어, 제품 테이블은 제품 ID의 주요 키뿐만 아니라 제품 SKU의 고유 키를 가질 수 있으므로 유연한 데이터 관리가 가능합니다.
  3. 복합 키 : 고유 키는 종종 컬럼의 조합이 고유성을 보장하는 데 사용되는 복합 키의 일부로 사용됩니다. 이것은 단일 열이 독창성을 보장하기에 충분하지 않은 시나리오에서 유용 할 수 있습니다.
  4. 데이터 중복 예방 : 비 예산 키 열의 고유성을 보장함으로써 고유 키는 여러 필드가 고유 해야하는 시나리오에서 데이터 중복성을 방지하고 데이터 정확도를 보장하는 데 도움이됩니다.

예를 들어, 차량 등록을 관리하는 데이터베이스에서 차량 식별 번호 (VIN)가 기본 키 일 수 있지만 번호판 번호는 시스템 내에 동일한 번호판을 갖지 않도록하는 고유 한 키가 될 수 있습니다.

요약하면, 기본 키와 고유 키는 모두 고유성을 시행하지만 기본 키는 전체 데이터 무결성을 유지하는 데 더 엄격하고 더 중요하지만 고유 키는 더 많은 유연성을 제공하고 다양한 시나리오에서 데이터 관리 및 무결성을 향상시킬 수 있습니다.

위 내용은 기본 키, 외국 키 및 고유 키는 무엇입니까? 그들의 목적을 설명하십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿