Привет!
Есть таблица, куда записываются приход и расход денег на счет.
transaction(id, type, sum, date)
Есть еще таблица в которую записаны факт оплаты некой услуги. Событие оплаты услуги связано с событием "расхода" с счета. Для этого я создаю таблицу
service_pay(service_id, transaction_id)
и создаю внешний ключ на таблицу
transaction, для целостности. Но тут одна лазейка, внешний ключ может ссылаться как на расход так и на приход, что нарушает целостность. Как можно решить эту проблему?
Для решения я мог добавить еще один столбец в таблицу оплаты, с значением обозначающим расход, и сделать составной внешний ключ. Но тогда у меня получится столбец, в котором во всех строках будет одно и тоже значение, стремно.
И вообще даже в таком случае как сделать, чтобы в столбец можно было записывать одно единственное значение, ведь MySQL не поддерживает
check contrains
Дайте совет, как сделать?
Или все же придется записывать приходы и расходы в разных таблицах?
...