1

Тема: Структура БД для інтернет магазину

Всім привіт.

Ну мабуть тупе питання і всі давно знають відповідь, але я не можу нормальне рішення.

Є інтернет магазин з різними групами  товарів. Наприклад мобільний телефон і телевізор в яких різні набори властивостей.

Потрібно реалізувати можливість додавання нових груп товарів через адмінку, а також сортування товарів для кожної групи по значеннях полів.

Наприклад в моб. телефонах є поле ОС - потрібно вивести  всі телефони на ОС "Android" або в описі яких яких є HDTV.

Як це реалізувати в БД ?
Динамічно додавати нові таблиці та  поля?
Чи може через проміжну таблицю з додатковими значеннями ?
MonogDB ?

Для повнотекстового пошуку думав прикрутити ElasticSearch.

2

Re: Структура БД для інтернет магазину

Все звичайно залежить від конкретних потреб, але якщо просто нові групи товарів, то чому б їх не додавати до вже створених груп товарів? Для чого нові таблиці?

3

Re: Структура БД для інтернет магазину

Mongodb спробуйте, або шукайте за допомогою сфінкса,
Покопайте цмс престашоп. Там цікаво зроблено ;)

Нові таблиці це погана ідея бо якщо у вас буде 200 різних груп товарів тоді труба))

4

Re: Структура БД для інтернет магазину

funivan написав:

Mongodb спробуйте, або шукайте за допомогою сфінкса,
Покопайте цмс престашоп. Там цікаво зроблено ;)

Нові таблиці це погана ідея бо якщо у вас буде 200 різних груп товарів тоді труба))

В тому і проблема що монго поганий варіант :(
А що там зі сфінксом ? Він може сортувати по текстовому полі? Я не зрозумів, просто.

http://www.daveegerton.com/assets/image … tashop.png
Я так зрозумів у них атрибути в окремій таблиці, але таке рішення явно не дуже ефективне + можна попрощатися з повнотекстовим пошуком.

5

Re: Структура БД для інтернет магазину

ElasticSearch ставив собі, а тепер не знаю як позбути ся

Був собі цебер, та переполуцебрився на полуцебренята

6

Re: Структура БД для інтернет магазину

Singularity написав:

...
Я так зрозумів у них атрибути в окремій таблиці, але таке рішення явно не дуже ефективне + можна попрощатися з повнотекстовим пошуком.

Під "повнотекстовим пошуком" ви мабуть маєте на увазі не те, що є насправді.
Наприклад, якщо у вас є атрибути "назва товару", "ціна товару", "виробник товару" і всі вони знаходяться в окремій таблиці та кожен в своєму рядку, то про який повнотекстовий пошук може йти мова?

Повнотекстовий пошук припускає, що у вас є текстове поле, де знаходиться великий об'єм інформації. Натомість звичайний текстовий індекс в MySQL будується на перших 255 символах за промовчанням (і, здається цю кількість можна трохи збільшити). Тобто для індексування атрибутів цього достатньо.

7

Re: Структура БД для інтернет магазину

Мені подобається бд, яку пропонує CMS OpenCart:
1. Є всі необхідні таблиці.
2. БД третьої нормальної форми з усіма витікаючими приємними наслідками.
3. Все зроблено просто і зі смаком: навіть з невеликим досвідом проектування БД можна швидко зрозуміти що до чого.
4. Є типові запроси по читанню з та запису в базу у вихідному коді OpenCart.