각각의 테이블에서 기본 키(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 |