| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > База данных интернет магазина |
| Автор: zzdxw 8.11.2017, 22:44 |
| Всем привет! Помогите новичку с БД. Дали задание спроектировать БД интернет-магазина с 5 таблицами. Вроде бы элементарное задание, но я никак не могу определиться с сущностями и связями (то есть с самой сутью). Для создания и редактирования БД использую консоль mySQL. Моя примерная схема базы данных: Таблица Товары: ID товара (PRIMARY), наименование, цена. Таблица Юзеры: ID юзера (PRIMARY), ФИО юзера. Таблица Комменты: ID коммента (PRIMARY), ID товара, коммент. Таблица Покупки: ID покупки (PRIMARY), ID корзины. Таблица Корзина: ID корзины (PRIMARY), ID товара, ID юзера. Достаточно ли этого? Правильно ли построена архитектура (если можно так выразиться)? |
| Автор: zzdxw 9.11.2017, 13:37 | ||||
Подскажите, правильно ли я всё сделал? |
| Автор: Snowy 9.11.2017, 13:39 |
| Таблица Прайслист: ID позиции (PRIMARY), категория, наименование, цена, статус (на складе, в продаже, закрыта) Таблица Юзеры: ID юзера (PRIMARY), ФИО юзера, email, phone, адрес для доставки, логин, пароль, статус (регистрация, подтверждён, бан), ... Таблица Комменты: ID коммента (PRIMARY), ID товара, коммент. Таблица Заказ: ID (PRIMARY), ID юзера, статус (оформляется/корзина, сформирован, оплачен, аннулирован), дата создания, дата закрытия, способ оплаты, доставка Таблица Товар: ID (PRIMARY), ID позиции в прайслисте, ID заказа, цена на момент оформления заказа Это структура для штучного товара. То есть торгуем готовыми изделиями, а не тоннами и кубометрами. Без учёта документов: счетов, накладных, прочей бухгалтерии и налогов. Прайслист: раздел бытовая техника, телевизор "Хрюндик". Цена 6000 единиц валюты. Товар в количестве 50 штук. Начинаем продавать. Продали 5 штук. Снизили цену до 5999. Продали ещё 28 штук и т.д... |
| Автор: Akina 9.11.2017, 13:44 |
| Ну вот опять... анализ где? ну или хотя бы объяснения, почему именно так, а не иначе? Даже навскидку - схема не предусматривает половины бизнес-процессов. Snowy хорошо показал на один из них - изменение цены товара. Обычная практика в магазине... Что делать-то будешь? менять в таблице товара цену? так готовые невыкупленные заказы поплывут... |
| Автор: zzdxw 9.11.2017, 14:16 | ||||
Ребят, спасибо, но вы очень глубоко копаете. Это обычное задание по БД. Спроектировать БД для инет магазина с 5 таблицами (товары, юзеры, комменты к товарам, покупки, корзина). Как, например, задания по составлению БД студент-группа-факультет и т.п. Я сделал эти сущности и добавил атрибуты. И вот спрашиваю, верно ли я составил БД, атрибуты, связи? Если нет, подскажите как нужно? Еще раз спасибо. |
| Автор: igorold 9.11.2017, 15:10 |
Я бы добавил ИД юзера - кто собственно комментировал ... дату ... м.б. оценку, поставленнуя товару ... Скорее корзина должна быть без ИД товара, а вот записи о товаре, которые кидают в корзину, должны иметь уже ИД корзины, ИД товара, Цену и Количество. Вот навскидку по 2-м таблицам ... т.е. схема написана дилетантом, который не хочет думать ... |
| Автор: zzdxw 9.11.2017, 16:02 | ||||
igorold, я во втором своем сообщении написал код mySQL данной бд. Там таблица "комментарии" уже с ID юзера, в таблице "корзина" нет ID товара.
Если про таблицу "товары", то там есть атрибуты ID товара (goods_id), наименование (name_of_goods) и цена (price_ru). То есть туда надо добавить атрибут ID корзины (cart_number) и создать новый "Количество"?
Новичком. |