powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование базы для склада
11 сообщений из 11, страница 1 из 1
Проектирование базы для склада
    #36009974
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общей сложности есть основные три таблицы: приход, расход и остатки. В таблицы приход и расход данные только записываются и читаются, в таблице остатки только апдейтятся.
Таблицы приход и расход имеют 90% сходство в атрибутах, но расход предположительно будет в 5 раз больше прихода.
Имеет ли место здесь разделение этих таблиц, или же стоит испльзовать только одну таблицу? Запросы для отчетности впринципе будут отдельно по приходу и расходу, и по моему мнению будут быстрее обрабатываться из двух разных таблиц, чем из одной большой путем вычленнения из нее строк прихода и расхода.

Базы до этого не проектировал никогда, поэтому опыта пока маловато. Поэтому если кто поделится советами о подводных камнях буду признателен.
...
Рейтинг: 0 / 0
Проектирование базы для склада
    #36009981
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проектирование базы для склада
    #36011311
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если таблицы объединить в одну, то можно получать остатки на любую дату. Отдельная таблица остатков не нужна. Собственно это будет таблица движения.
Но... сами документы прихода/расхода (шапка/строки) желательно сделать отдельной парой таблиц, т.к. там возможно будет больше информации, которая в таблице движения не нужна или будет в другом виде, например единицы измерения, валюта, к-л признаки, и т.д.
Возможно будет несколько пар документных таблиц, но таблица движения будет одна.
Если к ней добавить таблицу привязок приход/расход то получаем полноценный партионный учет. Без которого и склад - не склад :)

ЗЫ: Сто раз тут обсасывали.
...
Рейтинг: 0 / 0
Проектирование базы для склада
    #36011392
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поясню Шаблон: Ресурсы накопления
Здесь описаны не все таблицы, указаны только результирующие.
Вот примерный список таблиц:
Документы:
1. ДокументыПриходнаяНакладаная
1.1. ПриходнаяНакладнаяТовары (подчинена 1)
2. ДокументыРасходнаяНакладаная
2.1. РасходнаяНакладнаяТовары (подчинена 2)
3. ДокументыСписаниеТоваров
3.1. СписаниеТоваровТовары (подчинена 3)
.... еще множество таблиц для других видов документов
Регистры (именно они описаны в шаблоне):
1.1. ТоварыНаСкладахДвижения (в шаблоне описана как TurnoverTable)
1.2. ТоварыНаСкладахОстатки (в шаблоне описана как BalanceTable)

При изменении полей документов "ПринятоКУчету" (в 1с "Проведен") по триггеру проводятся записи в таблице ТоварыНаСкладахДвижения, в свою очередь ее триггер изменяет ТоварыНаСкладахОстатки.
Таблица остатков по периодам (месяцам) оправдывается увеличением скорости при большой истории данных

С уважением, Naf
...
Рейтинг: 0 / 0
Проектирование базы для склада
    #36012120
NAf
При изменении полей документов "ПринятоКУчету" (в 1с "Проведен") по триггеру проводятся записи в таблице ТоварыНаСкладахДвижения, в свою очередь ее триггер изменяет ТоварыНаСкладахОстатки


А как триггер писать, можно пример ? В ДБ2, Oracle ( других не знаю ) надо писать InsteadOF, а там приходится все поля перечислять. Как-то это не красиво. Или я чего не знаю ?
...
Рейтинг: 0 / 0
Проектирование базы для склада
    #36012200
monsenior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите пожNAf
При изменении полей документов "ПринятоКУчету" (в 1с "Проведен") по триггеру проводятся записи в таблице ТоварыНаСкладахДвижения, в свою очередь ее триггер изменяет ТоварыНаСкладахОстатки


А как триггер писать, можно пример ? В ДБ2, Oracle ( других не знаю ) надо писать InsteadOF, а там приходится все поля перечислять. Как-то это не красиво. Или я чего не знаю ?
как писать триггер для конкретной СУБД нужно спрашивать в разделе этой СУБД,
или воспользоваться поиском!
...
Рейтинг: 0 / 0
Проектирование базы для склада
    #36013145
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЕсли таблицы объединить в одну, то можно получать остатки на любую дату. Отдельная таблица остатков не нужна. Собственно это будет таблица движения.
Но... сами документы прихода/расхода (шапка/строки) желательно сделать отдельной парой таблиц, т.к. там возможно будет больше информации, которая в таблице движения не нужна или будет в другом виде, например единицы измерения, валюта, к-л признаки, и т.д.
Возможно будет несколько пар документных таблиц, но таблица движения будет одна.
Если к ней добавить таблицу привязок приход/расход то получаем полноценный партионный учет. Без которого и склад - не склад :)

ЗЫ: Сто раз тут обсасывали.

Таблица остатки состоит из малого количества колонок, грубо говоря из колонок - айдишник товара, остаток на складе и цена на данный (настоящий) момент (мб это и есть движение.. хотя что такое движение я пока не совсем хорошо понимаю). На любой момент остатки я планировал выводить запросом из таблиц приход и расход. Вот и хотел узнать имеет ли смысл делать их в виде 2-х таблиц или сделать одной.
...
Рейтинг: 0 / 0
Проектирование базы для склада
    #36013154
monsenior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лутше 1 таблицу


P.S. - простите меня глупого
...
Рейтинг: 0 / 0
Проектирование базы для склада
    #36013489
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blestLSVЕсли таблицы объединить в одну, то можно получать остатки на любую дату. Отдельная таблица остатков не нужна. Собственно это будет таблица движения.
Но... сами документы прихода/расхода (шапка/строки) желательно сделать отдельной парой таблиц, т.к. там возможно будет больше информации, которая в таблице движения не нужна или будет в другом виде, например единицы измерения, валюта, к-л признаки, и т.д.
Возможно будет несколько пар документных таблиц, но таблица движения будет одна.
Если к ней добавить таблицу привязок приход/расход то получаем полноценный партионный учет. Без которого и склад - не склад :)

ЗЫ: Сто раз тут обсасывали.

Таблица остатки состоит из малого количества колонок, грубо говоря из колонок - айдишник товара, остаток на складе и цена на данный (настоящий) момент (мб это и есть движение.. хотя что такое движение я пока не совсем хорошо понимаю). На любой момент остатки я планировал выводить запросом из таблиц приход и расход. Вот и хотел узнать имеет ли смысл делать их в виде 2-х таблиц или сделать одной.
Если интересует и суммовой учет, то нежно хранить оличество и сумму, но ни как не цену
Хотя бы потому, что Количество*Цена<>Сумма
...
Рейтинг: 0 / 0
Проектирование базы для склада
    #36013683
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NafblestLSVЕсли таблицы объединить в одну, то можно получать остатки на любую дату. Отдельная таблица остатков не нужна. Собственно это будет таблица движения.
Но... сами документы прихода/расхода (шапка/строки) желательно сделать отдельной парой таблиц, т.к. там возможно будет больше информации, которая в таблице движения не нужна или будет в другом виде, например единицы измерения, валюта, к-л признаки, и т.д.
Возможно будет несколько пар документных таблиц, но таблица движения будет одна.
Если к ней добавить таблицу привязок приход/расход то получаем полноценный партионный учет. Без которого и склад - не склад :)

ЗЫ: Сто раз тут обсасывали.

Таблица остатки состоит из малого количества колонок, грубо говоря из колонок - айдишник товара, остаток на складе и цена на данный (настоящий) момент (мб это и есть движение.. хотя что такое движение я пока не совсем хорошо понимаю). На любой момент остатки я планировал выводить запросом из таблиц приход и расход. Вот и хотел узнать имеет ли смысл делать их в виде 2-х таблиц или сделать одной.
Если интересует и суммовой учет, то нежно хранить оличество и сумму, но ни как не цену
Хотя бы потому, что Количество*Цена<>Сумма

Naf, может я не совсем правильно выражаюсь в правильных терминах.
В таблице остатки хранится информация на данный момент, т.е. после добавления строчек в таблицы приход/расход апрейтятся поля цена и количество в остатках триггерами. А после например продажи товара появляются строки в таблице расход, где и записывается сколько было продано и по какой цене, т.е. по этой таблице можно будет вести учет, например, по месяцам сколько и на какую сумму было продано.
...
Рейтинг: 0 / 0
Проектирование базы для склада
    #36013899
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blest,

Посмотрите этот топик.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование базы для склада
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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