Форум русской поддержки Joomla!® CMS
10.12.2016, 07:06:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Схема Базы Данных интернет магазина

 (Прочитано 3335 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« : 15.07.2015, 17:13:15 »

второй день разрабатываю базу данных для интернет магазина.

Как вы считаете, что не хватает в схеме?

Записан
zikkuratvk
Профи
********

Репутация: +258/-2
Offline Offline

Пол: Мужской
Сообщений: 3938


Разрабатываем для Joomla


« Ответ #1 : 15.07.2015, 17:29:38 »

А какие цели магазина функции и прочее?
Просто на мой вкус хватает)) но я же не знаю чего достичь надо.
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #2 : 15.07.2015, 18:24:52 »

А какие цели магазина функции и прочее?
Просто на мой вкус хватает)) но я же не знаю чего достичь надо.
Магазин среднего класса, который можно будет расширить потом.

Суть в том, что вообще делать Интернет Магазин с нуля дело(но на фреймворке) не благодарное... Потому, собственно, он должен окупать разработку и поддержку. Потому магазин среднего класса.
Задача создать магазин для продажи товаров здорового образа жизни.

Почему движки не подходят?
1. Потому что это редкий случай AJAX магазина. Где всё работает на JS фреймворке.
2. Это не только магазин, но и пока примитивное сообщество.
Записан
Aleks.Denezh
Практически профи
*******

Репутация: +372/-4
Offline Offline

Пол: Мужской
Сообщений: 2762



« Ответ #3 : 15.07.2015, 18:26:17 »

Как вы считаете, что не хватает в схеме?
Бутылки водки )
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #4 : 15.07.2015, 18:30:10 »

Мне вот кажется не хватает системы скидок. Но я не знаю пока как в ИМ расчитываются скидки. По моему всегда по разному. Покупаешь 10 единиц товара получаешь скидку.
Записан
flyingspook
Профи
********

Репутация: +226/-9
Offline Offline

Сообщений: 3537


« Ответ #5 : 16.07.2015, 12:11:47 »

Надо знать конкретнее что будет на выхлопе, на первый взгляд там еще надо добавлять и не только скидки, а расчет скидок делается фиксировано, процентный и по сумме купленного товара, по количеству редкость, делается таблица и записывается скидка, но бывает связка двух таблиц для скидок одна для их размера вторая и связь
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #6 : 16.07.2015, 12:40:20 »

Кто знает вообще как производится расчёт доставки?

мне не совсем понятна связь много-ко-многим от доставки к заказу.
Может разве быть сразу несколько типов доставки к одному заказу и наоборот?
Может тут нужна связь один-к-одному?
Записан
flyingspook
Профи
********

Репутация: +226/-9
Offline Offline

Сообщений: 3537


« Ответ #7 : 16.07.2015, 16:54:36 »

Доставка или фиксированная или рассчитывается.
Вопрос конечно размазан, ответ в общих чертах на него.
Все возможные доставки прописываются в бд и выводятся требуемые. Расчет же делается обычно сторонними расширениями компаний которые выполняют доставку он либо интегрируется либо у них на сайте рассчитывают.
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #8 : 16.07.2015, 17:25:11 »

Доставка или фиксированная или рассчитывается.
Вопрос конечно размазан, ответ в общих чертах на него.
Все возможные доставки прописываются в бд и выводятся требуемые. Расчет же делается обычно сторонними расширениями компаний которые выполняют доставку он либо интегрируется либо у них на сайте рассчитывают.
Да я добавил в базу данных shop_delivery_type и прокси таблицу 'shop_delivery_type_product' что сразу показывает все возможные варианты доставки продукта.

Но вот пользователь закинул в корзину товары. Дальше он должен у каждого продукта указывать контакты доставки? Или для всей корзины расчитываются варианты доставки и он заполняет данные доставки только один раз?
Записан
passer
Живу я здесь
******

Репутация: +69/-3
Offline Offline

Пол: Мужской
Сообщений: 829



« Ответ #9 : 16.07.2015, 17:35:07 »

А таблица category почему плоская? Ветвление категорий не предусмотрено? Не совсем понятна связь многие-ко-многим в связке category-product. Надо ли? Один товар в нескольких категориях внесет путаницу не более.
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #10 : 16.07.2015, 17:44:11 »

А таблица category почему плоская? Ветвление категорий не предусмотрено? Не совсем понятна связь многие-ко-многим в связке category-product. Надо ли? Один товар в нескольких категориях внесет путаницу не более.
Для начала да, пойдут простые категории. Но потом уже потребуются мульти категории.
К тому же щас нужно у каждой категории добавить parent_id...
А каждому товару добавить category_id. Таким образом каждый товар будет и категорией одновременно если это требуется(например сопутствующие товары). А в категории добавить атрибут menu. чтобы связь не отображалась или наоборот в списке категорий.
« Последнее редактирование: 16.07.2015, 17:55:18 от dremora » Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #11 : 16.07.2015, 22:37:11 »

Рекомендую использовать более простые названия для таблиц shop_product_options_key может лучше переименовать в shop_productfields ? shop_product_options_val в shop_productfields_values. Также первичный ключ в связанных таблицах рекомендую называть в соответствии с содержимым( во избежании путаницы в дальнейшем для таблиц и их связей) тоесть не просто id а для таблицы product - это будет product_id, для delivery - это будет delivery_id и т.д. Совершенно непонятно назначение таблиц product_storage.. таблица shop_delivery связана с shop_category. Это вообще зачем? Как уже подсказал коллега иерархию  категорий лучше задать с самого начала. Триггерами или программным путем это продумать лучше заранее, ибо потом перестраивать будет проблематично. В Joomla деревья для меню и категорий неплохо реализованы программно. Можете взять пример оттуда. Также у вас нету таблицы для хранения общей конфигурации магазина.  

Ну и вообще я думаю что подобную тему нужно задавать на специализированных форумах( если такие есть ) По крайней мере есть такие люди которые занимаются только разработкой/обслуживанием баз данных. Для них это отдельная профессия. Я бы вам к ним посоветовал обратится. Надо ведь еще знать где и как правильно индексы проставить..

Да и что за редактор схем вы используете? Какой то допотопный кажется, я видел намного более красивые схемки.
« Последнее редактирование: 16.07.2015, 22:52:07 от zomby6888 » Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #12 : 17.07.2015, 00:39:30 »


Да и что за редактор схем вы используете? Какой то допотопный кажется, я видел намного более красивые схемки.

MySQL workbranch
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #13 : 18.08.2015, 09:37:35 »

Внимание! Кто знает почему я выбрал в поиске 20 магазинов продуктов и не где не встретил агрегатора платежей вроде Яндекс Кассы и Робо Кассы?
Что не так с этим уже?
Записан
Arkadiy
Группа развития
*****

Репутация: +432/-0
Offline Offline

Пол: Мужской
Сообщений: 5317


Крепитесь, други.


« Ответ #14 : 18.08.2015, 11:56:10 »

Агрегаторы берут деньги за агрегацию.
Записан
Arkadiy
Группа развития
*****

Репутация: +432/-0
Offline Offline

Пол: Мужской
Сообщений: 5317


Крепитесь, други.


« Ответ #15 : 18.08.2015, 11:57:12 »

В категории nested sets обязательно. Для выборки незаменимая вещь.
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #16 : 18.08.2015, 12:02:17 »

Агрегаторы берут деньги за агрегацию.

Иначе придётся тратитить время на разработку и поддержку модулей.

Но самое главное, что я понял, большинство людей не любят предоплату...
Так что вообще разрабатывать предоплатные системы расчёта нужно уже тогда, когда ИМ уже себя хорошо зарекомендовал.
Записан
Arkadiy
Группа развития
*****

Репутация: +432/-0
Offline Offline

Пол: Мужской
Сообщений: 5317


Крепитесь, други.


« Ответ #17 : 18.08.2015, 13:16:14 »

Неправильный вывод, люди в данном случае делятся на покупателей и продавцов, продавцы любят предоплату, покупатели - нет. Продавцы принимают решение, покупатели едят что дали.
Записан
zaboich
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Сообщений: 38


« Ответ #18 : 19.08.2015, 02:01:36 »

Нет информации о количестве product в заказе. Предполагается, что каждая позиция в заказ может попасть только в единственном числе?
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #19 : 19.08.2015, 03:05:09 »

Нет информации о количестве product в заказе. Предполагается, что каждая позиция в заказ может попасть только в единственном числе?
Это в shop_product_storage.
Таким образом известно сколько товара хранится на каждом из складов
Записан
ChaosHead
Профи
********

Репутация: +382/-10
Offline Offline

Пол: Мужской
Сообщений: 4397



« Ответ #20 : 19.08.2015, 03:22:50 »

Почему движки не подходят?
1. Потому что это редкий случай AJAX магазина. Где всё работает на JS фреймворке.
Владелец большой затейник. И нормально Яндексом AJAX у вас индексируется?
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #21 : 19.08.2015, 03:31:04 »

Владелец большой затейник. И нормально Яндексом AJAX у вас индексируется?
АТО =)))

Нормально, скоро буду показывать магаз... фронтальная часть уже в большинстве то готова.
Админка это конечно смерть...
Она хоть частично и сделана, но там ещё огого...
Записан
flyingspook
Профи
********

Репутация: +226/-9
Offline Offline

Сообщений: 3537


« Ответ #22 : 19.08.2015, 17:00:51 »

Владелец большой затейник. И нормально Яндексом AJAX у вас индексируется?
Просто многие не понимают, что AJAX, что lending-и они же все под контекст и медийную рекламу изначально предназначены.
Записан
Arkadiy
Группа развития
*****

Репутация: +432/-0
Offline Offline

Пол: Мужской
Сообщений: 5317


Крепитесь, други.


« Ответ #23 : 19.08.2015, 18:07:35 »

Нормальный AJAX с отключенным яваскриптом работает в обычном режиме, следовательно индексируется как обычно.
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #24 : 19.08.2015, 18:26:18 »

AJAX отлично индексируется...
Для этого есть PhantomJS или специальный сервис.
Настроить nginx и хранить HTML версию например как статику.

Другое дело как сделать Хаштэг под каждую вкладку и прокрутку. Например, у вас есть список товаров, а педжинация идёт не 12345, а бесконечным скроллом. Вешать хаштэг вместо onClick достаточно проблематично. Кроме того переход на категорию становится не по ссылке часто, а через форму select input. В таком случае обязательно нужно делать sitemap.xml и там хранить все URL страниц, кроме того делать перелинковку.
Ещё конечно важно понять, что ИМ проще поднять Яндекс Директом, SMM, баннерной рекламой. Чем SEO. Там уже всё схвачено в поиске и пробится туда труд не одного года работы.
Записан
flyingspook
Профи
********

Репутация: +226/-9
Offline Offline

Сообщений: 3537


« Ответ #25 : 19.08.2015, 21:34:33 »

Нормальный AJAX с отключенным яваскриптом работает в обычном режиме, следовательно индексируется как обычно.
Нет не индексируется можем похоливарить, надо делать обязательно отдельно под ПС-а разметку.
AJAX отлично индексируется...
Для этого есть PhantomJS или специальный сервис.
Настроить nginx и хранить HTML версию например как статику.
А зачем тогда AJAX?
Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #26 : 19.08.2015, 22:11:14 »

А зачем тогда AJAX?
AJAX для людей, а HTML для роботов.
читайте:
https://yandex.ru/support/webmaster/robot-workings/ajax-indexing.xml
Записан
Arkadiy
Группа развития
*****

Репутация: +432/-0
Offline Offline

Пол: Мужской
Сообщений: 5317


Крепитесь, други.


« Ответ #27 : 20.08.2015, 07:34:30 »

Нет не индексируется можем похоливарить, надо делать обязательно отдельно под ПС-а разметку.
Я говорю про правильный AJAX, а не про тот, про который вы. Правильный AJAX работает с отключенным в браузере javascript как обычно. Возьмите как пример плагин fullajax, он перехватывает ссылки сайта и грузит их Аяксом, но если его отключить, сайт будет работать как обычно, ссылки обычные, страницы обычные, индексация обычная. Я написал компонент http://extensions-joomla.ru/music/item/69-argens-media в котором для непрерывного проигрывания музыки внедрил AJAX, если его отключить, все так-же работает, с теми-же ссылкми, но с перезагрузкой страницы. Холиварить тут неочем, просто надо правильно делать.
« Последнее редактирование: 20.08.2015, 07:39:27 от Arkadiy » Записан
dremora
Тестеры
*****

Репутация: +47/-12
Offline Offline

Пол: Мужской
Сообщений: 480



« Ответ #28 : 20.08.2015, 09:41:51 »

про отключённый js пора уже давно забыть...
и использовать отключение js только для отлова багов безопасности.
эта проблема весьма актуальная когда селект и инпут делать disabled через jquery,
подставлять значения и в тоже время работать с деньгами и товарами.
Записан
zaboich
Осваиваюсь на форуме
***

Репутация: +11/-0
Offline Offline

Сообщений: 38


« Ответ #29 : 25.08.2015, 02:38:06 »

Это в shop_product_storage.
Таким образом известно сколько товара хранится на каждом из складов
Сколько товара на складе - понятно (shop_product_storage), а сколько заказал покупатель?
Записан
Страниц: [1] 2  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet