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 :: архитектура склада [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): « 1 [2] 3 4 »   

> Описание: прошу взглянуть
caballero
Отправлено: 15 Августа, 2013 - 18:13:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




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

например диапазоны для мобильных телефонов
900,1800,1900

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


потом по этому списку генерятся чекеры в форме поиска
(для всех атрибутов из категории свои елементы ввода)
потом берется по самиту отчекереные значения и для каждого добавляется "and like" в запрос поиска
(Добавление)
а енумы не какят потому как предпочитаю делать переносимую структуру для любой БД


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DlTA
Отправлено: 15 Августа, 2013 - 20:33:10
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




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

а по сему, жесткая привязка товара к разделу бесполезна
 
 Top
caballero
Отправлено: 15 Августа, 2013 - 20:37:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
заказчику сто пудово захоца чтоб один и тот же товар находился в различных разделах

не факт

Цитата:
но для поисковиков куда выходней если это будет именно раздел позволяющий максимально конкретно описать(титл, ключевые, описание),определить товар

при чем описание товара к разделам


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DlTA
Отправлено: 15 Августа, 2013 - 21:16:31
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




caballero пишет:
описание товара к разделам
сходных свойств
"большой ноутбук", "маленький ..."
"матовый ...", "глянцевый ..."
пипл ищет вот так, а значит и раздел для поисковика должен так выглядеть

но при этом каждый из них можно гурпировать совсем по иным параметрам
проц, размер памяти, ...... размер батареи,

примеры выглядят смешно (возможно) но именно на разделы с такими титлами поисковики и переходят
 
 Top
caballero
Отправлено: 15 Августа, 2013 - 22:43:37
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




ну так задавай титлы какие хочешь
а для поиска по филтру - конкретные атрибуты

мухи отдельно котлеты отдельно


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DlTA
Отправлено: 16 Августа, 2013 - 00:08:04
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




caballero пишет:
ну так задавай титлы какие хочешь
а для поиска по филтру - конкретные атрибуты

мухи отдельно котлеты отдельно
во во, вот именно так рассуждают все разработчики, а вот реалии жизни ....
 
 Top
LIME
Отправлено: 16 Августа, 2013 - 06:30:29
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




при отображении раздела будут отображаться и товары дочерних
а для сопутствующих товаров типа расходные к принтерам будет таблица соединения разделов сам к себе
отдельно
это не проблема
 
 Top
Contr
Отправлено: 16 Августа, 2013 - 08:06:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011  
Откуда: с Марса


Помог: 1 раз(а)




LIME,

я бы предварительно к Вашей схеме попробовал построить SQL-запросы (выборки), которые Вам понадобится в будущем сделать.
Посмотрел бы , как быстро вся эта схема работает.

Иногда приходится делать очень сложные запросы.
 
 Top
Stierus Супермодератор
Отправлено: 16 Августа, 2013 - 08:16:24
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




у нас вместо двух ваших таблиц feature_value_char и feature_value_int одна таблица feature_good_relation в которой есть:
good_id
feature_id
value_int
value_string
value_boolean

это позволяет получить нам значение свойств одним запросом. В твоей же реализации тебе надо сначала сделать запрос к features что бы получить тип свойства и понять, из какой таблицы брать связь. У нас же идет джойн одной и той же таблицы и в запросе ифами выбирается то или иное поле.
 
My status
 Top
LIME
Отправлено: 16 Августа, 2013 - 08:18:46
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




caballero по поводу перечисления через разделитель как-то это не комильфо
что если одно значение совпадет с частью другого?
я бы и сюда влепил таблицу отдельно))
по индексу и выборка побыстрее чем по LIKE должна быть по идее

Contr спасибо за совет но тут все запросы как бы и так видны из схемы

еще вопрос
я в таблицах связей делаю оба поля первичным
есть ли смысл добавлять отдельный индекс для полей для выборки?
например в таблице связи характеристик с категориями возможно вообще лучше снять индекс с id характеристик
?
(Добавление)
Stierus пишет:
В твоей же реализации тебе надо сначала сделать запрос к features что бы получить тип свойства и понять, из какой таблицы брать связь.
совершенно нет
тип свойства это для отображения фильтра
тоесть это радио или селект и тд
выборка значений предполагается всегда из обеих таблиц юнионом по ключам товара и свойства
(Добавление)
оно вроде как побыстрее должно быть чем условие в джойне типа coalesc(или как там оно пишется забыл)) )...нет?
(Добавление)
Stierus пишет:
У нас же идет джойн одной и той же таблицы и в запросе ифами выбирается то или иное поле.

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT COALESCE(value_int,value_string,value_boolean) FROM feature_good_relation WHERE ...

(Добавление)
опять же еденицы измерения хранить удобнее для числовых

(Отредактировано автором: 16 Августа, 2013 - 08:30:16)

 
 Top
avtor.fox
Отправлено: 16 Августа, 2013 - 08:33:47
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)





LIME пишет:
feature_good_relation

стоит лишь изменить одну букву и чувства верующих не будут затронуты Голливудская улыбка
 
 Top
LIME
Отправлено: 16 Августа, 2013 - 08:40:37
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)





это не "LIME пишет:"
попрошу без анафемы мне ))
 
 Top
Stierus Супермодератор
Отправлено: 16 Августа, 2013 - 08:56:55
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Добавятся у вас булевые, мультисвойства и еще что-то - у вас будет 3 ... 4 а то и больше джойнов?

у нас сейчас идет

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT IF(f.type=1, fgr.value_string, fgr.value_int) AS value FROM feature f
  2. INNER JOIN feature_good_relation fgr ON fgr.feature_id =  f.id
  3. WHERE fgr.good_id = ...
 
My status
 Top
LIME
Отправлено: 16 Августа, 2013 - 09:01:41
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




не джойнов а юнионов
и булев тип легко эмулируется целым
Stierus пишет:
мультисвойства
а это как? что у товара может такого быть например?
 
 Top
Stierus Супермодератор
Отправлено: 16 Августа, 2013 - 09:20:05
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Цитата:
и булев тип легко эмулируется целым
Да и инты в строки пихать можно, кто ж спорит, но это разные типы, с разным отображением

Цитата:
а это как? что у товара может такого быть например?
Это например "Форматы воспроизведения аудио" AAC, HE-AAC, MP3 (от 8 до 320 кбит/с), MP3 VBR, Apple Lossless, AIFF, WAV
Когда у одного свойства есть заранее заложенные варианты значений и можно выбрать либо одно значение из этого заранее заложенного списка, либо несколько Улыбка
 
My status
 Top
Страниц (4): « 1 [2] 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB