달성하려는 목표가 무엇인지 잘 모르겠지만 테이블 필드로 지정한 것에 따라 테이블 자체와의 일대 다 관계가 더 적절하다고 생각합니다.
TaskId (integer *Primary Key)
Ref_Id (integer *Foreign Key references to TaskId above)
ASPNet_OwnerUserId (integer)
Title (varchar/text)
StartDate (Date/Timestamp)
DueDate (Date/Timestamp)
하위 작업에 여러 개의 상위 작업이 포함되도록하려면 내가 말한 것을 잊어 버리십시오. 즉, 특정 질문에 대해 하나 이상의 답변을 만들 수는 있지만 그 반대는 아닙니다.
편집 : 나는 사용자 정보가있는 다른 테이블 "aspnet_OwnerUser"가 있다고 가정합니다. 이 경우 SQL을 따르십시오. 그렇지 않으면 잊어 버리십시오. ;)
CREATE TABLE `aspnet_OwnerUser`
(
`id` SERIAL PRIMARY KEY
, `name` VARCHAR(128)
-- further detail follows
);
CREATE TABLE `task`
(
`id` SERIAL PRIMARY KEY
, `ref_id` INTEGER
CONSTRAINT REFERENCES `task`(`id`)
, `aspnet_OwnerUserId` INTEGER
CONSTRAINT REFERENCES `aspnet_OwnerUser`(`id`)
, `title` VARCHAR(128) NOT NULL
, `startdate` TIMESTAMP
, `duedate` TIMESTAMP
);
p.s. 위의 SQL은 PostgreSQL을 위해 쓰여졌 고, 다른 DBMS를 위해서, 자유롭게 바꾸십시오.
그래, 내가 처음에 나타난 바보 같아요. 일대 다 (one-to-many)가 정확히 제가 생각한 것입니다. 나는 뇌가 그것을 번역하지 못하는 것 같습니다. 질문 업데이트 중입니다. –
내 머리를 곧고 좁은 곳에 다시 붙여 주셔서 감사합니다./활 –