表之间的关系遵循这 1 个工作可能包含 0-M 子工作 = 1 :M 0-M 子工作可能有 0-M 合同 = M :M 我设计的表是
工作:工作ID
子作业:子作业ID
合同:合同ID
Subjob_Contract:SubjobID,ContractID
我面临的问题是当我们想要查看工作和合同时.....如果工作没有子工作,那么合同如何与工作联系起来
表之间的关系遵循这 1 个工作可能包含 0-M 子工作 = 1 :M 0-M 子工作可能有 0-M 合同 = M :M 我设计的表是
工作:工作ID
子作业:子作业ID
合同:合同ID
Subjob_Contract:SubjobID,ContractID
我面临的问题是当我们想要查看工作和合同时.....如果工作没有子工作,那么合同如何与工作联系起来
我会从表结构中消除作业和 SubJob 之间的区别。您可以使用 SubJob 表作为指向其他 Jobs 的链接,然后您只有一个 Job_Contract 引用。
然后,SubJob 将包含所有 Jobs 和它们的 SubJobs 之间的链接。
子工作: parent_job_id -- 对父作业的引用 job_id -- 以前,您的 SubJobId
例子:
Select * from subjobs where subjobs.parent_job = {jobid};
返回一组包含实际上是作业 ID 的“subjobid”的所有子作业。
这样您就可以参考任何工作的合同。