Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Несколько категории к компании
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Помог: 1 раз(а)
Проект делается на фреймворке CodeIgniter (думаю смысла не имеет, но всё же сказал) В проекте есть записи компании, у каждой компании должно быть неограниченное количество категории и подкатегории, структура у меня таблицы компании примерно такая:
(все поля не привёл в дампе, думаю смысла нету)
так вот вопрос в том как лучще привязывать категории к компании, 2 момента я думаю, если есть ещё варинты предлогайте:
1. Сделать новую таблицу и туда прописывать АД категории и АД компании, т.е. сколько будет категории у компании столько записи в таблице будет
2. Сделать в таблице компании в поле cat_id перечисдление АД категории через запятуную.
Не смогли бы вы подсказать какой варинат лучще, и какой на что влияет на скорость, гибкость и прочее, какой когда примеряется если есть такие случии.
спс.Ув.
P.S. Если есть ещё варианты слушаю
EuGen
Отправлено: 24 Ноября, 2011 - 09:46:11
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Только первый вариант, никаких перечислений через запятую. Почему? Вам бы почитать про реляционные БД, но вкратце - представьте, что у Вас выборка - нужно посчитать количество компаний с группировкой по категориям за определенную дату.
Используйте таблицу-связку.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Stierus
Отправлено: 24 Ноября, 2011 - 09:46:53
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Вариант 1 - стандартная связь многие ко многим. Вариант 2 - полная жесть. как вы будете в этих полях искать? задача - найти все компании, находящиеся в какой-то категории ... вот у вас и проблема
pantela
Отправлено: 24 Ноября, 2011 - 09:58:34
Частый посетитель
Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.