Database 我们如何为表作业subjob和contract设计数据库?

Database 我们如何为表作业subjob和contract设计数据库?,database,relational-database,Database,Relational Database,表之间的关系如下所示 1个作业可能包含0-M子作业=1:M 0-M子对象可能有0-M合同=M:M 我设计的桌子是 职务:JobID subbob:subbobid 合约:收缩 subbob_合同:subbobid,contracted 我面临的问题是 当我们想要查看作业和合同时……如果作业没有Subjob,那么合同如何与作业链接呢?我将从表结构中消除作业和Subjob之间的区别。您可以使用SubJob表作为指向其他作业的链接,然后您只有一个作业\合同引用 Subbob将包含所有作业及其Subbo

表之间的关系如下所示 1个作业可能包含0-M子作业=1:M 0-M子对象可能有0-M合同=M:M 我设计的桌子是

职务:JobID

subbob:subbobid

合约:收缩

subbob_合同:subbobid,contracted

我面临的问题是
当我们想要查看作业和合同时……如果作业没有Subjob,那么合同如何与作业链接呢?

我将从表结构中消除作业和Subjob之间的区别。您可以使用SubJob表作为指向其他作业的链接,然后您只有一个作业\合同引用

Subbob将包含所有作业及其Subbob之间的链接

Subjobs: parent_job_id -- Reference to parent Job job_id -- Previously, your SubJobId 返回一组包含“subboId”的所有子对象,这些子对象实际上是作业id


这样你就可以从任何工作中引用合同。

谢谢你实际上我是先想到的,但我搞糊涂了。我想这样解释你。我有一个工作名:A和我有一个工作名A1和A2。两个工作名都有相同的合同名。在链接表中,第一个记录是工作“A”和合同“C”。第二个记录是工作“A”和合同“C”。那么,我们如何区分@Mike M:根据我上面的好奇,它是否将被覆盖?链接表将包含A1和A2记录,然后将用于在主作业表中定位一条记录,该记录将引用合同“C”。
Select * from subjobs where subjobs.parent_job = {jobid};