2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

[백엔드] 기술 면접 Top30 - #4 Primary Key, Foreign Key

2023. 9. 6. 14:00ㆍ[백엔드] 기술면접
반응형

Primary Key, Foreign Key

 

Primary Key와 Foreign Key란

  • 관계형 데이터베이스에서 데이터베이스 디자인 및 데이터 무결성 유지를 위해 중요한 역할을 하는 두개의 키입니다.

Primary Key (기본 키)

  • 데이터베이스 테이블 내에서 각 레코드(행)를 고유하게 식별하기 위한 열(또는 여러 열)입니다. 

  • 중복된 값을 가질 수 없으며, 각 레코드는 반드시 고유한 Primary Key 값을 가져야 합니다. 

  • 해당 테이블의 주요 식별자로 작동하며 데이터의 정확성과 무결성을 유지하는 데 사용됩니다.

  • 주로 숫자, 문자열 또는 GUID(UUID)와 같은 데이터 타입으로 구성됩니다.

  • 테이블 내의 모든 연결 및 관계를 식별하는 데 도움이 됩니다.

  • 예를 들어, 사용자 테이블에서는 각 사용자의 고유한 사용자 ID가 Primary Key로 사용될 수 있습니다.

Foreign Key (외래 키)

  • 두 개 이상의 테이블 간의 관계를 정의하고 유지하기 위한 열(또는 여러 열)입니다. 

  • 다른 테이블의 Primary Key와 관련되며, 이를 통해 두 테이블 간의 관계를 설정합니다. 

  • 한 테이블의 열이 다른 테이블의 Primary Key 값을 참조하도록 설정할 수 있습니다. 

  • 데이터 일관성을 유지하고 관련된 데이터 간의 무결성을 보장할 수 있습니다. 

  • 외래 키 제약 조건은 해당 테이블에서 참조하는 테이블의 레코드와 일치해야 합니다. 

  • 예를 들어, 주문 테이블에서 제품 ID가 제품 테이블의 Primary Key와 관련된 Foreign Key로 사용될 수 있습니다.

e.g. Primary Key, Foreign Key 

-- 주문 테이블
CREATE TABLE Orders (
  OrderID INT PRIMARY KEY,
  CustomerID INT,
  OrderDate DATE,
  FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

-- 고객 테이블
CREATE TABLE Customers (
  CustomerID INT PRIMARY KEY,
  CustomerName VARCHAR(255),
  ContactEmail VARCHAR(255)
);

 

요약

Primary Key (기본 키)는 고유한 레코드 식별자이며, Foreign Key (외래 키)는 다른 테이블과의 관계를 설정하는 열입니다.
Primary Key는 데이터 무결성을 유지하고 Foreign Key는 데이터간의 관계를 정의합니다.
Primary Key는 한 테이블에서 사용되고 Foreign Key는 다른 테이블의 Primary Key를 참조합니다.
이들은 데이터베이스 디자인에서 중요한 역할을 합니다.
반응형