Помощь в отношении многих ко многим

У меня проблема с отношением «многие ко многим» в моих таблицах, которое находится между сотрудником и инструктором, которые работают в учебном центре. Я не могу найти связь между ними, и я не знаю, как ее получить. Поля сотрудников:

  • Работник №.
  • Имя сотрудника
  • название компании
  • должность отдела
  • сфера бизнеса
  • номер мобильного
  • вн
  • ранжирование

Поля Инструкторов

  • имя инструктора
  • институт
  • номер мобильного
  • Адрес электронной почты
  • сборы
13.12.2008 01:59:47
3 ОТВЕТА

в отношениях «многие ко многим» отношения будут в третьей таблице, что-то вроде

table EmployeeInstructor 
    EmployeeID
    InstructorID

чтобы найти всех сотрудников для конкретного инструктора, вы должны использовать объединение для всех трех таблиц.

7
13.12.2008 02:03:24
спасибо за помощь Джимми, но я сказал моему учителю то же самое, что вы сказали, что она похожа на то, что информации для EmployeeInstructor полей в этой таблице немного, мне нужно больше полей
DODY 13.12.2008 21:38:03

Прежде всего, вам понадобится уникальный ключ в обеих таблицах. Номер сотрудника может работать для таблицы сотрудников, но для таблицы преподавателей вам понадобится другой номер. Лично я склонен использовать в своих таблицах автоматически увеличивающиеся поля идентификаторов, называемые ID. Это первичный ключ. Во-вторых, создайте новую таблицу, InstructorEmployee. Эта таблица имеет два столбца: InstructorID и EmployeeID. Оба поля должны быть проиндексированы. Теперь вы можете создать связь между любым Сотрудником и любым Инструктором, создав запись, которая содержит два идентификатора.

4
13.12.2008 02:09:39

Или, скорее всего, будут вовлечены занятия -

Сотрудник принимает класс Инструктор преподает класс

так что у вас будет таблица EmployeeClass, таблица
InstructorClass,

и присоединиться к ним. И класс должен быть уникальным, иначе вам понадобится

Класс преподается в четверти на ClassSchedule

и в конечном итоге присоединение EmplyeeClassSchedule к InstructorClassSchedule.

Это быстро становится одним из ваших наиболее интересных реляционных проектов. Если вы используете «Терри Хэлпин» и «Моделирование ролей объектов», это используется в качестве иллюстративной ситуации в руководстве.

5
13.12.2008 02:10:36
да, это имеет больше смысла, чем просто много-много отношений между сотрудниками и инструкторами
Jimmy 13.12.2008 02:12:46
Интересно, что вы упомянули Терри Хэлпина. Я использовал функцию моделирования ролей объектов Visio для архитекторов, поставляемую с Visual Studio 2005 Architect. Это сделало быструю работу по созданию баз данных из бизнес-требований.
Matthew 13.12.2008 20:08:11
Microsoft по-прежнему предлагает неподдерживаемую, но совершенно работоспособную версию того же, что и Visiomodeler, бесплатно. Вы можете Google для этого.
dkretz 13.12.2008 23:33:22