交集(联结)表的编码与您预期的差不多,只有两个外键指向同一个表。
create table task_subtasks
( master_id number not null
, sub_id number not null
, constraint task_subtask_pk primary key (master_id, sub_id)
, constraint task_subtask_master_fk foreign key (master_id)
references tasks (taskid)
, constraint task_subtask_sub_fk foreign key (sub_id)
references tasks (taskid)
)
/
编辑
输入后,我想询问您的数据模型。我可以看到一个任务可以拥有许多子任务,但我不确定一个子任务如何属于许多主任务。你确定你真的不想要一对多的关系吗?
编辑 2
在我撰写该编辑时,我看到您编辑了您的问题以回答这一点。
create table tasks (
TaskId number not null
, aspnet_OwnerUserId number not null
, subTaskId number
, Title (nvarchar(50))
, Description (nvarchar(MAX))
, StartDate (smalldatetime)
, DueDate (smalldatetime)
, constraint task_pk primary key (taskid)
, constraint sub_task_fk foreign key (subtaskid)
references tasks (taskid)
)
/