powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
9 сообщений из 9, страница 1 из 1
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
    #39661026
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В xls файлике максимально подробно (как смог) изложил суть вопроса.
Вкратце:
Группы набираются из таблиц Прайс1-3.
Также группы могут быть набраны из других групп (кроме самих себя), см. "набор сантехника в носках".
Получается древовидная структура спецификации, которую можно свернуть и наблюдать только группы, или развернуть и наблюдать только позиции из прайсов.
Вопрос1: Как реализовать перебор для скорейшего получения развернутого списка?
Вопрос2: Может есть метод организации подобной структуры половчее, чем я тут нарисовал?
...
Рейтинг: 0 / 0
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
    #39661028
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для пущего понимания нашел картинку. Картинка левая, но отжатает суть вопроса.
...
Рейтинг: 0 / 0
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
    #39661048
sereginseregin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kefirkoВ xls файлике максимально подробно (как смог) изложил суть вопроса.
Вкратце:
...
Получается древовидная структура спецификации, которую можно свернуть и наблюдать только группы, или развернуть и наблюдать только позиции из прайсов.
...
Вопрос1: Как реализовать перебор для скорейшего получения развернутого списка?
...

Смотри рекурсивные запросы.
...
Рейтинг: 0 / 0
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
    #39661073
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefirkoВопрос2: Может есть метод организации подобной структуры половчее, чем я тут нарисовал?
вначале я подумала, что речь идет о Составе изделия(куда-что-сколько)
но после просмотра ексельки засомневалась --обыкновенная накладная

--справочник прайсы (кодП, наименование,мин партия,цена...)
--таблица заказы(код1, дата, клиент(это ваша группа), который может заказать какие то части из прайса/ов), код скидки...)
--таблица состав заказа(код2, код1, кодП,количество, текущая цена....)

прайсы
код1чтонаименование полноемин количценастоимость2прайс1панталоны р456301803прайс1панталоны р466402404прайс1плавки р 443501505прайс1плавки р 453501506прайс1плавки р 463501507прайс1плавки р 473601808прайс2гантели11001009прайс2гири110010010прайс2эспандеры120020011прайс2тренажеры12000200012прайс2т2110010013прайс2т3110010014прайс2т4110010015прайс2т5110010016прайс3пеленки121012017прайс3распашонки52010018прайс3подгузники20816019прайс3салфетки1202020прайс3крем1606021прайс3лосьон1505022прайс3с21505023прайс3с316060

ЗАКАЗЫ
код1чтонаименованиедатасумма1прайс1на нижнее белье01.06.20182прайс2спортивные товары06.04.20183прайс3детские товары03.03.20184г1заказ для Иванова15.06.201828205г2заказ для Петрова15.06.20181260
СОСТАВ ЗАКАЗОВ
КОД2код1чтонаименование полноемин количфакт колценастоимость14прайс1панталоны р446123036024прайс1панталоны р456123036034прайс1панталоны р46664024044прайс1плавки р 44365030084прайс2гантели1210020094прайс2гири13100300134прайс2т313100300164прайс3пеленки122410240174прайс3распашонки51020200184прайс3подгузники20408320242820255прайс1панталоны р4461230360265прайс1панталоны р4561230360275прайс1панталоны р466640240285прайс1плавки р 4436503001260
...
Рейтинг: 0 / 0
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
    #39661093
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefirko, а можете объяснить ,что это? Для чего? Без технических подробностей: что происходит?
...
Рейтинг: 0 / 0
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
    #39661115
kefirko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин , ну представьте, что у вас есть какая-то номенклатура. Надо составить спецификацию изделия. В изделии есть составные элементы, которые всегда продаются клиенту пачкой, но в прайсе они разделены поэлементно и у поставщика они покупаются отдельно каждый.

Условный пример:
Штанга для одежды, длина 1м - продается у поставщика №1
Фланец для штанги - продается у поставщика №2
Подсветка для штанги - продается у поставщика №3

Популярный набор:
Штанга + 2 фланца + подсветка

При составлении спецификации изделия у менеджера (особенного новенького) голова лопнет, если он из прайсов поставщиков выбирать нужные позиции будет, большой риск косяка. Поэтому создается отдельная таблица, где собраны популярные наборы. Вот из них он и составляет спецификацию, в данном случае выбирает "Штанга + 2 фланца + подсветка" и всё. А вот закупщику эти наборы не нужны, ему нужен именно список номенклатуры, соответствующий прайсу поставщика. Вот и стоит задача менеджеру собрать популярными наборами, т.к. так быстрее, а закупщику спецуху выдать соответственно прайсам.
...
Рейтинг: 0 / 0
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
    #39661198
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefirko, я бы, наверное, сделал так:

https://ibb.co/mdRcAJ

Запрос бы вернул что-то такое:

https://ibb.co/iaKSSy

Сам запрос:

Код: sql
1.
2.
3.
4.
5.
6.
SELECT s.name, sub.name, c.quantity, mu.name
FROM (((semiproduct_semiproduct AS c INNER JOIN semiproducts AS s ON c.semiproduct_id = s.id) 
INNER JOIN semiproducts AS sub ON c.semiproduct_sub_id = sub.id) 
INNER JOIN measure_units AS mu ON s.measure_unit_id = mu.id) 
INNER JOIN measure_units AS mu_sub ON sub.measure_unit_id = mu_sub.id
ORDER BY c.level_id;



Получается довольно сложная схема и довольно непростые запросы и организация данных - но вполне гибкая.
...
Рейтинг: 0 / 0
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
    #39661215
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин, немного описания.


Не хватает справочника типов(Деталь, Материал, Прочее. Это можно организовать через доп справочник, если известно, что у элемента номенклатуры может быть два типа и более: Деталь+Прочее, а можно просто через иерархию в одном справочнике номенклатуры).

measure_units - справочник единиц измерений
sku - номенклатура - то, что закупается у поставщиков. (Типичный иерархический справочник, где
parent_id - код папки, если элемент относится к папке.
level_id - уровень вложения: 0, 1, 2.

Пример:


id name parent_id level_id1 Материалы 0 02 Сердечник M600 1 13 Провода 1 14 Провод МГТФ 3 2

Даст вложенную структуру типа:
Материалы
--Сердечник M600
--Провода
----Провод МГТФ

semiproducts - полуфабрикаты(Такая же структура как и номенклатура). Некие названия наборов, которые могут состоять из других полуфабриктов и номенклатуры.

semiproduct_sku - связь полуфабриката с номенклатурой. Здесь - только те полуфабрикаты, которые имеют связь исключительно с номенклатурой.

semiproduct_semiproduct - связь полуфабриката с другими полуфабрикатами. Также присутствует level_id , чтобы понять уровень вложения полуфабрикатов друг в друга.

Из минусов: если полуфабрикат может состоят из полуфабриката и номенклатуры, то либо запрос менять, либо вложить самого в себя, а потом связать с номенклатурой в semiproduct_sku

Правда я не понял: Плата - покупается вместе с Текстолитом , к примеру? Если да, то в Номенклатуре вам придется иметь 2 позиции: Плата и Текстолит и в Справочнике полуфабрикатов назвать Готовая Плата
...
Рейтинг: 0 / 0
Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
    #39661246
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefirkoВот и стоит задача менеджеру собрать популярными наборами, т.к. так быстрее, а закупщику спецуху выдать соответственно прайсам.
это конечно ближе к Составу изделия+материалы
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше реализовать БД для составления древовидной спецификации (см. вложение)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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