Как смоделировать родительскую пару в MySQL (SQL)

0

У меня есть модель данных, которая включает в себя типы элементов Stage, Actor и Form. Логически, этапам могут быть назначены пары (Form < --- > Actor), которые могут быть дублированы много раз (то есть один и тот же человек и одна и та же форма добавляются на один и тот же этап позднее).

Сейчас я моделирую это с помощью этих таблиц:

Stage
Form
Actor

Form_Actor    
_______________
|Id           |
|FormId       | --> Id in Form
|ActorId      | --> Id in Actor


Stage_FormActor
__________________
|Id              |
|StageId         | --> Id in Stage
|FormActorId     | --> Id in Form_Actor

Я использую CodeSmith для создания слоя данных для этой настройки, и ни один из шаблонов не знает, как правильно обращаться с этим типом отношений при создании классов. В идеале ORM будет иметь Stage.FormActors, где FormActor будет парной формой, Actor.

Это правильный способ моделирования этих отношений. Я попытался использовать все три идентификатора в одной таблице, а также

Stage_Form_Actor
______________
|Id          |
|StageId     | --> Id in Stage
|FormId      | --> Id in Form
|ActorId     | --> Id in Actor

Это тоже не очень хорошо получается. Идеи?

  • 0
    Попробуйте визуализировать его с помощью MySQL верстак, это может помочь вам увидеть отношения.
Теги:
orm
parent-child

1 ответ

0
Лучший ответ

Я ничего не знаю о CodeSmith, но ваша схема базы данных для определения неотъемлемых отношений "многие ко многим" между этими тремя объектами правильна (лучше всего подходит StageFormActor).

Следует отметить, что вам может понадобиться определить составной первичный ключ для этой таблицы ассоциаций (вместо использования первичного ключа с искусственным идентификатором)

  • 0
    До сих пор я использовал первичный ключ как все четыре столбца. В основном я просто следил за тем, чтобы моделировать вещи на стороне БД так, как я должен быть. Различия в ключах - это то, что шаблоны используют, чтобы решить, какие типы отношений моделировать, поэтому мне, возможно, придется поиграть с ними, чтобы получить правильный вывод от CodeSmith.
  • 0
    Должен ли я использовать все четыре столбца или вы предложите что-то еще (поскольку актер формы рассматривается как пара)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню