2016-10-16 9 views
0

Я пытаюсь выполнить следующий сценарий:SQL Server: тройная связь

  • Сотрудник может работать в разных позициях одновременно
  • Каждая позиция подключена к проекту

Обратите внимание, что некоторые позиции необязательно связаны с проектом (менеджер сотрудника не проект)

Я сделал диаграмму, чтобы получить лучшее представление о том, что мне нужно сделать. См. Ниже диаграмму. Из диаграммы и поиска в Интернете. Я узнал, что это, вероятно, троичные отношения. Но я не могу понять, как я могу это реализовать. Я использую SQL Server в Visual Studio 2015 и использую инструкции T-SQL create.

Как я могу реализовать это в своей базе данных SQL Server?

Ternary relationship

+0

каждое положение связано с более одного проекта? –

+0

@CharlesBretana Да, каждая позиция связана не более чем с одним проектом. –

ответ

1

Если каждая позиция может быть связана только с более чем одним проектом, то

enter image description here

0

Создать ниже 3 таблицы.

1. [Employee] - стол с информацией о сотруднике.
2. [Project] - таблица с подробностями проекта.
3. [Position] - таблица с информацией о местоположении PositionID, ProjectID, EmployeeID, CreatedDate наряду с другими областями. Также создайте первичный ключ при комбинации PositionID, EmployeeID & ProjectID таблицы [Position]. Добавьте ограничения внешнего ключа для предотвращения недопустимых данных в таблице [Position].

Смежные вопросы