Предположим, что я начинаю с примера. базы данных MySQL, 3 таблицы:сложные зависимости в mysql, как
items: id; lots of info about this item
container: id; name
items_container: id; item_id; container_id; count
Так это базовая структура, первые две таблицы являются элементы и контейнеры, третья таблица, которая в основном магазины, сколько элементов в контейнере, один тип элемента может быть во многих разных контейнерах.
Что мне нужно сделать: Сделки: добавлять, удалять, перемещать элементы между контейнерами
Все они должны храниться вместе с другой информацией о сделке. После того как пользователь добавит транзакцию добавления некоторых элементов в контейнер, он должен быть сохранен, так как пользователь может удалить транзакцию позже, а элементы должны быть удалены. То же самое происходит с удалением - если мы добавим транзакцию удаления с 5 элементами с id 3 в контейнер с идентификатором 2, а затем удалим его, элементы должны вернуться. Это довольно просто, но «движущиеся» транзакции становятся более сложными, и я не знаю, как правильно это сделать, просто сохраните идентификатор и количество элементов?
Может, некоторые из вас уже разработали какую-то систему, подобную этой, и могли бы предложить несколько лучших решений для этого? Производительность хороша, но здесь это не так важно, как надежность. Последнее заключается в том, что транзакция может иметь несколько элементов (на самом деле, как правило, для управления ею нужно иметь несколько разных элементов).
Спасибо заранее, я надеюсь, что объяснил, чего я хочу достичь.
не может нормировать к базе данных таким образом - 1. пункта - ID; CONTAINER_ID; field1; field2; .... поле n; 2. container - id; field1; поле 2; ..... поле n; **? ** Плюс использовать при удалении каскада и при обновлении каскада; – Acn