다조건 관계
다조건 관계에서 관련 레코드를 성공적으로 연결하기 전에 FileMaker Pro가 평가하는 조건을 늘리는 일치 필드의 수를 증가시킵니다. FileMaker Pro는 필드가 나타나는 순서대로 양쪽의 관계에 있는 각각의 일치 필드로부터 값을 비교합니다. 이것을 AND 비교라고 합니다. 완벽하게 일치하려면 모든 일치 필드가 다른 테이블의 동일한 레코드에서 해당 값을 찾아야 합니다.
이 관계는 다음 조건으로 정의됩니다.
테이블 |
필드 이름 |
설명 |
TableA |
TextFieldA |
TextFieldB 및 NumberFieldB에 대한 일치 필드 |
|
NumberFieldA |
TextFieldB 및 NumberFieldB에 대한 일치 필드 |
TableB |
TextFieldB |
TextFieldA 및 NumberFieldA에 대한 일치 필드 |
|
NumberFieldB |
TextFieldA 및 NumberFieldA에 대한 일치 필드 |
이 관계의 조건에 따라 TextFieldA 값으로 파란색을, NumberFieldA 값으로 123을 가지고 있는 TableA의 레코드는 TextFieldB와 NumberFieldB 모두 파란색과 123 값을 각각 가지고 있는 TableB의 해당 레코드와만 일치합니다. TextFieldA와 TextFieldB는 일치하는 값을 가지고 있지만 NumberFieldA와 NumberFieldB가 일치하는 값을 가지고 있지 않은 경우 관계에서 반환되는 관련 레코드는 없습니다.
테이블 |
레코드 번호 |
필드 이름 |
값 |
관련 레코드? |
TableA |
1 |
TextFieldA |
파란색 |
예 |
|
2 |
TextFieldA |
파란색 |
아니요 |
|
3 |
TextFieldA |
빨간색 |
예 |
TableB |
1 |
TextFieldB |
파란색 |
예 |
|
2 |
TextFieldB |
빨간색 |
예 |
|
3 |
TextFieldB |
파란색 |
예 |
다조건 관계 생성하기
이 예제에서는 다음과 같은 세 개의 테이블이 있는 데이터베이스를 사용하여 다조건 관계를 생성합니다.
- 장비: 장비 대여 재고 저장
- 고객: 고객 이름과 주소 저장
- 출장 음식 품목명: 장비 ID, 고객 ID 및 이벤트 날짜를 포함하여 각 장비 대여의 레코드 저장
이 데이터베이스는 선택된 날짜에 선택된 사용자 별로 장비 대여를 추적하고 모든 대여를 표시합니다.
- 다조건 관계는 고객과 출장 음식 품목명 테이블 간의 관계입니다. 다음 필드를 사용하여 이와 같은 테이블을 생성합니다.
- 관계 편집 대화상자에서 고객 ID와 이벤트 날짜를 고객과 출장 음식 품목명 테이블 간의 관계에서 일치 필드로 정의합니다.
- 고객 테이블에서 고객 테이블의 각 레코드에 고유 ID 번호를 부여해서 일련번호를 자동 입력하도록 고객 ID 필드를 설정합니다.
- 출장 음식 품목명 테이블에서 이 관계를 통해 이 테이블에 레코드 생성 허용을 선택합니다.
관계형 그래프에서 테이블은 다음과 같이 보입니다.
- 고객 레이아웃의 포털을 추가하고 고객::장비 ID 필드를 포털에 추가합니다.
테이블 |
필드 이름 |
설명 |
고객 |
고객 ID |
숫자 필드: 일련번호 자동 입력, 출장 음식 품목명 테이블에 대한 일치 필드 중 하나 |
|
이벤트 날짜 |
날짜 필드: 출장 음식 품목명 테이블에 대해 다른 일치 필드 |
출장 음식 품목명 |
고객 ID |
숫자 필드: 고객 데이터에 대한 일치 필드 중 하나 |
|
이벤트 날짜 |
날짜 필드: 고객 테이블에 대한 다른 일치 필드 |
|
장비 ID |
숫자 필드 |
새로운 관련 레코드를 생성하려면 고객::이벤트 날짜 필드에서 현재 날짜를 입력한 다음 고객 레이아웃의 포털에서 장비 ID 번호를 입력하십시오.
이벤트 날짜가 일치 필드이고 관계가 출장 음식 품목명 테이블에서 관련 레코드의 생성을 허용하기 때문에 고객::이벤트 날짜의 값이 자동으로 음식 공급 품목명::이벤트 날짜 필드에 입력됩니다.
이전 날짜에서 대여를 보려면 고객::이벤트 날짜 필드에서 값을 변경하십시오. FileMaker Pro는 동일한 고객 ID 및 이벤트 날짜가 있는 모든 관련 레코드를 표시합니다.