powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с представлением
18 сообщений из 18, страница 1 из 1
Помогите с представлением
    #38188579
AlexRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Форумчане, делаю бд под заказ товаров.
Бд спроектировал, мне нужно чтобы у пользователя была возможность сформировать список заказанных товаров, вида:
Заказанные детали, количество.
---
Рубашка 10


Собственно бд построена таким образом, есть таблицы заказы(id,автор,комментарий), состав заявки(id_заказа, товар, количество)
ну и другие таблицы,
так вот, думаю, как мне сделать чтобы пользователь смог сформировать список заказываемых товаров.\
Я так понимаю, что до нажатия создать заявку, когда пользователь будет выбирать что заказать, будет падать в таблицу состав заявки. но номер заявки то еще сформирован не будет, к которой привязана таблица состав заявки. Номер заявки формируется автоматом автоинкрементом.
...
Рейтинг: 0 / 0
Помогите с представлением
    #38188616
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нумерация готовых заявок должна быть без "дырок" - то проще всего разнести атрибуты "Номер заявки - первичный ключ" и "Номер заявки, видимый пользователю". Соответственно, заявку вместе с первичным ключом создавать сразу в момент предварительного отбора (со специальным статусом "в работе"), когда статус сменится на "готово" - формировать "пользовательский" номер.
Если же дырки никого не волнуют - еще лучше, можно пользоваться одним атрибутом "Номер заявки - первичный ключ" (по прежнему егенря его в момент предварительного отбора товаров)
...
Рейтинг: 0 / 0
Помогите с представлением
    #38188632
AlexRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинЕсли нумерация готовых заявок должна быть без "дырок" - то проще всего разнести атрибуты "Номер заявки - первичный ключ" и "Номер заявки, видимый пользователю". Соответственно, заявку вместе с первичным ключом создавать сразу в момент предварительного отбора (со специальным статусом "в работе"), когда статус сменится на "готово" - формировать "пользовательский" номер.
Если же дырки никого не волнуют - еще лучше, можно пользоваться одним атрибутом "Номер заявки - первичный ключ" (по прежнему егенря его в момент предварительного отбора товаров)

Тобишь, когда пользователь жмет заказать такой то товар, выбирает его, то создается заявка со статусом "в работе", соответст. в табл состав заявки уже пишется idшник, и к нему добавляются товары. так?
...
Рейтинг: 0 / 0
Помогите с представлением
    #38188641
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexRF,

Ну да.
...
Рейтинг: 0 / 0
Помогите с представлением
    #38188655
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexRFТобишь, когда пользователь жмет заказать такой то товар, выбирает его, то создается заявка со статусом "в работе", соответст. в табл состав заявки уже пишется idшник, и к нему добавляются товары. так?Ещё вариант - сделать отдельную структуру для "корзины".

Тут нужна такая же структура, как и для заказа, только без самой таблицы заказов (в простом случае это будет таблица "Товары в корзине" с ссылкой на пользователя).

Когда пользователь прошёл всю цепочку процесса заказа, начинается формирование заказа - создаётся запись заказа и товары переносятся в соответствующую таблицу.

Такой подход удобен тем, что товары в корзине сохраняются от сессии к сессии, корзина существует постоянно, не нужно после перерыва читать все заказы пользователя со статусом "в работе", вообще не нужно ничем заморачиваться.
Это в том случае, если вообще есть понятие "пользователь". Если такого понятия нет (например, анонимные заказы с сайта), то можно использовать подход Кот Матроскин
...
Рейтинг: 0 / 0
Помогите с представлением
    #38188690
AlexRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинAlexRF,

Ну да.
М, тогда возникает такой вопрос.
Как вывести этот список заказанных.
Я думал через вьюху сделать запрос на имя детали, и количество именно из этой таблицы состав заявки.
...
Рейтинг: 0 / 0
Помогите с представлением
    #38188692
AlexRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

есть пользователь, но у пользователя может быть много заявок
...
Рейтинг: 0 / 0
Помогите с представлением
    #38188728
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgТакой подход удобен тем, что товары в корзине сохраняются от сессии к сессии, корзина существует постоянно, не нужно после перерыва читать все заказы пользователя со статусом "в работе", вообще не нужно ничем заморачиваться.

Эээ, а что мешает при моем подходе сохранять товары в корзине от сессии к сессии?
...
Рейтинг: 0 / 0
Помогите с представлением
    #38188729
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexRFМ, тогда возникает такой вопрос.
Как вывести этот список заказанных.

В смысле "как"? элементы заявки со статусом "в работе".
...
Рейтинг: 0 / 0
Помогите с представлением
    #38188754
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexRFalexeyvg,

есть пользователь, но у пользователя может быть много заявокВ смысле, много корзин, в которые до окончательного оформления заказа он накладывает товары?

Тогда правильный вариант Кот Матроскин, он более гибкий, позволяет работать со сложной бизнес-логикой (которая нужна, допустим, для оптовиков, закупок и т.п.)
Кот МатроскинalexeyvgТакой подход удобен тем, что товары в корзине сохраняются от сессии к сессии, корзина существует постоянно, не нужно после перерыва читать все заказы пользователя со статусом "в работе", вообще не нужно ничем заморачиваться.

Эээ, а что мешает при моем подходе сохранять товары в корзине от сессии к сессии?Я же писал, что ничего не мешает. Просто придётся реализовывать специальные алгоритмы - допустим, заказ со статусом в работе может быть только один, если нет ни одного, то нужно создать.
Это чуть сложнее и чуть выше вероятность ошибок, по сравнению со способом отдельной "корзины".

То есть корзина хороша для простого интернет-магазина, предзаказы - для торгово-закупочной деятельности.
...
Рейтинг: 0 / 0
Помогите с представлением
    #38188762
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем знать номер еще незаписанного в БД заказа?
...
Рейтинг: 0 / 0
Помогите с представлением
    #38189093
AlexRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.к. таблица состав_заказа привязана к id-шнику самой заявки, а пока его нет, то как вывести то, что в конкретном заказе ты заказал.
...
Рейтинг: 0 / 0
Помогите с представлением
    #38189110
AlexRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvgAlexRFalexeyvg,

есть пользователь, но у пользователя может быть много заявокВ смысле, много корзин, в которые до окончательного оформления заказа он накладывает товары?

Тогда правильный вариант Кот Матроскин, он более гибкий, позволяет работать со сложной бизнес-логикой (которая нужна, допустим, для оптовиков, закупок и т.п.)
Кот Матроскинпропущено...

Эээ, а что мешает при моем подходе сохранять товары в корзине от сессии к сессии?Я же писал, что ничего не мешает. Просто придётся реализовывать специальные алгоритмы - допустим, заказ со статусом в работе может быть только один, если нет ни одного, то нужно создать.
Это чуть сложнее и чуть выше вероятность ошибок, по сравнению со способом отдельной "корзины".

То есть корзина хороша для простого интернет-магазина, предзаказы - для торгово-закупочной деятельности.

Нет, в моем случает заявка безусловно привязывается к пользователю, но когда мне нужна будет информация по конкретной заявке, что он в нее добавил.Уже собственно и нужен idшник заявки
...
Рейтинг: 0 / 0
Помогите с представлением
    #38189152
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexRFт.к. таблица состав_заказа привязана к id-шнику самой заявки, а пока его нет, то как вывести то, что в конкретном заказе ты заказал.
ID-шник мог быб быть внутренним суррогатным ключом, с номером заказа не связанным, соответственно требования последовательности и бездырочности на него не распространяется
...
Рейтинг: 0 / 0
Помогите с представлением
    #38189192
AlexRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NafAlexRFт.к. таблица состав_заказа привязана к id-шнику самой заявки, а пока его нет, то как вывести то, что в конкретном заказе ты заказал.
ID-шник мог быб быть внутренним суррогатным ключом, с номером заказа не связанным, соответственно требования последовательности и бездырочности на него не распространяется

Что то не понял, если добавить в состав_заяки еще idшник с автоинкрементом, ты об этом?
...
Рейтинг: 0 / 0
Помогите с представлением
    #38189413
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexRFNafпропущено...

ID-шник мог быб быть внутренним суррогатным ключом, с номером заказа не связанным, соответственно требования последовательности и бездырочности на него не распространяется

Что то не понял, если добавить в состав_заяки еще idшник с автоинкрементом, ты об этом?
а почему нет?
...
Рейтинг: 0 / 0
Помогите с представлением
    #38189763
AlexRF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну так он у меня есть там, ток смысла в нем нет..
смотри, таблица состав заявки(id_автоинкр, id_заявки, id_товара заказанного, количество)
Тоесть, если в заявке 325 закажут рубашку и блузку
то записи в БД будут вида
1, 325 , 5, 10
2, 325 , 3, 5

То как ты вытащищь, что конкретно в 325 заявке было
...
Рейтинг: 0 / 0
Помогите с представлением
    #38192580
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexRFНу так он у меня есть там, ток смысла в нем нет..
смотри, таблица состав заявки(id_автоинкр, id_заявки, id_товара заказанного, количество)
Тоесть, если в заявке 325 закажут рубашку и блузку
то записи в БД будут вида
1, 325 , 5, 10
2, 325 , 3, 5
То как ты вытащищь, что конкретно в 325 заявке было
Лехко.
Прочитайте базовые сведение о реляционных таблицах, запросах. Все вытаскивается запросами. Всегда, когда нужны подробные данные, удобные для восприятия человеком, к основной таблице данных, содержащей коды, подключаются все необходимые справочники (звезда), справочники справочников и так далее (снежинка).
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите с представлением
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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