관계형 데이터베이스에서 외래 키의 힘

외래 키가 모든 데이터 세계를 열어줍니다.

데이터베이스 설계자는 관계형 데이터베이스를 개발할 때 키를 광범위하게 사용합니다. 이러한 키 중 가장 공통적 인 것은 기본 키와 외래 키입니다. 데이터베이스 외래 키는 다른 테이블의 기본 키 열과 일치하는 관계형 테이블의 필드입니다. 외래 키가 어떻게 작동하는지 이해하려면 관계형 데이터베이스에 대한 아이디어를 자세히 살펴 보겠습니다.

관계형 데이터베이스의 기본 사항

관계형 데이터베이스에서 데이터는 행과 열을 포함하는 테이블에 저장되므로 검색과 조작이 용이합니다. 관계형 데이터베이스 개념에 대한 진지한 수학이 있습니다 (관계형 대수, EF에서 제안 함).

1970 년 IBM의 Codd),이 기사의 주제가 아닙니다.

실용적인 목적 (그리고 비 수학자)을 위해 관계형 데이터베이스는 행과 열에 "관련"데이터를 저장합니다. 또한 흥미로운 부분이 있습니다. 대부분의 데이터베이스는 한 테이블의 데이터가 다른 테이블의 데이터에 액세스 할 수 있도록 설계되었습니다. 테이블 간의 관계를 생성하는이 기능은 관계형 데이터베이스의 진정한 힘입니다.

외래 키 사용

대부분의 테이블, 특히 크고 복잡한 데이터베이스의 테이블에는 기본 키가 있습니다. 다른 테이블에 액세스하도록 설계된 테이블에는 외래 키가 있어야합니다.

일반적으로 인용 된 Northwinds 데이터베이스를 사용하려면 Product 테이블에서 발췌 한 내용을 참조하십시오.

Northwind 데이터베이스의 제품 테이블 발췌문
제품 ID 상품명 CategoryID QuantityPerU 단가
1 차이 1 10 박스 x 20 봉지 18.00
2 1 24 - 12 온스 병 19.00
아니 시드 시럽 2 12 - 550 ml 병 10.00
4 요리사 Anton의 케이준 조미료 2 48 - 6 온스 항아리 22.00
5 쉐프 안톤의 검보 믹스 2 36 상자 21.35
6 할머니의 보 이젠 베리 스프레드 2 12 - 8 온스 항아리 25.00
7 삼촌 밥의 유기농 말린 배 7 12 - 1 파운드 pkg. 30.00

ProductID 열은이 테이블의 기본 키입니다. 각 제품에 고유 한 ID를 지정합니다.

이 테이블에는 CategoryID 외래 키 열이 포함되어 있습니다. 제품 테이블의 모든 제품은 해당 제품 범주를 정의하는 범주 테이블의 항목에 연결됩니다.

다음은 데이터베이스의 Categories 테이블에서 발췌 한 내용입니다.

Northwind 데이터베이스의 범주 테이블 발췌문
CategoryID 카테고리 이름 기술
1 음료수 청량 음료, 커피, 차, 맥주 및 에일
2 조미료 달콤하고 맛있는 소스, 맛, 스프레드 및 조미료
사탕 과자 디저트, 사탕 및 sweetbreads
5 유제품 치즈

CategoryID 열은이 열의 기본 키입니다. (다른 테이블에 액세스 할 필요가 없기 때문에 외래 키가 없습니다.) Product 테이블의 모든 외래 키는 Categories 테이블의 기본 키에 연결됩니다. 예를 들어, Chai 제품에는 "Beverages"카테고리가 지정되고 Aniseed Syrup은 "Condiments"카테고리에 지정됩니다.

이러한 종류의 링크는 관계형 데이터베이스에서 데이터를 사용하고 재사용 할 수있는 많은 방법을 만듭니다.