나는 db를 설계하고 있으며 앞으로 조건부 조인을 피하는 최선의 방법을 찾으려고 노력 중이다. 조건부 조인을 보여주는 기사를 읽었으며 가능한 경우 피하고 싶습니다.모델 디자인에 의한 조건부 조인 피하기
나는 CHECK
테이블을 가지고 있으며, CHECK
은 데이터 (금액, 날짜 등)를 저장할 것입니다. 또한 3 개의 '기타'테이블이 있으며 VENDOR
, VENDOR_DEPT
, VENDOR_ACCOUNT
중 VENDOR_ACCOUNT
은 fk에서 VENDOR_DEPT
까지이고 VENDOR_DEPT
은 fk에서 VENDOR
까지입니다.
내 문제는 이것이다 : 그 CHECK이 중 VENDOR
, VENDOR_DEPT
또는 VENDOR_ACCOUNT
에 할당 할 수 있도록 내 모델을 설계 어떻게 내 CHECK
테이블에 vend_id
, vendacct_id
및 venddept_id
을 가진 또는 열 check_id
이있는 VENDOR_CHECK 테이블을하지 않고, vendor_level
, join_id
.... (잘하면 사진을 얻을 수 있습니다)
깨끗한 방법이 있습니까? BTW, 나는 MySQL을 사용하고 있지만 다른 플랫폼에서도 작동하도록 솔루션을 원합니다. 내가 모델 설계 단계에있어 이후
, 나는 물론이 테이블을 재 설계를 포함한 모든 제안 :
왜 수표가 항상 공급 업체 계정과 연결되어 있지 않은지, 부서 및 공급 업체를 파생시킬 수 있습니까? –
필요에 따라 사용자가 특정 부서가 아닌 전체 공급 업체에 수표를 추가 할 수 있기를 바랍니다. 일부 공급 업체는 너무 작아 부서 또는 acct 존재하지 않을 수 있습니다 ... 다른 테이블 이름을 상상해보십시오 : 프로젝트 - 할당 - 작업 (그리고 그들은 계층 구조에 상상 : Proj는 0 이상의 과제가 있고 과제는 0 개 이상의 과제를가집니다) if 프로젝트에 속한 '비용'항목이 있었으므로 작업 수준의 비용과 다르게 표시해야합니다. – NEW2WEB