2017-01-03 9 views
1

청구서 표가 있습니다. 청구서 수신자 부담청구서와 송장을 별도의 테이블이나 하나의 지불 테이블 또는 두 가지로 통합하는 방법은 무엇입니까?

송장 테이블이 있습니다. 고객에게 제공된 청구서

어떻게 결제 할 수 있습니까? . 청구서는 납품 업체에 대한 납입액의 기록이되며 청구서는 고객으로부터받은 납입액입니다.

option1 : Create one payment table with billid and invoice id 
option2 : create two payment table paymentinvoicedetails and paymentbillsdetails with paymentmaster 

어떤 옵션이 더 좋을까요? 아니면 세 번째 옵션이있을 수 있습니까? 더 많거나 적은 필드가 있기 때문에 내가 묻는 이유는 두 개 또는 세 개의 필드가 다른 경우 거의 동일합니다.

답변

0

bill-id, invoice-id, 지불 금액 및 트랜잭션 유형으로 하나의 지불 테이블을 만드는 것으로 충분합니다.

+0

이렇게 답을 generelize 할 수 없습니다. 비즈니스 시나리오에 대해 충분히 알지 못합니다. – Sefe

+0

예 저는 그가 단순한 비즈니스 시나리오라고 가정합니다. 질문에 그는 그가 청구서 테이블과 송장 테이블 만 가지고 있다고 썼습니다. 시나리오가 복잡하다면 동의하지만, 이에 대한 자세한 정보가 필요합니다. 내 대답에, 그는 어떻게 진행할 수 있는지 사용자를 돕기 위해 삼진. 내 의견으로는이 일을 끝내기에 충분해야합니다 :) –

+0

어떻게하면 일을 끝낼 수 있는지 알 수 있습니까? 그것은 _a_ solution이지만 _right_ 솔루션인지 알 수 없습니다. – Sefe

1

이것은 전적으로 비즈니스 요구 사항을 기반으로합니다.

공급 업체 지불과 고객 영수증이 서로 다른 속성/열 또는 다른 하위 테이블 또는 세금/할인 관련 테이블 인 경우 제안 사항은 각 지불에 대해 별도의 테이블을 생성하십시오 (paymentinvoicedetails ,paymentbillsdetails). 그런 다음 테이블뿐만 아니라 다른 관련 마스터/하위 테이블에 대한 외래 키 관계를 적절히 관리 할 수 ​​있습니다.

거의 동일하고 어떤 다른 외부 키 주인이없는 속성은, 당신은 모두 bill (billid)invoice (invoiceid) 테이블 관계 및 열 payment_type있는 단일 지불 테이블을 만들 수 있다면

그러나, (강제적이지, 단순히 지불을 식별 할 수 모드로 설정하면 billid/invoiceid이 NULL 임) 레코드를 공급 업체 지불/고객 영수증으로 표시합니다.