Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Как хранить массивы в ячейках? (Илья Коробков) 13/11/2001 - 13:58:29
      Re: Такое и не нужно. (Василий) 13/11/2001 - 15:29:52

> Original message text:
> From: Илья Коробков - 13/11/2001 - 13:58:29
> Subject:Как хранить массивы в ячейках?
> -----------------
> Здравствуйте!
> Подскажите, пожалуйста, как сделать так, чтобы в ячейках таблицы хранились массивы (конкретно - в каждой строке некий список URL-адресов)?
> И как обратиться с запросом к базе данных на выбор одного из элементов массива, если весь этот массив у меня "запихнут" в одну ячейку? - Такое возможно?
> Спасибо!
>


From: Василий - 13/11/2001 - 15:29:52
Subject:Такое и не нужно.
-----------------
Это в корне неправильный подход - всё в одну таблицу. в этом случае теряется вся сила реляционного метода. так можно дойти до того, чтобы все строки хранить в одной, записывая их через разделитель, а потом для выбора нужной парсить всю строку (видел я и такое).

Лучше так :
create table tb_url_lists(id int, <ещё что-нить если надо>);
create table tb_urls_in_lists(id int, list_id int, url text, <ещё что-нить если надо>);

выбрать все url для списка с данным номером
select url from tb_urls_in_lists where list_id = <id того списка, кот. нужен>

выбрать некоторые url
select url from tb_urls_in_lists where list_id = <id того списка, кот. нужен> and <конкретные условия для url>

а ещё правильней (по теории) хранить url-ы в одной таблице, информацию про списки в другой, а связи между ними в третьей. Один url может входить в несколько списков, список может содержать несколько url, это отношение "многие ко многим", по науке оно реализуется через промежуточную таблицу. Но в данном случае, наверное, можно и без этого (впрочем, зависит от обстановки - если мала вероятность вхождения одного url в несколько списков, то можно, иначе лучше все же в трех таблицах для уменьшения дублирования данных).



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
766



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |