intermediate

Relations

Моделируйте one-to-one, one-to-many, many-to-many и explicit join tables с predictable loading и referential behavior.

Relations в Prisma описывают связи моделей; внешние ключи и join-таблицы задают форму БД. Вместе: владение, кардинальность, удаление и стратегия загрузки.

					model OrderItem {
  orderId String
  order   Order  @relation(fields: [orderId], references: [id], onDelete: Cascade)
}
				

На интервью: one-to-one, one-to-many, many-to-many, явные join-модели, referential actions, случайный N+1 с `include`.

Типовые ошибки: implicit many-to-many при атрибутах связи; cascade удаляет больше ожидаемого; загрузка всего графа по умолчанию.

Компромисс — эргономичный синтаксис связей против явного моделирования join.

Чеклист:

  • Явные join, если у связи есть данные.
  • Осознанные referential actions.
  • Стратегия загрузки на endpoint.
  • Индексы на FK в фильтрах.