기초공사 (html,css,javascript)

무결점위배-index / unique 본문

SQL

무결점위배-index / unique

에스프레소라떼 2023. 11. 17. 16:16

//문제의 발단

 

 

유니크(Unique) 키와 기본 키(Primary Key) 그리고 외래 키(Foreign Key)는 데이터베이스에서 테이블 간의 관계를 나타내고 데이터의 무결성을 유지하기 위해 사용되는 키의 종류입니다. 이들 간에는 다음과 같은 차이점이 있습니다.

  1. 유니크(Unique) 키:
  • 유니크 키는 테이블의 열(또는 열의 조합)에 대해 중복을 허용하지 않는 제약 조건입니다.
  • 유니크 키는 해당 열(또는 열의 조합)에 고유한 값을 가지는 것을 보장합니다.
  • 테이블에서 여러 개의 유니크 키를 가질 수 있으며, 각 유니크 키는 서로 다른 열(또는 열의 조합)에 적용될 수 있습니다.
  1. 기본 키(Primary Key):
  • 기본 키는 테이블의 열(또는 열의 조합)에 대해 중복을 허용하지 않는 제약 조건입니다.
  • 기본 키는 테이블에서 특정 레코드를 고유하게 식별하는 데 사용됩니다.
  • 테이블에서 기본 키는 오직 하나만 가질 수 있으며, 해당 테이블의 기본 식별자로 사용됩니다.
  1. 외래 키(Foreign Key):
  • 외래 키는 한 테이블의 열이 다른 테이블의 기본 키와 관계를 맺는 제약 조건입니다.
  • 외래 키는 다른 테이블의 기본 키 값을 참조하며, 두 테이블 간의 관계를 형성합니다.
  • 외래 키는 데이터의 무결성을 유지하고 참조 무결성을 보장하는 데 사용됩니다.

요약하자면, 유니크 키는 중복을 허용하지 않는 제약 조건을 가진 열(또는 열의 조합)을 나타내는 것이고, 기본 키는 하나의 테이블에서 특정 레코드를 고유하게 식별하는 열(또는 열의 조합)을 나타내며, 외래 키는 다른 테이블의 기본 키와 관계를 맺는 열을 나타냅니다. 이들은 데이터베이스에서 테이블 간의 관계를 정의하고 데이터의 무결성을 유지하기 위해 중요한 역할을 합니다.

 

 

예시를  들어볼께

가정해보겠습니다. 우리가 "고객(Customer)"과 "주문(Order)"라는 두 개의 테이블을 가지고 있다고 가정해봅시다.

  1. 유니크(Unique) 키: 고객 테이블에서 "고객 ID(Customer ID)" 열을 유니크 키로 설정할 수 있습니다. 이렇게 하면 각 고객은 고유한 ID를 가지게 됩니다. 예를 들어, "고객 ID"가 1인 고객과 "고객 ID"가 2인 고객은 중복되지 않는 고유한 ID를 갖게 됩니다.
  2. 기본 키(Primary Key): 주문 테이블에서 "주문 ID(Order ID)" 열을 기본 키로 설정할 수 있습니다. 이렇게 하면 각 주문은 고유한 주문 ID를 가지게 됩니다. 예를 들어, "주문 ID"가 1인 주문과 "주문 ID"가 2인 주문은 중복되지 않는 고유한 주문 ID를 갖게 됩니다. 주문 테이블에서는 기본 키로 설정된 열을 통해 각 주문을 식별할 수 있습니다.
  3. 외래 키(Foreign Key): 주문 테이블에서 "고객 ID(Customer ID)" 열을 외래 키로 설정할 수 있습니다. 이렇게 하면 주문 테이블의 "고객 ID" 열은 고객 테이블의 "고객 ID" 열을 참조하게 됩니다. 이렇게 함으로써 주문과 해당 주문을 한 고객 간의 관계를 맺을 수 있습니다. 외래 키를 사용하면 고객 ID가 1인 주문은 실제로 고객 테이블에서 ID가 1인 고객과 연결됩니다.

이렇게 유니크 키, 기본 키, 외래 키를 사용하여 테이블 간의 관계를 구성하고 데이터의 무결성을 유지할 수 있습니다. 각 키는 테이블의 구조와 데이터 관리에 중요한 역할을 합니다.

'SQL' 카테고리의 다른 글

오라클 INSERT, UPDATE, DELETE 문법  (0) 2024.01.12