В настоящее время я создаю веб-приложение для управления портфелем акций, но когда дело доходит до таблицы транзакций, у меня есть некоторые проблемы, которые я хочу задать.Дизайн базы данных портфеля ценных бумаг для поддержки акции split/merge
Ниже мой запас сделка дизайн таблицы:
| column name | datatype |
|----------------|----------------------|
| id | int(10) | primary key, auto increment
| portfolio_id | int(10) | reference to portfolio table primary key
| symbol | varchar(20) | stock symbol e.g: YHOO, GOOG
| type | ENUM('buy','sell') |
| tx_date | DATE |
| price | DOUBLE(15,2) |
| volume | int(20) |
| commission | DOUBLE(15,2) |
| created_at | TIMESTAMP |
| updated_at | TIMESTAMP |
В моем текущем проекте, у меня нет дополнительной таблицы для хранения символа акции. Я генерирую список символов запаса (используя некоторый запас api) для пользователя, который выбирает, когда они пытаются создать новую запись транзакции, и я думаю, что такой подход может вызвать некоторую проблему, когда есть разделение/слияние запасов, потому что я не могу иметь возможность снова получить стоимость акций, используя тот же символ.
Я хотел бы знать, как мне изменить таблицу, чтобы поддержать случай разделения акций/слияния?
Потому что я хотел бы поддержать и те запасы за пределами США. И даже я установил символ как первичный ключ, проблема с разделением акций/слиянием не может быть исправлена. Для части дивидендов, я думаю, я добавлю ее в реализованную Прибыль портфеля. Но не сохраняется в таблице транзакций – Katrin