본문 바로가기

ABAP 프로그래밍 개념/OPEN SQL

2.3 Foreign Keys and Domains

각각의 테이블에서 기본 키(primary key)가 정의되지만, 다른 테이블과의 관계를 정의하기 위해 외래 키(foreign key) 관계를 사용해야 하는 경우가 있습니다. 외래 키(foreign key)는 한 테이블의 필드로, 다른 테이블의 기본 키(primary key)를 참조하는 데 사용됩니다.

예시를 살펴보겠습니다. 아래 표는 고객 세부 정보가 저장된 고객정보 테이블을 보여줍니다. 이 테이블의 주 키는 각 행을 고유하게 식별하는 Cust ID 열입니다.

Cust ID Name Address Zip Code Phone
1 Joey 171 CE 123123 02)XXX-XXX
2 James 345 DE 123456 031)XXX-XXX
3 John 563 WE 789456 054)XXX-XXX

아래 표는 고객의 주문 정보를 저장하는 주문 테이블을 보여줍니다. 이 테이블의 기본 키는  Order ID 열이며, 각 주문을 고유하게 식별합니다.

Order ID Cust ID Item Qty Uom
1000 1 Pen 10 Pieces
1001 2 Pencil 10 Pieces

이 예제에서 위 표의 Cust ID 필드는 고객 테이블(첫 번째 표)을 참조할 수 있으므로 외래 키(foreign key)로 간주됩니다.


관계를 형성하는 데 사용되는 기본 키와 외래 키가 같은 의미와 도메인을 공유하는 것이 중요합니다. 도메인은 필드에 대한 가능한 값 집합을 정의합니다.

예를들어, 만약 Customer ID에 유효한 값의 범위가 1 ~ 10,000 사이의 숫자라고 한다면, Cust ID 필드(상기 두개의 표에 다 존재하는) 는 이 숫자 범위에 들어있어야 합니다. 외래 키(foreign key) 체크를 구현함으로써, 주문 테이블의 Cust ID 필드도 고객 테이블의 Cust ID 필드에 있는 값만으로 구성될 수 있도록 보장할 수 있습니다.

반응형

'ABAP 프로그래밍 개념 > OPEN SQL' 카테고리의 다른 글

2.5 Normalization  (0) 2023.05.03
2.4 Relationship  (2) 2023.05.03
2.2 Tables and Keys  (0) 2023.05.02
2.1 Relational Database Design  (0) 2023.05.02
2. Database Overview  (0) 2023.05.02