환경에 설치한 Northwind Traders 데이터베이스에서 관계형 데이터를 관리하기 위한 캔버스 앱에 대해 알아봅니다. 그런 다음 후속 항목의 단계별 지침에 따라 이 앱을 처음부터 빌드하여 관계형 데이터로 작업하는 실습 경험을 얻을 수 있습니다.
이 내용에서는 다음을 발견합니다.
- 앱 사용자가 앱에서 관계형 데이터를 표시하고 관리하는 방법
- 앱을 구동하는 데이터 형식입니다.
- 이러한 데이터 형식 간의 관계를 만드는 방법
단일 화면에서 앱 사용자는 주문을 표시, 업데이트, 만들기 및 삭제할 수 있습니다.
사용자 인터페이스 탐색
주문 내역 갤러리
앱의 왼쪽 가장자리에는 주문 번호, 상태, 고객 이름 및 총 주문 비용을 포함한 주문 목록이 갤러리에 표시됩니다. 사용자는 목록을 스크롤하여 주문을 찾은 다음 주문의 화살표를 선택하여 이에 대한 자세한 정보를 표시할 수 있습니다. 추가 정보: 주문 갤러리를 만듭니다.
요약 양식
오른쪽 위 모서리의 양식에는 사용자가 주문 갤러리에서 선택한 순서가 요약되어 있습니다. 요약에는 해당 갤러리와 동일한 정보가 많이 포함되어 있지만, 요약에는 주문이 만들어지고 지불된 날짜와 주문을 관리한 직원의 이름과 그림도 표시됩니다. 사용자는 제목 표시줄의 오른쪽 가장자리 근처에 있는 아이콘을 선택하여 양식의 데이터를 변경하거나, 변경 내용을 저장하거나, 취소하거나, 주문을 삭제할 수 있습니다. 추가 정보: 요약 양식을 만듭니다.
세부 정보 갤러리
오른쪽 아래 모서리에 있는 다른 갤러리에는 선택한 주문에 포함된 제품 및 수량에 대한 정보가 표시됩니다. 이 갤러리의 각 항목을 주문 세부 정보라고 합니다. 앱 사용자는 해당 갤러리 안과 아래에 있는 컨트롤을 사용하여 해당 갤러리의 모든 항목을 추가하고 삭제할 수 있습니다. 추가 정보: 세부 정보 갤러리를 만듭니다.
데이터 원본 탐색
이 앱을 만들려면 5개의 테이블과 선택 항목의 데이터를 표시합니다. 실제로 이 앱의 대부분의 영역에는 여러 테이블의 데이터가 표시됩니다. 예를 들어 주문 갤러리에는 다음 정보가 포함됩니다.
- 주문 번호는 Orders 테이블의 필드입니다.
- 상태는 Orders 테이블의 또 다른 필드이며, 주문 상태 선택 중 하나입니다.
- 고객 이름은 Customers 테이블의 필드입니다.
- 총 비용은 주문 세부 정보 테이블의 데이터를 기반으로 계산됩니다.
요약에는 주문 목록과 동일한 정보가 포함되어 있지만 주문을 관리한 직원의 이름과 그림도 포함됩니다. 해당 정보는 Employees 테이블의 필드에서 가져옵니다. 세부 정보 갤러리는 주문 세부 정보 테이블의 레코드를 표시하며, 이러한 세부 정보의 각 제품은 Order Products 테이블의 레코드입니다.
관계 탐색
동일한 갤러리 또는 양식에 다른 원본(예: 테이블)의 데이터를 표시할 수 있습니다. 이러한 테이블에는 데이터베이스에서 만든 관계가 있기 때문입니다.
다 대 일 관계
예를 들어 고객 및 각 주문의 직원에 대한 정보는 고객 및 직원 테이블에 상주 합니다 . 따라서 Orders 테이블은 주문이 많기 때문에 해당 테이블과 다대일 관계를 맺습니다. 각 주문은 한 명의 고객만 배치하고 한 명의 직원만 관리할 수 있기 때문입니다.
각 주문에는 주문에 포함된 제품과 해당 수량을 나타내는 하나 이상의 품목도 있습니다. 각 품목은 주문 세부 사항 테이블의 레코드로, 주문 제품 테이블에서 각 제품에 대한 정보를 가져옵니다. 각 세부 정보는 하나의 제품만 식별하지만 각 제품은 여러 세부 정보에 표시할 수 있습니다. 따라서 Order Details 테이블은 Order Products 테이블과 일대다 관계를 형성합니다.
일대다 관계
각 주문에는 여러 줄 항목이 포함될 수 있지만 각 품목은 하나의 주문에만 관련됩니다. 따라서 Orders 테이블은 Order Details 테이블과 일대다 관계를 맺습니다.
관계에 대한 점 표기법
테이블 간의 관계를 기반으로 데이터를 표시하려면 점 속성 선택기를 사용하여 한 테이블에서 다른 테이블로의 관계를 살펴볼 수 있습니다. 예를 들어 Orders 테이블의 각 레코드는 주문 갤러리에서 고객 이름을 표시할 수 있도록 Customers 테이블에서 정보를 가져옵니다. 해당 갤러리에서 레이블의 Text 속성을 다음 식으로 설정하여 이 동작을 구성합니다.ThisItem.Customer.Company
ThisItem 은 Orders 테이블의 레코드를 지정하고 주문한 고객에 대한 정보를 Customers 테이블에서 가져옵니다. 이 경우 수식은 고객의 회사 이름이 표시되도록 명시합니다. 그러나 해당 고객의 전체 레코드를 끌어오므로, 해당 고객의 이메일 주소 등을 쉽게 표시할 수 있습니다.
한 테이블에서 다른 테이블로 이동하는 또 다른 예로, 사용자가 다른 갤러리에서 선택하고 다른 테이블에 있는 레코드를 기반으로 한 테이블에 레코드를 표시하도록 지정할 수 있습니다. 주문 세부 정보를 표시하려면 세부 정보 갤러리의 Items 속성을 다음 식으로 설정합니다.Gallery1.Selected.'Order Details'
이 경우 Gallery1.Selected는 이전 예제에서 ThisItem과 마찬가지로 Orders 테이블의 레코드를 지정합니다. 그러나 이 표현은 이전 표현처럼 단 하나의 레코드만을 가져오지는 않습니다. 대신 전체 레코드 테이블을 끌어와 각 제품의 이름과 단위당 비용( Order Products 테이블에 반영됨) 및 수량( 주문 세부 정보 테이블에 반영됨)을 표시합니다.
직접 해보십시오.
단계별 지침에 따라 Northwind Orders 캔버스 앱을 만들 수 있습니다. 지침은 세 부분으로 나뉩니다.
앞으로 건너뛰려는 경우 솔루션에 각 파트의 시작점 앱이 포함되어 있습니다. 앱 목록에서 Northwind Orders (Canvas) - Begin Part 1 등을 찾으십시오.