|
|
|
Проектирование базы для склада
|
|||
|---|---|---|---|
|
#18+
В общей сложности есть основные три таблицы: приход, расход и остатки. В таблицы приход и расход данные только записываются и читаются, в таблице остатки только апдейтятся. Таблицы приход и расход имеют 90% сходство в атрибутах, но расход предположительно будет в 5 раз больше прихода. Имеет ли место здесь разделение этих таблиц, или же стоит испльзовать только одну таблицу? Запросы для отчетности впринципе будут отдельно по приходу и расходу, и по моему мнению будут быстрее обрабатываться из двух разных таблиц, чем из одной большой путем вычленнения из нее строк прихода и расхода. Базы до этого не проектировал никогда, поэтому опыта пока маловато. Поэтому если кто поделится советами о подводных камнях буду признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2009, 11:20 |
|
||
|
Проектирование базы для склада
|
|||
|---|---|---|---|
|
#18+
Шаблон: Ресурсы накопления С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2009, 11:21 |
|
||
|
Проектирование базы для склада
|
|||
|---|---|---|---|
|
#18+
Если таблицы объединить в одну, то можно получать остатки на любую дату. Отдельная таблица остатков не нужна. Собственно это будет таблица движения. Но... сами документы прихода/расхода (шапка/строки) желательно сделать отдельной парой таблиц, т.к. там возможно будет больше информации, которая в таблице движения не нужна или будет в другом виде, например единицы измерения, валюта, к-л признаки, и т.д. Возможно будет несколько пар документных таблиц, но таблица движения будет одна. Если к ней добавить таблицу привязок приход/расход то получаем полноценный партионный учет. Без которого и склад - не склад :) ЗЫ: Сто раз тут обсасывали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2009, 16:50 |
|
||
|
Проектирование базы для склада
|
|||
|---|---|---|---|
|
#18+
Поясню Шаблон: Ресурсы накопления Здесь описаны не все таблицы, указаны только результирующие. Вот примерный список таблиц: Документы: 1. ДокументыПриходнаяНакладаная 1.1. ПриходнаяНакладнаяТовары (подчинена 1) 2. ДокументыРасходнаяНакладаная 2.1. РасходнаяНакладнаяТовары (подчинена 2) 3. ДокументыСписаниеТоваров 3.1. СписаниеТоваровТовары (подчинена 3) .... еще множество таблиц для других видов документов Регистры (именно они описаны в шаблоне): 1.1. ТоварыНаСкладахДвижения (в шаблоне описана как TurnoverTable) 1.2. ТоварыНаСкладахОстатки (в шаблоне описана как BalanceTable) При изменении полей документов "ПринятоКУчету" (в 1с "Проведен") по триггеру проводятся записи в таблице ТоварыНаСкладахДвижения, в свою очередь ее триггер изменяет ТоварыНаСкладахОстатки. Таблица остатков по периодам (месяцам) оправдывается увеличением скорости при большой истории данных С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2009, 17:08 |
|
||
|
Проектирование базы для склада
|
|||
|---|---|---|---|
|
#18+
NAf При изменении полей документов "ПринятоКУчету" (в 1с "Проведен") по триггеру проводятся записи в таблице ТоварыНаСкладахДвижения, в свою очередь ее триггер изменяет ТоварыНаСкладахОстатки А как триггер писать, можно пример ? В ДБ2, Oracle ( других не знаю ) надо писать InsteadOF, а там приходится все поля перечислять. Как-то это не красиво. Или я чего не знаю ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2009, 23:57 |
|
||
|
Проектирование базы для склада
|
|||
|---|---|---|---|
|
#18+
Помогите пожNAf При изменении полей документов "ПринятоКУчету" (в 1с "Проведен") по триггеру проводятся записи в таблице ТоварыНаСкладахДвижения, в свою очередь ее триггер изменяет ТоварыНаСкладахОстатки А как триггер писать, можно пример ? В ДБ2, Oracle ( других не знаю ) надо писать InsteadOF, а там приходится все поля перечислять. Как-то это не красиво. Или я чего не знаю ? как писать триггер для конкретной СУБД нужно спрашивать в разделе этой СУБД, или воспользоваться поиском! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2009, 02:07 |
|
||
|
Проектирование базы для склада
|
|||
|---|---|---|---|
|
#18+
LSVЕсли таблицы объединить в одну, то можно получать остатки на любую дату. Отдельная таблица остатков не нужна. Собственно это будет таблица движения. Но... сами документы прихода/расхода (шапка/строки) желательно сделать отдельной парой таблиц, т.к. там возможно будет больше информации, которая в таблице движения не нужна или будет в другом виде, например единицы измерения, валюта, к-л признаки, и т.д. Возможно будет несколько пар документных таблиц, но таблица движения будет одна. Если к ней добавить таблицу привязок приход/расход то получаем полноценный партионный учет. Без которого и склад - не склад :) ЗЫ: Сто раз тут обсасывали. Таблица остатки состоит из малого количества колонок, грубо говоря из колонок - айдишник товара, остаток на складе и цена на данный (настоящий) момент (мб это и есть движение.. хотя что такое движение я пока не совсем хорошо понимаю). На любой момент остатки я планировал выводить запросом из таблиц приход и расход. Вот и хотел узнать имеет ли смысл делать их в виде 2-х таблиц или сделать одной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2009, 13:49 |
|
||
|
Проектирование базы для склада
|
|||
|---|---|---|---|
|
#18+
Лутше 1 таблицу P.S. - простите меня глупого ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2009, 13:53 |
|
||
|
Проектирование базы для склада
|
|||
|---|---|---|---|
|
#18+
blestLSVЕсли таблицы объединить в одну, то можно получать остатки на любую дату. Отдельная таблица остатков не нужна. Собственно это будет таблица движения. Но... сами документы прихода/расхода (шапка/строки) желательно сделать отдельной парой таблиц, т.к. там возможно будет больше информации, которая в таблице движения не нужна или будет в другом виде, например единицы измерения, валюта, к-л признаки, и т.д. Возможно будет несколько пар документных таблиц, но таблица движения будет одна. Если к ней добавить таблицу привязок приход/расход то получаем полноценный партионный учет. Без которого и склад - не склад :) ЗЫ: Сто раз тут обсасывали. Таблица остатки состоит из малого количества колонок, грубо говоря из колонок - айдишник товара, остаток на складе и цена на данный (настоящий) момент (мб это и есть движение.. хотя что такое движение я пока не совсем хорошо понимаю). На любой момент остатки я планировал выводить запросом из таблиц приход и расход. Вот и хотел узнать имеет ли смысл делать их в виде 2-х таблиц или сделать одной. Если интересует и суммовой учет, то нежно хранить оличество и сумму, но ни как не цену Хотя бы потому, что Количество*Цена<>Сумма ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2009, 15:07 |
|
||
|
Проектирование базы для склада
|
|||
|---|---|---|---|
|
#18+
NafblestLSVЕсли таблицы объединить в одну, то можно получать остатки на любую дату. Отдельная таблица остатков не нужна. Собственно это будет таблица движения. Но... сами документы прихода/расхода (шапка/строки) желательно сделать отдельной парой таблиц, т.к. там возможно будет больше информации, которая в таблице движения не нужна или будет в другом виде, например единицы измерения, валюта, к-л признаки, и т.д. Возможно будет несколько пар документных таблиц, но таблица движения будет одна. Если к ней добавить таблицу привязок приход/расход то получаем полноценный партионный учет. Без которого и склад - не склад :) ЗЫ: Сто раз тут обсасывали. Таблица остатки состоит из малого количества колонок, грубо говоря из колонок - айдишник товара, остаток на складе и цена на данный (настоящий) момент (мб это и есть движение.. хотя что такое движение я пока не совсем хорошо понимаю). На любой момент остатки я планировал выводить запросом из таблиц приход и расход. Вот и хотел узнать имеет ли смысл делать их в виде 2-х таблиц или сделать одной. Если интересует и суммовой учет, то нежно хранить оличество и сумму, но ни как не цену Хотя бы потому, что Количество*Цена<>Сумма Naf, может я не совсем правильно выражаюсь в правильных терминах. В таблице остатки хранится информация на данный момент, т.е. после добавления строчек в таблицы приход/расход апрейтятся поля цена и количество в остатках триггерами. А после например продажи товара появляются строки в таблице расход, где и записывается сколько было продано и по какой цене, т.е. по этой таблице можно будет вести учет, например, по месяцам сколько и на какую сумму было продано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2009, 15:51 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=87&tid=1543221]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 356ms |

| 0 / 0 |
