2016-12-07 3 views
0

3 가지 운송 클래스에 대한 데이터 모델과 각 카테고리의 가격을 생성해야하는 상황이 있습니다. 1 등급 (가장 비쌉니다), 2 등급 (두 번째로 비쌉니다), 3 등급 (최소 비용)은 모두 주문의 총 비용에 따라 달라집니다. 우편 요금의 각 부류 및 이에 수반되는 비용은 총 주문 비용 수준 (즉, 0- $ 10.00 이상의 두 숫자 사이)에 따라 달라집니다. 나는 이것이 4 개의 서로 다른 테이블을 모델링하고 그것들을 서로 연결하는 것을 포함한다고 생각한다. 이 문제에 대해 생각해 보았는가 아니면 데이터 모델링을위한 더 간단한 방법이 있습니까?우송료 기준 데이터 모델

어떻게 접근해야합니까?

어떤 도움이나 지시를 받더라도 크게 감사드립니다!

답변

1

당신은 아마 클래스 테이블을했을 :

 
class description 
1ST 1st Class 
2ND 2nd Class 
3RD 3rd Class 

주문 표에 사용 될 수있는 속성 :

 
class from_value fee 
1ST  0.00  4.00 
1ST 10.00  6.00 
1ST 30.00  8.00 
2ND  0.00  2.00 
2ND 15.00  3.00 
2ND 40.00  5.00 
3RD  0.00  1.00 
3RD 50.00  3.00 
: 수수료를 개최

 
order_no class value etc 
10000  2ND 13.00 ... 
10010  3RD 57.00 ... 

와 테이블을

처음보아야합니다.

+0

@Thorsten_Kettner PK와 FK는 어떻게 이들을 서로 연결합니까? 수수료 표는 이런 점에서 나를 혼란스럽게합니다. – finiteloop

+1

1300과 2 등급의 주문 10000이 있습니다. 수수료 표에서 수수료를 조회하면이 주문에 대해 2.00의 수수료가 적용됨을 알 수 있습니다 (2 등급은 0.00에서 <15.00). 수수료 테이블에서 'to_value'일 경우 누락되었습니다. 이것은 다음 레코드에 의해 암시 적으로 제공됩니다 (SQL의 LEAD 함수를 사용하여 쉽게 검색 할 수 있습니다). 중복 된 범위를 저장하거나 갭을 남길 위험이 있으므로 중복으로 저장할 수도 있습니다. –

+1

수수료 테이블의 PK는 class + from_value입니다. 클래스 테이블에 FK가 있습니다. 주문 테이블의 PK는 order_no이며 class 테이블에 대한 클래스에 FK도 있습니다. 그리고 클래스 테이블의 PK는 명백하게 클래스입니다. –