Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Работа с множествами / 8 сообщений из 8, страница 1 из 1
06.03.2015, 13:44:55
    #38897166
МАН69К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с множествами
Привет!
А как большие, умные люди делают, когда нужно использовать произвольное кол-во данных из определённого набора?
К примеру - нужно записать список городов, которые посетил пользователь. Пользователей много, городов в мире - ещё больше, при этом каждый из пользователей может посетить произвольное число городов.
Либо - перечень аптек, в которых есть определённое лекарство?
Как вот это вот всё хранить?
Я сегодня узнал, что есть такая штука - как множества, но они поддерживают лишь 64 значения.

Не настаиваю на подробном ответе - просто хоть опишите по каким ключевым словам инфу искать. MySQL - не моя область, я даже примерно не представляю как это организовать.
...
Рейтинг: 0 / 0
06.03.2015, 14:34:42
    #38897251
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с множествами
3 таблицы: города, пользователи, пользователи-города
...
Рейтинг: 0 / 0
06.03.2015, 14:59:46
    #38897295
МАН69К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с множествами
"пользователи-города"
Воот, как раз это у меня и вызывает непонятки.
Как это сделать?
Ведь городов может быть большое кол-во, да ещё и не известно заранее сколько их максимум будет. Т. е. бесконечное кол-во столбцов плодить нельзя будет ведь под каждый город, нужно будет их список упихнуть как-то в один столбец?
В строку перечислить нельзя - неудобно же работать с ними потом будет.
Или сделать двухстолбцовую таблицу вида:
ПОЛЬЗОВАТЕЛЬ ГОРОД
Сидорчук Минск
Сидорчук Москва
Сидорчук Киев
Сидорчку Лондон
Иванова Коста-Рика
Малоусов Новгород
Малоусов Тверь
?
Но в таком случае если хотя бы 20 человек побывает в 5 городах - таблица будет оооочень длинной... Или это всё же лучший вариант? Или что-то более оптимальное есть?
...
Рейтинг: 0 / 0
06.03.2015, 15:12:00
    #38897318
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с множествами
2 справочника юзеры и города и одна связующая их по id'шникам user_id - city_id.
...
Рейтинг: 0 / 0
06.03.2015, 15:36:59
    #38897356
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с множествами
МАН69Кесли хотя бы 20 человек побывает в 5 городах - таблица будет оооочень длинной...Почему тебя это заботит? лучше посмотри на MySQL database limitations - фиг ты когда на таком материале приблизишься к проблемному количеству записей.

МАН69КИли это всё же лучший вариант?Это единственный вариант, гарантирующий, что архитектора не назовут идиотом.
...
Рейтинг: 0 / 0
06.03.2015, 15:43:19
    #38897373
AO_MMM
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с множествами
МАН69КНе настаиваю на подробном ответе - просто хоть опишите по каким ключевым словам инфу искатьИщи по словам Базы данных связь многие ко многим

МАН69КMySQL - не моя область, я даже примерно не представляю как это организовать.Ну этого можно было не писать, это и так понятно по первым предложениям.
...
Рейтинг: 0 / 0
06.03.2015, 16:02:27
    #38897399
МАН69К
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с множествами
Ага, понял, спасибо большое за объяснения!
...
Рейтинг: 0 / 0
06.03.2015, 16:22:56
    #38897423
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с множествами
МАН69КПривет!
А как большие, умные люди делают, когда нужно использовать произвольное кол-во данных из определённого набора?


Множество в РБД -- это таблица, содержащая поля первичного ключа экземпляров той сущности, которая должна входить или нет
в то или иное множество.

Для хранинея нескольких таких множеств можно добавить в PK такой таблицы ещё одно поле -- идентификатор множества.

МАН69КК примеру - нужно записать список городов, которые посетил пользователь. Пользователей много, городов в мире - ещё больше, при этом каждый из пользователей может посетить произвольное число городов.
Либо - перечень аптек, в которых есть определённое лекарство?
Как вот это вот всё хранить?


Это называется "связь "многие-ко-многим".

МАН69КЯ сегодня узнал, что есть такая штука - как множества, но они поддерживают лишь 64 значения.


Это видимо enum-ы. Они никому не нужны. Тупиковая ветвь развития mySQL.
Их не нужно использовать.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Работа с множествами / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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