170 похожих чатов

Ребят, подкиньте идею для более оптимального решения задачи есть такая таблица но

для каждого нового пользователя она будет персонализирована (то есть будет возможность изменить данные)

как можно такое реализовать? чтобы каждый юзер имел эту таблицу настроенной под себя

мне пришла единственная идея - создавать для каждого нового пользователя новую таблицу по его id, но я не знаю, насколько это оптимально. юзеров может быть и сотни

23 ответов

20 просмотров

ну и что? сотня таблиц не проблема

ᴀᴄᴀд-👁 Автор вопроса
Vitalius1989
ну и что? сотня таблиц не проблема

до какого количества это не будет проблемой и будет ли вообще ? забыл упомянуть БД - PostgreSQL

может, тебе монга нужна?

Связь Один ко многим? В стиле, есть три таблицы. Таблица юзеров, таблица " название дня" и таблица, где в столбцах указано " завтрак, обед, ужин" и т.д. назовём последнюю таблица " распорядок дня" Юзер связан через " один ко многим" с таблицей " распорядок дня". А таблица " распорядок дня" связана с таблицей "название дня" через один ко одному. По-сути, таблица "название дня" изначально заполнена, где просто имя дня недели и все. Ну и создавать юзера через скрипт питона, который будет проходить по таблице " название дня" и будет представлять форму для заполнения записи под каждый день в таблице " распорядок дня" с привязкой к новому юзеру. Собственно, принцип " разделяй и властвуй" в действии. Нет, конечно, можно хранить в одной таблице( если не ошибаюсь, то уже какой-то noSQL) , но как мне кажется это так себе вариант. Придется писать всякие скрипты для редактирования таблиц вместо обычных sql запросов. + Расширяемость страдает.

Чем юзеры настолько отличаются друг от друга, что из данные нельзя просто сложить в одну общую таблицу, просто промаркироваа их id пользователя?

Храни в JSON формате ее, не?

Просто ужасная идея. Заведи одну таблицу для пользователей.

ᴀᴄᴀд-👁 Автор вопроса
Alexander Morozov
Чем юзеры настолько отличаются друг от друга, что ...

типа создать ещё один col где telegram id будет дублироваться под каждый день? ну, тоже годная идея. всё будет лежать в одной таблице

ᴀᴄᴀд-👁 Автор вопроса
Pavel Glukhov
Просто ужасная идея. Заведи одну таблицу для поль...

она и так существует. связать просто надо пользователя и его персонализированный график

ᴀᴄᴀд 👁
типа создать ещё один col где telegram id будет ду...

Зачем? Одна таблица с пользователями, вторая с событиями и связь между ними.

Foreign key

ᴀᴄᴀд-👁 Автор вопроса
Alexander Morozov
Зачем? Одна таблица с пользователями, вторая с соб...

это типо ForeignKey надо создавать? что то я не имел опыта с таким. благодарю за наводку. сейчас поищу

И я советую прочитать про normalisation

ᴀᴄᴀд 👁
это типо ForeignKey надо создавать? что то я не им...

Изучить это гораздо проще, чем громоздить таблицы для каждого пользователя.

Это нормально создавать под пользователя, а что если имя одинаковы у двух людей?

Daiso
Это нормально создавать под пользователя, а что ес...

Нет, это совершенно не нормально. Тем более, модель базы не должна быть динамической и меняться сама по себе когда ей вздумается

Pavel Glukhov
Нет, это совершенно не нормально. Тем более, модел...

Что вы имеете ввиду под динамический? Я сказал создать таблицу под пользователя отдельно и поиграть с foreign key)

Daiso
Что вы имеете ввиду под динамический? Я сказал со...

- Структура базы не должна изменяться самим сервисом в процессе его работы. Под пользователя, или одну таблицу для пользователей?

ᴀᴄᴀд-👁 Автор вопроса
Daiso
Это нормально создавать под пользователя, а что ес...

я бы создавал под телеграм id типо table name u{telegram_id}

ᴀᴄᴀд-👁 Автор вопроса
ZeN
опять гениальные идеи...

не бейте, я уже понял, что это плохая идея

В зависимости от того что надо делать с этой таблицей. Если ничего кроме показывать - храни в json для пользователя. Если блюда - не просто строчки а тоже храняться в базе, или по ним надо аггрегировать - делай промежуточную таблицу

Похожие вопросы

Обсуждают сегодня

Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Карта сайта