망각에 재주 있는 나를 위해 기록하는 곳.

[DB] Primary key(기본 키), Foreign key(외래 키) 본문

DB

[DB] Primary key(기본 키), Foreign key(외래 키)

baobabtree 2024. 3. 27. 22:19

Primary key(기본 키)와 Foreign key(외래 키)는 데이터베이스에서 데이터의 정확성과 일관성을 유지하기 위해 사용된다.

 

Primary key(기본 키)

Primary Key는 관계형 데이터베이스에서 각 레코드(행)를 고유하게 식별하는 역할을 하는 필드(열).

각 행은 오직 하나의 Primary Key 값을 가질 수 있으며, 이 Primary Key 값은 중복되지 않아야함.

Primary Key는 해당 테이블에서 유일한 식별자 역할을 수행하며, 테이블의 각 행에는 반드시 Primary Key 값이 있어야함.

 

일반적으로 Primary Key는 테이블에서 자동으로 생성되는 숫자(예를들어 MySQL: AUTO_INCREMENT, PostgreSQL: SERIAL) 또는 고유한 식별자(UUID, GUID 등)로 설정됨. 예를 들어, 사용자 테이블의 경우 사용자 ID가 Primary Key로 설정될 수 있음.

이를 통해 각 사용자는 고유한 ID를 가지고 있으며, 이 ID를 사용하여 사용자를 식별할 수 있음.

 

기본 키의 역할:

  • 행을 고유하게 식별하여 중복을 방지
  • 데이터베이스에서 레코드를 빠르게 검색하고 연결
  • 외래 키(Foreign Key)와의 관계를 설정하여 테이블 간의 관계를 구성

 

 

Foreign Key (외래 키)

Foreign Key(외래 키)는 관계형 데이터베이스에서 두 테이블 간의 관계를 구성하는데 사용되는 필드(열).

Foreign Key는 다른 테이블의 기본 키와 관련이 있으며, 다른 테이블의 Primary Key 값을 참조하는 역할을 함.

간단히 말해, Foreign Key는 한 테이블의 데이터가 다른 테이블의 특정 데이터와 연결되어 있음을 나타냄. 이는 데이터베이스 간에 관계를 설정하고 데이터 간의 무결성을 유지하는 데 사용됨.

예를 들어, 사용자와 주문 정보를 저장하는 두 개의 테이블이 있다고 가정하면, 이 경우 주문 정보 테이블에서 사용자의 ID를 Foreign Key로 사용할 수 있음. 이 Foreign Key는 주문 정보 테이블의 각 주문이 특정 사용자와 연결되어 있음을 나타냄.

 

외래 키의 역할:

  • 다른 테이블의 행과의 관계를 설정하여 데이터를 연결
  • 데이터 무결성을 유지하고, 연결된 데이터가 일관되고 정확하게 유지될 수 있도록 함
  • JOIN 작업을 통해 두 테이블의 데이터를 결합하여 조회하거나 수정하는 데 사용됨

 

Foreign Key는 해당 테이블에 있는 Primary Key를 참조하므로, 참조하는 테이블의 값이 변경되거나 삭제되었을 때 이를 처리하는 방법을 정확히 설정해야 함. 이것을 위해 ON DELETE 및 ON UPDATE와 같은 제약 조건이 사용됨.

예를 들어, "CASCADE" 옵션을 사용하면 Foreign Key를 참조하는 값이 삭제되면 해당 Foreign Key를 사용하는 모든 행도 함께 삭제됨.

'DB' 카테고리의 다른 글

[SQL] 데이터 삽입하기 (INSERT INTO)  (0) 2024.03.28
[SQL] Constraint(제약조건)  (0) 2024.03.27
그룹 함수(Group Function)  (0) 2022.03.20
서브쿼리 (Sub-Query), 집합 연산자(Set Operator)  (0) 2022.03.20
DDL, DML, DCL, TCL  (0) 2022.03.20