У вас много идентифицирующих связей, которые означают, что внешний ключ является частью первичного ключа во второй таблице.Это не обязательно в большинстве случаев и действительно полезно только в таких случаях, как таблицы ссылок.
С этой целью я бы изменил ссылку user-> product на неидентифицирующую, что сделает user_id Внешним ключом вместо того, чтобы быть частью Первичного ключа.В рабочей среде ярлык для неидентифицирующего отношения 1: n является ключом «2» (где «4» обозначает).Это, в свою очередь, должно удалить поля user_id из таблиц, на которые ссылается продукт.
Когда вы удаляете продукт, он должен каскадно соединяться с 3 таблицами ссылок, на которые он ссылается.В настоящее время может случиться так, что это пытается удалить от пользователей также в зависимости от того, как настроен FK.Следующее должно каскадно удалять (при условии, что удаление является постоянным, и вы просто хотите очистить все связанные записи)
УДАЛИТЬ ИЗ ПРОДУКТА -> удаляет из любой таблицы с product_id в УДАЛИТЬ ИЗ - пользователь -> удаляет из любой таблицы сuser_id в
То же самое относится к телефону, рейтингу, bid_price, category_tags.
Я надеюсь, что если вы используете, если вам нужны какие-либо дополнительные указатели, не стесняйтесь кричать:)