У меня есть следующие таблицы:SQL многие-ко-многим между таблицами 3
Users
- user_id (PK)
Projects
- project_id (PK)
Tasks
- taks_id (PK)
- project_id (FK)
Требования:
- Каждая Задача принадлежит только один проект.
- В каждом проекте есть один или несколько пользователей.
- Каждая задача имеет 0 или более пользователей (но пользователи должны принадлежать проекту, к которому принадлежит задача).
В настоящее время я пытаюсь сделать выше 2 объединения таблиц:
UsersProjects
[user_id] INT NOT NULL,
[project_id] INT NOT NULL,
[accepted] BIT NULL,
FOREIGN KEY ([user_id]) REFERENCES [dbo].[_Users] ([user_id]),
FOREIGN KEY ([project_id]) REFERENCES [dbo].[_Projects] ([project_id]),
CONSTRAINT [PK_UsersProjects] PRIMARY KEY ([user_id], [project_id])
UsersTasks
[user_id] INT NOT NULL,
[task_id] INT NOT NULL,
[accepted] BIT NULL,
FOREIGN KEY ([user_id]) REFERENCES [dbo].[_Users] ([user_id]),
FOREIGN KEY ([task_id]) REFERENCES [dbo].[_Tasks] ([task_id]),
CONSTRAINT [PK_UsersTasks] PRIMARY KEY ([user_id], [task_id])
Я на правильном пути, для многих-ко-многим и для требований? Как я могу его оптимизировать?
Спасибо, что нашли время, чтобы прочитать это!
Спасибо за быстрый ответ. Можно ли дать мне инструкции SQL для вышеуказанного, потому что я немного новичок в SQL, и я не уверен, что полностью понимаю вас (решение 2). – user3036434
А, отлично! Это просто отлично! Спасибо! – user3036434