Я исчерпал свое гугл-фу и не могу получить ничего похожего на ответ, поэтому я решил спросить здесь.
[фон]
Я управляю форумом, посвященным американской игре в футбол (BloodBowl). У каждого участника своя команда, а у нас лиги и кубки. Я подумал, что было бы интересно написать некоторые функции «акции и акции» для сайта, чтобы каждый участник мог инвестировать в другие команды. Цены будут обновляться после каждой игры (~ 100 игр в неделю), но фактическое обновление будет асинхронным (у меня есть текущий код запуска в нужное время, поэтому его можно изменить, чтобы включить то, что нужно.
[/ Фон]
По сути, мне нужно записывать цены, которые каждая команда (актив) имеет при каждом изменении, обновляется асинхронно, но только один раз в неделю. С 200 командами и 12 неделями в сезон я бы посмотрел на 2400 записей за сезон (и это будет бесконечность, хотя недели - это недели из реальной жизни, поэтому не слишком большой).
Я думаю об одной таблице, например:
[teamID] Int
[price] Int
[date] Date
[dividend] Int
[gain] Int
[gain%] float(2dp)
[comment] Text
Какая строка (и) должна быть моим первичным ключом?
Я слишком обдумываю это? Должен ли я просто кодировать это? Меня беспокоит то, что я хочу иметь возможность получать исторические данные, например, для графиков и тому подобного, хотя я бы очень регулярно посещал эту таблицу, поскольку игроки торгуют акциями. Я не хочу его кодировать, а потом пойму, что мне не хватает некоторого поля, которое сделало бы все мои запросы более эффективными.
Полагаю, я действительно ищу схему, используемую некоторыми БД, которая на самом деле использует ее для акций в реальной жизни, просто чтобы смоделировать ее аналогичным образом.
Спасибо, что читаете, и я надеюсь, что кто-то здесь что-то внесёт.
С уважением,
Dan