Определение нескольких внешних ключей в Visual Studio

У меня есть базовая схема базы данных (упрощенная, чтобы ее было легко читать):

[Staff]
StaffId (pk)
FirstName
LastName

[RosterEvent]
EventId (pk)
StartDate
EndDate

[StaffEvents]
StaffId (pk)
EventId (pk)

Итак, у многих Staff может быть много RosterEvents, поэтому я добавил таблицу StaffEvents. Он разрешает отношения "многие ко многим". Однако я не знаю, как определять внешние ключи.

Как в Visual Studio определить их как внешние ключи с помощью конструктора таблиц? Если я попытаюсь добавить связь с помощью диалогового окна «Связи внешнего ключа», я получаю сообщение об ошибке «Столбцы в таблице StaffEvents не соответствуют существующему первичному ключу или ограничению UNIQUE». Несмотря на то, что ограничение UNIQUE было применено ко всем первичным ключам в каждой таблице.

Помощь очень ценится! Спасибо!


person Community    schedule 04.02.2009    source источник


Ответы (2)


В конструкторе таблиц вы можете щелкнуть заголовки строк сбоку от двух нужных столбцов и щелкнуть значок первичного ключа на панели инструментов.

Ваш ПК действительно помечен как первичный ключ или просто УНИКАЛЬНЫЙ? Они одного типа данных?

person bendewey    schedule 04.02.2009

Все первичные ключи в каждой таблице помечены как PK и UNIQUE. Все они также относятся к типу int.

Вот как я пытаюсь наладить отношения в настоящий момент.

  1. В таблице персонала я нажимаю кнопку панели инструментов «Взаимосвязи».
  2. Я нажимаю "Добавить"
  3. Я нажимаю (...) в свойстве «Таблицы и столбцы».
  4. Я выбираю StaffEvents в качестве таблицы первичного ключа.
  5. Я выбираю StaffId из раскрывающегося списка.

Когда я нажимаю OK, я получаю сообщение об ошибке «Столбцы в таблице StaffEvents не соответствуют существующему первичному ключу или ограничению UNIQUE».

person Community    schedule 05.02.2009