powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как правильно сделать структуру таблиц.
21 сообщений из 21, страница 1 из 1
Как правильно сделать структуру таблиц.
    #33339378
Kicel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть 3 таблицы: справочник продукции, шапка документа, табличная часть документа. Если табличную часть документа формировать только при помощи справочника, то проблем нет. Но встал вопрос о вводе информации (продукта), которую в справочнике хранить не надо. Как правильно построить структуру с учетом того что это потом еще и в отчеты надо выводить? Заранее спасибо за ответы.
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33339860
sti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ввели вы продукт, которого нет в справочнике. И какой документ по нему можно создать? Данных то нет! Тоже все вручную вводить? Тогда Excel поможет.
Или чего-то не понимаю.
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33339888
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KicelЕсть 3 таблицы: справочник продукции, шапка документа, табличная часть документа. Если табличную часть документа формировать только при помощи справочника, то проблем нет. Но встал вопрос о вводе информации (продукта), которую в справочнике хранить не надо. Как правильно построить структуру с учетом того что это потом еще и в отчеты надо выводить? Заранее спасибо за ответы.Неясно, где вы собираетесь хранить вводимые данные, если их хранить по вашим словам не надо?
Т.е. данные по продукции у вас делятся на 2 вида: хранимые и временные? Если так, то просто добавьте в справочник флажок временности и записывайте все туда привычным способом. И отчеты стройте единообразно на основе справочников. Просто временные данные когда-то надо удалять. Точнее сказать ничего невозможно, не зная задачу, которую вы крайне скудно описали.
На будущее: помните, каков вопрос, таков ответ. Формулируя вопрос крайне нечетко такой же и ответ получите (а возможно, вообще неверный).
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33341514
Kicel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бываает ситуация, когда пользователь хочет ввести в заказ какое-нибудь наименование продукта, который хочет получить, например заказчик, наряду с продуктом из справочника. Подразумевая что это разовый заказ, смысла на ввод в справочник такого продукта нет.
Собственно из соседних топиков нарисовалось решение: в табличной части документа нужно хранить: код_товара, наименование_товара (даже если этот товар был выбран из справочника), количество_товара, цену_товара. Тогда всю необходимую информацию можно вытянуть из справочника (типа размер, цвет и т.п.). А для товара, введеного на стадии формирования документа, достаточно будет только названия+кол-во и цена (код_товара в этом случае будет = 0).
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33341544
sti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kicel

Дополнительные объяснения мало что объясняют. Откуда возьмутся количество и цена у этого "временного" товара? Откуда он вообще сам возьмется? Какие отчеты, упомянутые в первом посте, по нему можно будет построить?

Из того, что можно понять - присоединяюь к мнению mir - флаги постоянный/временный.

авторкод_товара в этом случае будет = 0а вот это вот лучше не надо. Сразу ссылочная целостность - долой.
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33342162
Тяп-ляп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> из соседних топиков нарисовалось решение: в табличной части документа нужно хранить: код_товара, наименование_товара

Совет плохой - будьте осторожны!

Есть несколько важных причин, по которым не следует так делать.
Разберитесь сперва с ними, прежде чем дальше что-либо проектировать.

mir дал на мой взгляд, самый правильный совет
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33342621
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, бывают и причины, когда нельзя так НЕ сделать.
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33343970
Kicel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sti2 Kicel

Дополнительные объяснения мало что объясняют. Откуда возьмутся количество и цена у этого "временного" товара? Откуда он вообще сам возьмется? Какие отчеты, упомянутые в первом посте, по нему можно будет построить?

Из того, что можно понять - присоединяюь к мнению mir - флаги постоянный/временный.

авторкод_товара в этом случае будет = 0а вот это вот лучше не надо. Сразу ссылочная целостность - долой.
---------------------------------------------------------------------------

Попытаюсь объяснить: количество и цена возьмутся из документа-заказа.
Насчет флагов: кто будет вешать их? Оператор, вводящий заказ? По сценарию работы программы при вводе заказа у оператора будет возможность выбора из справочника, допустим стандартных изделий, производимых на данном предприятии.
Ввод в документ "временного товара" нужен для того, чтобы ввести товар (расходные материалы) клиента (если клиент хочет использовать свой материал для производства этого заказа или комплектующие третьей фирмы, например ). Т.е. этот товар-материал в справочнике не нужен. Но в заказе он обязан быть (на то есть веские причины).
И почему: "... ссылочная целостность - долой"?
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33344097
sti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kicel
Попытаюсь объяснить: количество и цена возьмутся из документа-заказа.
Насчет флагов: кто будет вешать их? Оператор, вводящий заказ? По сценарию работы программы при вводе заказа у оператора будет возможность выбора из справочника, допустим стандартных изделий, производимых на данном предприятии.
Если выбрали из справочника - флаг один, если ввели руками - другой.

KicelИ почему: "... ссылочная целостность - долой"?Потому что в справочнике нет товара с кодом 0.

Кстати, в таком изложении задача стала наконец понятной, хотя на мой взгляд и несколько противоречит первым постам. В таком варианте я бы подумал о том, чтобы разбить таблицу Заказы на две части: товары из справочника и прочие. Хотя опять же надо знать какие еще операции с этим будут делаться.
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33344125
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Kicel
Попытаюсь объяснить: количество и цена возьмутся из документа-заказа.
Насчет флагов: кто будет вешать их? Оператор, вводящий заказ? По сценарию работы программы при вводе заказа у оператора будет возможность выбора из справочника, допустим стандартных изделий, производимых на данном предприятии.
Ввод в документ "временного товара" нужен для того, чтобы ввести товар (расходные материалы) клиента (если клиент хочет использовать свой материал для производства этого заказа или комплектующие третьей фирмы, например ). Т.е. этот товар-материал в справочнике не нужен. Но в заказе он обязан быть (на то есть веские причины).[/quot]
Что-то я не допонял... Если товары/комплектующие (те, которые будут "временные") идут с Вашего склада, то они существуют в справочнике? А если их дают Ваши клиенты, то их уже в справочнике и нету? Типа: "Если эта дверь висит, то это имя существительное. Если дверь лежит, то это имя придагательное" (с, не моё)?!

Я предлагаю огород не городить, а просто проставить в документе на данную строку признак "давальческое сырье". И всё!!!
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33344129
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kicel
Попытаюсь объяснить: количество и цена возьмутся из документа-заказа.
Насчет флагов: кто будет вешать их? Оператор, вводящий заказ? По сценарию работы программы при вводе заказа у оператора будет возможность выбора из справочника, допустим стандартных изделий, производимых на данном предприятии.
Ввод в документ "временного товара" нужен для того, чтобы ввести товар (расходные материалы) клиента (если клиент хочет использовать свой материал для производства этого заказа или комплектующие третьей фирмы, например ). Т.е. этот товар-материал в справочнике не нужен. Но в заказе он обязан быть (на то есть веские причины).
Что-то я не допонял... Если товары/комплектующие (те, которые будут "временные") идут с Вашего склада, то они существуют в справочнике? А если их дают Ваши клиенты, то их уже в справочнике и нету? Типа: "Если эта дверь висит, то это имя существительное. Если дверь лежит, то это имя придагательное" (с, не моё)?!

Я предлагаю огород не городить, а просто проставить в документе на данную строку признак "давальческое сырье". И всё!!!
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33344131
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно, так нужно. но посмотрите еще с такой стороны: временные материалы ведь тоже могут повторяться. Нет ли смысла их заносить в справочник для сокращения затрат по вводу.
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33344200
Kicel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sti Kicel
Попытаюсь объяснить: количество и цена возьмутся из документа-заказа.
Насчет флагов: кто будет вешать их? Оператор, вводящий заказ? По сценарию работы программы при вводе заказа у оператора будет возможность выбора из справочника, допустим стандартных изделий, производимых на данном предприятии.
Если выбрали из справочника - флаг один, если ввели руками - другой.

KicelИ почему: "... ссылочная целостность - долой"?Потому что в справочнике нет товара с кодом 0.

Кстати, в таком изложении задача стала наконец понятной, хотя на мой взгляд и несколько противоречит первым постам. В таком варианте я бы подумал о том, чтобы разбить таблицу Заказы на две части: товары из справочника и прочие. Хотя опять же надо знать какие еще операции с этим будут делаться.

Конечно же в справочнике и не будет товара с кодом=0. Этот товар будет только в документе (т.е. товар введеный прямо в документ, а не выбранный из справочника).
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33344232
Kicel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Станислав C. .....

Что-то я не допонял... Если товары/комплектующие (те, которые будут "временные") идут с Вашего склада, то они существуют в справочнике? А если их дают Ваши клиенты, то их уже в справочнике и нету? Типа: "Если эта дверь висит, то это имя существительное. Если дверь лежит, то это имя придагательное" (с, не моё)?!

Я предлагаю огород не городить, а просто проставить в документе на данную строку признак "давальческое сырье". И всё!!!

Вот этот пост прямо в цель: предприятие производит именно ДВЕРИ! И соотношение стандартных заказов к нестандартным: 20/80. Т.е. 80% заказов имеют в своем составе, например, дверные петли которые обеспечивает заказчик. Т.е. эти петли встретятся во второй раз нескоро (почти никогда). И даже одинаковые петли могут назваться (клиентами) по-разному. Т.е. клиент предоставляет свою как-бы "спецификацию" на такой материал.
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33344337
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kicel... предприятие производит именно ДВЕРИ! И соотношение стандартных заказов к нестандартным: 20/80. Т.е. 80% заказов имеют в своем составе, например, дверные петли которые обеспечивает заказчик. Т.е. эти петли встретятся во второй раз нескоро (почти никогда). И даже одинаковые петли могут назваться (клиентами) по-разному. Т.е. клиент предоставляет свою как-бы "спецификацию" на такой материал.
Жаль мне Вас... Но, скорее всего, Ваше решение - лучшее (в смысле хранить наименование). Но его можно улучшить.
Я предлагаю вывести все строки "не из справочника" (код_товара=0 при заполнении формы) в отдельную таблицу и только там хранить наименование...
Ссылочная целостность будет обеспечиваться номером заполняемого документа...
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33344439
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор...И соотношение стандартных заказов к нестандартным: 20/80.
Может тогда еще проще. Никаких справочников. Или справочник СВОИХ материалов только для упрощения ввода (выбор из списка), а в таблице заказов хранить только наименования?
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33344469
sti
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКонечно же в справочнике и не будет товара с кодом=0. Этот товар будет только в документе (т.е. товар введеный прямо в документ, а не выбранный из справочника).Ну я и говорю - ссылочная целостность - долой! Поле документа на справочник ссылается или как?
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33345260
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sti авторКонечно же в справочнике и не будет товара с кодом=0. Этот товар будет только в документе (т.е. товар введеный прямо в документ, а не выбранный из справочника).Ну я и говорю - ссылочная целостность - долой! Поле документа на справочник ссылается или как?
Или ссылается или NULL, что также считается корректным значением внешнего ключа. В чем проблема?
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33349327
Valentyn Pidburtnyi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KicelЕсть 3 таблицы: справочник продукции, шапка документа, табличная часть документа. Если табличную часть документа формировать только при помощи справочника, то проблем нет. Но встал вопрос о вводе информации (продукта), которую в справочнике хранить не надо. Как правильно построить структуру с учетом того что это потом еще и в отчеты надо выводить? Заранее спасибо за ответы.
Имхо, null хранить в ссылочном поле себе дороже. Потом полезут leftjoin в отчетах и выборках, либо разбивание довольно простой выборки нанесколько, с целью оптимизации.
Простой выход: в справочнике товаров есть "пустой" товар (например, "empty" или "default"), на который в таких случаях ссылаются операции. А само название товара, если важно его когда-то посмотреть, можно просто в поле comment записать (в таблице с операциями наверняка есть). Хотя я так понимаю, что на него (реальное название товара) наплевать, раз в справочник его добавлять не нужно.
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33349886
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сделал в справочнике материалов позицию "Сторонний материал" с возможностью ввода описания вручную, но уже в позицию накладной. Ссылочная целостность не пострадает, и затраты на внесение записей в накладную будут минимальными.
...
Рейтинг: 0 / 0
Как правильно сделать структуру таблиц.
    #33350369
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм, тогда в запросах придется делать анализ на магическое наименование "Сторонний товар", а в справочнике сделать защиту от изменения этого наименования.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как правильно сделать структуру таблиц.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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