Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Производительность

Сообщения:  [1-10]   [11-13] 

 
 автор: Sfinks   (11.12.2013 в 22:07)   письмо автору
 
   для: Denandi   (11.12.2013 в 10:48)
 

Я не оправдываюсь. Я общаюсь! Valick тоже профи в этом деле =)

  Ответить  
 
 автор: Denandi   (11.12.2013 в 10:48)   письмо автору
 
   для: Sfinks   (11.12.2013 в 08:41)
 

Sfinks, что вы оправдываетесь... нормальный вариант из бредовых схем которых я встречал в инете наверное этот один из самых адекватных (это я об "общественном" каталоге) , схемы с Монго - не всчет!

  Ответить  
 
 автор: Sfinks   (11.12.2013 в 08:41)   письмо автору
 
   для: Valick   (10.12.2013 в 21:43)
 

Вы прекрасно знаете, что вариантов организации много.
И я не утверждаю, что описанный - единственный.
Просто "один из".

  Ответить  
 
 автор: Denandi   (11.12.2013 в 06:07)   письмо автору
 
   для: Valick   (10.12.2013 в 21:29)
 

А в чем проблема с сущностями и связями? все заранее определено.
Просто споткнулся на типах, в следствии чего и решил поднять проблему. Работаю с yii по этому приходится подстраиваться.

  Ответить  
 
 автор: Denandi   (11.12.2013 в 06:02)   письмо автору
 
   для: Sfinks   (10.12.2013 в 13:53)
 

Благодарю, все вроде разложил, пока все работает.

  Ответить  
 
 автор: Valick   (10.12.2013 в 21:43)   письмо автору
 
   для: Sfinks   (10.12.2013 в 13:53)
 

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

  Ответить  
 
 автор: Valick   (10.12.2013 в 21:29)   письмо автору
 
   для: Denandi   (10.12.2013 в 10:58)
 

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

  Ответить  
 
 автор: Sfinks   (10.12.2013 в 13:53)   письмо автору
 
   для: Denandi   (10.12.2013 в 10:58)
 

А что еще не понятно?.... Вроде все расписал.....
Просто в таблице связей создаете не одну связь со значением типа массив, а несколько связей с одиночными значениями-текст или значениями-число.

  Ответить  
 
 автор: Denandi   (10.12.2013 в 10:58)   письмо автору
 
   для: Sfinks   (10.12.2013 в 10:35)
 

Sfinks, у меня по этой схеме и сделано:
- т. товары
- т. значения свойств
- т. названия свойств
-т.связи
дополнительно:
- т.значений 'массивов' в этом пункте у меня есть проблемы-недопонимание как записывать.. описывал
ситуацию выше.

- т. значения-текст

Был бы признателен если бы помогли разобраться с проблемным пунктом.

  Ответить  
 
 автор: Sfinks   (10.12.2013 в 10:35)   письмо автору
 
   для: Denandi   (10.12.2013 в 09:12)
 

Все просто.

Если вы у товара список цветов будете хранить в виде JSON, то как вы будете искать, например, все "красные" товары?
Вы их конечно найдете, используя: WHERE color LIKE '%красный%'
Но эта операция крайне медленная.

А правильно так:
Есть таблица товаров в которой у каждого товара есть ID.
Есть таблица характеристик (цвет, масса, материал и т.п.), где у каждой характеристики также есть ID.
Есть таблица связей товара с характеристикой, где на каждую характеристику товара заводится отдельная строка, а для тех характеристик, которые отсутствуют у данного вида товара и связь будет отсутствовать. И у каждой такой связи также есть свой ID.
Например в таблице товаров у нас есть дрель с id=1, характеристики имеют свои id: цвет - 1, масса - 2, запах - 3, материал - 4. Тогда таблица связей будет выглядеть так:
id | tovar_id | feature_id
-------------------------
1  | 1        | 1
2  | 1        | 2
3  | 1        | 4
как видите, у дрели нет характеристики "запах".
Теперь еще нужно создать таблицу значений характеристик, где у каждого также есть ID:
id | value
----------
1  | пластик
2  | 1 кг.
3  | красный
4  | синий
5  | зеленый
и еще одну таблицу связей, на этот раз id связи товар-свойство из таблицы 3 со значениями соответствующих свойств. При чем связи могут быть 1 ко многим. Это обеспечит хранение различных значений для одного свойства, не используя массив:
id_property | id_value
----------------------
1           | 3
1           | 4
1           | 5
2           | 2
3           | 1

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

  Ответить  

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования