powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Отношение типа "продукт-свойства". Выборка продукты+все свойства + условия на свойствам
4 сообщений из 29, страница 2 из 2
Отношение типа "продукт-свойства". Выборка продукты+все свойства + условия на свойствам
    #38337384
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest manСкажите, пожалуйста, есть ли альтернативный способ организации базы, чтобы упростить поиск?
Я прошу прощения за свою глупость, но осуждайте грех, а не грешникаКонечно есть. Слей все таблицы в одну большую - поиск станет очень простым.
Вообще есть такое понятие: "нормализация". ( http://ru.wikipedia.org/wiki/Нормальная_форма )
Очень полезная штука, но естественно с двояким итогом:
- Если ты хочешь уменьшить избыточность данных, упростить контроль целостности данных и упростить обновление данных - нормализуй настолько, насколько сможешь. С этой точки зрения разбиение БД на много-много таблиц лучше.
- Но если тебя интересуют в первую очередь выборки а не обновление данных - то де-нормальизованная БД будет намного удобнее. Меньше соединений, проще запросы, быстрее выборка.
В идеале, на больших проектах, ставят две БД, одну транзакционную (с нормализованной структурой) для обновления данных и раз в день копируют из нее данные во вторую базу, аналитическую с де-нормализованной структурой и кучей индексов по всем возможным полям. Получается очень удобно и эффективно.
Но подозреваю, что твоей базе до таких размеров когда это реально понадобиться еще далеко.
...
Рейтинг: 0 / 0
Отношение типа "продукт-свойства". Выборка продукты+все свойства + условия на свойствам
    #38339428
Guest man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fd00ch, White Owl

Теперь думаю как сделать сортировку order by по значениям атрибутов

Пока идея такая, но она не срабатывает.
Код: sql
1.
2.
3.
4.
select pp.* from prod_prop pp
   left join prod_prop ord1
       on ord1.id = pp.id and ord1.name = 'size'
   order by pp.id, ord1.value



prod_prop это view
...
Рейтинг: 0 / 0
Отношение типа "продукт-свойства". Выборка продукты+все свойства + условия на свойствам
    #38339435
Guest man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl,

[offtop]Да, и я забыл поблагодарить вас за ответ[/offtop]
...
Рейтинг: 0 / 0
Отношение типа "продукт-свойства". Выборка продукты+все свойства + условия на свойствам
    #38339618
Guest man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guest man,
Сам спросил, сам ответил. Похоже что так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
select  pp.*  from prod_prop pp
   left join prod_prop ord1
          on ord1.id = pp.id and ord1.p_name='condition'
   left join prod_prop ord2
          on ord2.id = pp.id and ord2.p_name='material'

   order by ord1.value desc, ord2.value desc



id name prop name value3glovesconditionold3glovesmaterialcotton3glovesprice50001hatcolorred1hatmaterialwhool1hatconditionnew1hatprice10002t-shirtconditionnew2t-shirtsizexxl2t-shirtmaterialcotton2t-shirtcolorred2t-shirtprice100004watchsexunisex
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Отношение типа "продукт-свойства". Выборка продукты+все свойства + условия на свойствам
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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