Ваша выбранная система выглядит хорошо для меня.Относительно вашего вопроса «Что делать, если пользователь удаляет куки», это имеет два последствия.
Во-первых, пользователь теряет свою корзину и отдельные товары.Но это как-то ожидаемое поведение, так что я бы не волновался об этом.Если вы действительно обеспокоены тем, что пользователь не должен потерять все свои ценные данные, когда он не регистрируется, подумайте о других способах хранения вашего UUID, например localStorage или Flash-cookie.Список всех возможностей (многие из которых не рекомендуется для вашего приложения) см. http://samy.pl/evercookie/
Во-вторых, ваша таблица базы данных с UUID и другими данными со временем будет расти.Поэтому время от времени вам нужно удалять старые записи, где пользователь не зарегистрировался для учетной записи.Ваши две таблицы делают это относительно тривиальным, чтобы идентифицировать пользователей, которые не зарегистрировались.Вот как можно очистить старые записи с помощью SQL:
DELETE FROM Users WHERE date_created < '2012-01-01' AND
UUID NOT IN (SELECT UUID FROM Registered_Users);
Я выбрал фиксированную дату, чтобы избежать функции DATEDIFF
.
Возможно, вам придется удалить другие данные.сначала перед удалением пользователей.
Просмотрите эту статью , чтобы составить собственное мнение, если UUID являются хорошим выбором с точки зрения базы данных и производительности.Может быть, достаточно использовать автоинкрементный первичный ключ из Users
.