powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Стоит ли создавать в таблице пользователей создавать сущность Гостя?
25 сообщений из 62, страница 1 из 3
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734633
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищи, добрый день!

Ситуация такая:
На сайте совершать действия могут как зарегистрированные пользователи, так и гости. В том числе и внесение средств. Средства одного гостя ничем не отличаются от средств любого другого. Типа такой распределённый пользователь.

Скажите пожалуйста, в таком случае надо ли в таблице пользователей Гостя изначально создавать? Просто допустим с флагом "не может быть авторизован", и в коде приложения константой прописать ID этого пользователя (он создаваться в БД будет при начальной генерации базы приложения) и в дальнейшей логике приложения при проверках на Гостя сверять с этим ID.

Просто как я кумекаю, иначе придётся лепить отдельные таблицы под сущности Гостевых платежей и других действий. Поделитесь пожалуйста соображениями и опытом.
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734661
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю что обязательно создавать пользователя "Гость" и, более того, быть готовым начать создавать по отдельному пользователю "гость" на каждый анонимный заход на сайт, сопровождающийся платежом. Т.е. не прописывать константой ID, а проверять свойство пользователя "гость/не гость"
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734674
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotСкажите пожалуйста, в таком случае надо ли в таблице пользователей Гостя изначально создавать?
Скорее нет, чем да. Общей логике БД в таком случае больше соответствует простановка null в user_id, что и будет обозначать гостя.

kormotПросто как я кумекаю, иначе придётся лепить отдельные таблицы под сущности Гостевых платежей и других действий.
Да нет. С чего бы?

Другой вопрос, что странно выглядит сама постановка задачи с анонимом, который платит какие-то деньги в общую свалку. Хотя, конечно, можно придумать, что речь о каких-нибудь там добровольных пожертвованиях...
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734676
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerможно придумать, что речь о каких-нибудь там добровольных пожертвованиях...

А ещё придётся придумать что делать с анонимами, заявляющими "я закинул деньги не на тот
счёт, верните их немедленно".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734746
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинДумаю что обязательно создавать пользователя "Гость" и, более того, быть готовым начать создавать по отдельному пользователю "гость" на каждый анонимный заход на сайт, сопровождающийся платежом. Т.е. не прописывать константой ID, а проверять свойство пользователя "гость/не гость"
Как так? У меня для разделения уникальных входов на сайт идентификатор сессии есть. И связь идентификатора сессии с авторизованным в ней пользователем. На каждого гостя свою запись в таблице пользователей, это не совсем понятная идея.

softwarerСкорее нет, чем да. Общей логике БД в таком случае больше соответствует простановка null в user_id, что и будет обозначать гостя.
Всё бы так, но я следуя правилу что поля с NULL значениями это плохо, делаю без них всё. Была у меня идея на этот случай учётку Гостя в БД прописать с id=0, тогда и при проверка для IF'ов всяких всё естенственно будет происходить.

Dimitry SibiryakovА ещё придётся придумать что делать с анонимами, заявляющими "я закинул деньги не на тот
счёт, верните их немедленно".
Ну тут установка галочки перед совершением платежа с текстом что я всё осознаю и в добром здравии расстаюсь со средствами, и претензий ни к кому не имею. А если уж совсем упираться, ну тогда информация с IP/UserAgent в БД есть по совершению платежа и должен доказать что эти данные входа действительно его.
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734778
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotтогда информация с IP/UserAgent в БД есть по совершению платежа и должен доказать что эти
данные входа действительно его.

Да ну? А теперь прикинь сколько народа с самым свежим (поскольку автоматически
обновляется) браузером сидит за единственным выходным NAT-ом крупного сотового провайдера.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734779
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov , ну для такого случая (в смысле запрос обратно платежа) - это вопрос из юридической плоскости больше чем из технической. Вернуть то платёж думаю не составит уж прямо труда.
Если это юридически будет обязывать площадку сделать, ну значит будет сделано. Гость предоставляет необходимые реквизиты по которым сверяется что с них пришёл платёж или другим образом подтверждает своё авторство платежа, а дальше там уже детали. Главно чтобы учёт поступлений и вся эта внутренняя кухня правильно была организована, потому я и консультируюсь тут по всяким мало мальским вопросам, чтобы фатальных ошибок не наделать и не упереться в тупик невозможности реализовывать дальше идею.
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734805
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotКот МатроскинДумаю что обязательно создавать пользователя "Гость" и, более того, быть готовым начать создавать по отдельному пользователю "гость" на каждый анонимный заход на сайт, сопровождающийся платежом. Т.е. не прописывать константой ID, а проверять свойство пользователя "гость/не гость"
Как так? У меня для разделения уникальных входов на сайт идентификатор сессии есть. И связь идентификатора сессии с авторизованным в ней пользователем. На каждого гостя свою запись в таблице пользователей, это не совсем понятная идея.

Велика вероятность, что скоро к Вам придут заказчики и скажут, что концепция
Средства одного гостя ничем не отличаются от средств любого другого
отныне устарела и по каждому гостю надо хранить кучу информации, причем "со вчера". И лучше быть к этому готовым ;)
автор это вопрос из юридической плоскости больше чем из технической
Как я уже писал, это в целом относится к реализации любой системы, связанной с переводами денег.
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734809
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема анонимных платежей чисто юридическая.
Анонимный платеж - верный признак коррупции и даже более тяжких правонарушений.
Я бы не рекомендовал это практиковать в публичном пространстве.
В любом случае, практически любой платеж в интернете можно идентифицировать.
Хотите проблем? Принимайте анонимные платежи. И побольше...
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734839
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d7iПроблема анонимных платежей чисто юридическая.
Анонимный платеж - верный признак коррупции и даже более тяжких правонарушений.
Я бы не рекомендовал это практиковать в публичном пространстве.
В любом случае, практически любой платеж в интернете можно идентифицировать.
Хотите проблем? Принимайте анонимные платежи. И побольше...
что за дичь

они вообще-то через банки проходят
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734840
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по сабжу: гость это вообще группа
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734848
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotВсё бы так, но я следуя правилу что поля с NULL значениями это плохо
А другого идиотского правила для следования у Вас не нашлось?

kormotБыла у меня идея на этот случай учётку Гостя в БД прописать с id=0, тогда и при проверка для IF'ов всяких всё естенственно будет происходить.
Мне довелось работать с системой, построенной подобным образом. Среди прочего, я довольно быстро стал тем человеком, к которому бежали со словами "опять жуткая бага, генеральный рвёт и мечет, надо срочно исправить". Так вот, около трети этих баг было прямым и однозначным следствием практики id=0, и при id=null не возникли бы в принципе.
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734855
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые, почитал ваши мнения.

Итого:
На каждого анонима своего юзера, идея неясная. Чем этот юзер по смыслу отличается от сессии непонятно.

C id=0 понял что лучше такой вариант не рассматривать.

Предложение, что Гости это группа не совсем понятно что предлагает. Создавать пользователя на каждого анонима и пихать его в группу Гостей? Это п.1 с ещё одной доп. связью и он не совсем понятен.


Для гостевых пользователей использовать NULL значение. Как же тогда использовать Foreign Key для столбцов таблиц в которых должен лежать этот самый userID? Там-то ведь NULL'а быть не может. Требуется дальнейшее пояснение.

Вариант с предустановленным ID для анонима, никак не прокомментирован общественностью.

Вариант с выделением всех сущностей которые привязываются к юзерам и в то же время доступны гостям (платежи за что-то) в разные таблицы по типу user_pays , guest_pays тоже никак не прокомментирован.
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734859
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу NULL варианта, я с аргументом "А как же внешние ключи" понял что тупанул. Они нужны ведь только для поддержания целостности, учитывая что из БД записи о пользователях удаляться не будут, можно на userID и просто индекс повесить, чему NULL не помеха.

Но у меня пока просто выработанное убеждение что "NULL - плохо", и везде без него всё делаю. Почитаю дальнейшее обсуждение от почтенных мудрецов, т.е. вас :)
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734862
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotТам-то ведь NULL'а быть не может.
И давно? Мне казалось, последние реализации СУБД, содержавшие такую багу, вышли из обращения лет пятнадцать назад.
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734884
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotНо у меня пока просто выработанное убеждение что "NULL - плохо", и везде без него всё делаю. потом переделывать будете
NULL рулит
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734889
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что касается ID
выдайте любой ID > 0 и в системе он будет обычным юзером
если очень хочется пасти поведение каждого юзера на сайте, то ему нужен его уникальный идентификатор, чтобы отслеживать, это немного другая история (про сессии), там ID на всех не напасёшься
а каждому гостю выдавать уник.ID не напасёшься
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734893
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неужели гостевой пользователь вообще себя никак не идентифицирует? Email, или может телефон должен ввести? И как платеж-то проходит, с кредитки? Во всех этих случаях он может быть (и должен) индентифицирован, для возможных возвратов платежей, расследований проишествий и прочего. По-сути гостевой пользователь ничем от залогиненного отличаться не должен, залогиненным просто можно дать больше прав, как-то видеть историю транзакций и прочего. У вас явно не продуманы бизнес-правила
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734895
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудуха каждому гостю выдавать уник.ID не напасёшься

В 32 разряда весь живущий народишко уже не влезет, а вот в 64 - вполне.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734931
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухNULL рулит
А в каких случаях имеет смысл NULL? Дайте пожалуйста ссылку про NULL и когда его стоит использовать, а то я избегаю - избегаю, а тут за NULL горой стоят.

полудухесли очень хочется пасти поведение каждого юзера на сайте, то ему нужен его уникальный идентификатор,
Так ведь для отслеживания вполне подходит sessID . У меня просто сессии так организованы:
Человек вошёл на сайт, сгенерировалась новая сессия и её ключ вносится в БД. ID этой записи - sessID , затем есть практически в любой строке в БД которая сгенерирована посетителем. Т.е. условно Гость оставил сообщение - там строка таблицы ( sessID, userID, msgDate, msgText ). Так что в моём случае отслеживание Гостя вполне получается с помощью sessID .

stenfordнеужели гостевой пользователь вообще себя никак не идентифицирует? Email, или может телефон должен ввести? И как платеж-то проходит, с кредитки? Во всех этих случаях он может быть (и должен) индентифицирован, для возможных возвратов платежей, расследований проишествий и прочего. По-сути гостевой пользователь ничем от залогиненного отличаться не должен, залогиненным просто можно дать больше прав, как-то видеть историю транзакций и прочего. У вас явно не продуманы бизнес-правила
Но ведь при платежах через оффициальные каналы (банк, карточка, applePay и т.п.) идёт идентификация клиента. И данные этой идентификации передаются в инициирующее платёж приложение. Разве этого недостаточно? А идентифицировать по e-mail и даже sms, это как мёртвому припарка. Способов сделать липовую регистрацию которая при расследовании ничем не поможет - масса.

Dimitry SibiryakovВ 32 разряда весь живущий народишко уже не влезет, а вот в 64 - вполне.
Ну это-то ясно, я для таких целей BIGINT использую, но просто сама мысль что в таблице с "настоящими" пользователями будет 99% записей равноценных просто списку сессий - мне не понятна.
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734935
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotНо ведь при платежах через оффициальные каналы (банк, карточка, applePay и т.п.) идёт идентификация клиента. И данные этой идентификации передаются в инициирующее платёж приложение. Разве этого недостаточно? А идентифицировать по e-mail и даже sms, это как мёртвому припарка. Способов сделать липовую регистрацию которая при расследовании ничем не поможет - масса.

так как конкретно платеж-то осуществляется, через платежный шлюз или как-то по-другому? Гость открыл ваш сайт, нажал кнопку "Заплатить" и что дальше-то происходит, вы его сразу перенаправляете в шлюз или сами собираете номер карточки, csv и все остальное? Шлюз вам даст идентификатор платежа, который и надо хранить
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39734939
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormot, а вы сформулировали, что вам дают зарегистрированные пользователи, а для чего - гости?
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39735214
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenfordнеужели гостевой пользователь вообще себя никак не идентифицирует? Email, или может телефон должен ввести? И как платеж-то проходит, с кредитки? Во всех этих случаях он может быть (и должен) индентифицирован, для возможных возвратов платежей, расследований проишествий и прочего. По-сути гостевой пользователь ничем от залогиненного отличаться не должен, залогиненным просто можно дать больше прав, как-то видеть историю транзакций и прочего. У вас явно не продуманы бизнес-правила
деньги возвращает тот, кто процессит
сайт лишь посредник, который перекидывает на форму процессинга
сайту достаётся лишь id транзакции
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39735217
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovполудуха каждому гостю выдавать уник.ID не напасёшься

В 32 разряда весь живущий народишко уже не влезет, а вот в 64 - вполне.
боты бесконечные, на минуточку
вот насыпят вам ботнет на сайт, он там потопчется и вы каждому должны будете выдать ID
...
Рейтинг: 0 / 0
Стоит ли создавать в таблице пользователей создавать сущность Гостя?
    #39735227
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormotполудухNULL рулит
А в каких случаях имеет смысл NULL? Дайте пожалуйста ссылку про NULL и когда его стоит использовать, а то я избегаю - избегаю, а тут за NULL горой стоят.
он рулит хотя бы потому, что под него даже спец. ф-и есть: nullif(), coalesce()
когда джойны делаете NULL помогает
int/str/<select> - везде удобнее NULL
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 1 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Стоит ли создавать в таблице пользователей создавать сущность Гостя?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]