Я пытаюсь смоделировать (очень) простой симулятор торговли акциями в рельсах, чтобы поиграть с 3.1 и попытаться узнать больше о веб-бэкенде, в отличие от UX, где я обычно сижу.
так скажем, у вас есть
Users (has many transactions)
Transactions (belongs to users, companies)
Companies (has many transactions)
Таким образом, пользователь покупает несколько акций в компании, и это создает запись транзакции с колонкой количества, отражающей количество акций, купленных для данной конкретной транзакции, цену акции в данный момент и столбец статуса, указывающий, были куплены или проданы. (Для простоты, и поскольку это упражнение обучения, давайте предположим, что 1 транзакция содержит только одно событие покупки ИЛИ продажи)
Допустим, пользователь почему-то покупает и продает все виды странных количеств одной и той же компании.
У него будет несколько строк транзакций, которые необходимо запросить и суммировать, чтобы выяснить
для каждой компании
- если он вообще владеет акциями
- сколько он владеет (все покупает - продает)
- и т.д.
Так что мой вопрос: эта модель подходит для этого типа использования? Это кажется обременительным, если я хочу, например, написать страницу с указанием того, что принадлежит пользователю. Это означает запуск всех видов сумм, чтобы определить, принадлежат ли они, и количество принадлежит. Но, может быть, вот как это должно быть сделано? Или есть лучший способ?
Было бы лучше сохранить только одну транзакцию, представляющую «владение», и обновить в ней столбцы для каждой «принадлежащей» компании, а затем записать отдельные транзакции во вторую таблицу транзакций_истории, которая отделена и присоединена к транзакции?