powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Организация структуры БД
15 сообщений из 15, страница 1 из 1
Организация структуры БД
    #36876139
Luber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа! Кто уже занимался разработкой БД, подскажите пожалуйста вот такой организационный вопрос:
есть у меня таблица "Сметы", напр.:
| ID_сметы | ......Название....... | ну и т.д. |
.......001.........Ремонт крыши.........

есть справочник "Работы" напр. | Код работы | Название | Ед. измерения |

вообще Смета состоит из следующих столбцов:
| № п/п | ID_работы | Кол-во |
.....01............10..........100
.....02............11..........150
.....03............12..........200

в одной смете порядка 50-100 записей,

и в итоге получится такая большая таблица, напр.:
| ID_сметы | № п/п | ID_работы | Кол-во |
.......001..........01...........10.........100
.......001..........02...........11.........150
.......001..........03...........12.........200
........................................
.......002..........01...........13.........100
.......002..........02...........14.........150
.......002..........03...........15.........200

Работать с этим собираюсь через ВинФормс, вопрос собственно вот в чем:
вообще оптимальный ли это способ? если конечная цель подгрузить в приложение смету, например внести изменения и сохранить. Если их будет 100, 500, 1000 будет большая таблица и чтобы вставить в форму одну смету приложение будет перебирать всю таблицу по "ID_сметы"?

Стоит ли это оптимизировать, или это нормальный способ? Спасибо за помощь))
...
Рейтинг: 0 / 0
Организация структуры БД
    #36876175
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LuberСтоит ли это оптимизировать, или это нормальный способ? Нормальный способ, выборка данных по одной смете займёт 1 милисекунду независимо от объёма таблицы.

Вообще такие вопросы лучьше задавать в "проектировании", тут есть такой специальный форум.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Организация структуры БД
    #36876340
Luber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Виноват, не знал)
Тогда понятно спасибо, а вопрос еще: есть ли какой-то оптимальный размер для такой таблицы? например 100 000, 1 000 000 строк? И прошу прощения за тупой вопрос, но почему "1 миллисекунду независимо от объёма таблицы"?
...
Рейтинг: 0 / 0
Организация структуры БД
    #36876494
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LuberТогда понятно спасибо, а вопрос еще: есть ли какой-то оптимальный размер для такой таблицы? например 100 000, 1 000 000 строк?Оптимально - чтобы там были все данные, которые нужны :-)

LuberИ прошу прощения за тупой вопрос, но почему "1 миллисекунду независимо от объёма таблицы"?Потому что время поиска по индексу (если вы проиндексируете ID_сметы) слабо зависит от размера - для этого они и придуманы.
Посчитайте в BOL про индексы.
...
Рейтинг: 0 / 0
Организация структуры БД
    #36877582
Фотография bootty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LuberГоспода! Кто уже занимался разработкой БД, подскажите пожалуйста вот такой организационный вопрос...

...Стоит ли это оптимизировать, или это нормальный способ? Спасибо за помощь))Можно спросить по самой вашей структуре?

1. В одной смете каждая работа встречается не более одного раза, или же может быть больше? Цена работы фиксирована (если цены там вообще будут)?
2. К работам не привязаны никакие материалы?
3. "№ п/п", полагаете, надо хранить в БД? Это будет простой нумератор типа 1, 2, ... N, или более сложные (составные) конструкции?
...
Рейтинг: 0 / 0
Организация структуры БД
    #36877759
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Luber,

Вы неправы, т.к. то что вы указали
Код: plaintext
1.
2.
3.
и в итоге получится такая большая таблица, напр.:
| ID_сметы | № п/п | ID_работы | Кол-во |
....... 001 .......... 01 ........... 10 ......... 100 
....... 001 .......... 02 ........... 11 ......... 150 
это результат запроса а не таблица. Таблиц у вас две
Код: plaintext
1.
2.
таблица "Сметы", напр.:
| ID_сметы | ......Название....... | ну и т.д. |
....... 001 .........Ремонт крыши.........
и
Код: plaintext
1.
2.
| № п/п | ID_работы | Кол-во |
..... 01 ............ 10 .......... 100 
..... 02 ............ 11 .......... 150 
Соответственно в них и будет UPDATE. А скорость будет зависеть от попадания в индекс. Т.е. чем больше параметров укажете, тем быстрее отработает.
...
Рейтинг: 0 / 0
Организация структуры БД
    #36877958
Luber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
boottyМожно спросить по самой вашей структуре?

1. В одной смете каждая работа встречается не более одного раза, или же может быть больше? Цена работы фиксирована (если цены там вообще будут)?
2. К работам не привязаны никакие материалы?
3. "№ п/п", полагаете, надо хранить в БД? Это будет простой нумератор типа 1, 2, ... N, или более сложные (составные) конструкции?

будет всё гораздо сложнее, я не хотел просто вам тут голову забивать))
в одной смете будет несколько разделов
работа может встречаться несколько раз в смете
№ п/п однозначно строго нумеруется
к работам привязаны и материалы и скорее всего трудозатраты, для которых в свою очередь (как я понял) необходимо сделать таблички (помимо работ и материалов):

|Работа_ID|Расценка_ID|
тут при заполнении сметы можно будет выбрать для данной работы

|Расценка_ID|Название расценки|Дата составления|
тут просто будет табличка с расценками

|Расценка_ID|Материал_ID|Кол-во на ед. изм|
тут уже состав расценок

|Материал_ID|Цена|Дата|
ну дата я думаю чтобы отслеживать и прогнозировать цены легче было


вот как я представляю, может я в чем то не прав?


Злой Бобр , Вы видимо не поняли:
| ID_сметы | № п/п | ID_работы | Кол-во |
это не запрос, а таблица с содержанием смет, определяющая в какой смете какая работа идет под каким порядковым номером (и какая расценка ей соответствует)
...
Рейтинг: 0 / 0
Организация структуры БД
    #36879964
Фотография bootty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Luberбудет всё гораздо сложнее, я не хотел просто вам тут голову забивать))
...
вот как я представляю, может я в чем то не прав?В этом правы, но...будет всё гораздо сложнее... Тогда я попробую вам голову забить. Из того, что вспоминается по прошлому опыту:

1. Одна смета может иметь несколько дополнительных (соотв. нужно отслеживать их консолидировано)

2. Иногда есть смысл сделать отдельно сводную таблицу материалов по смете. Для обработки и учёта кратности этих материалов. В этой таблице будут все материалы из сметы суммарными количествами + еще одно количество для каждого материала — количество кратное.

Пример: по одной работе 0,5 литра краски, по другой 1,2 литров краски, в третьей еще литр. Она продается банками по 3 литра. Если не дай Босх смета сильно растянута во времени, и закупается не всё сразу. Если купят 3 раза по банке (итого 9 литров), то заказчик вполне откажется платить за обе (он и так часто платит по смете за материалы по факту, а не по первоначальной смете).

3. Для работ неплохо бы заложить минимум 2 цены: внешнюю и внутреннюю. Первая — что заплатит клиент, вторая — что получит работник, т.е. "себестоимость". Для материалов, если есть желание немного зарабатывать на объемах или липовых чеках — тоже.

4. Цены на материалы лучше отслеживать не по сметам, а по закупкам (наверняка это отдельные документы в вашей БД) или по отчетам для клиента (тоже 2 цены, клиенту показываем одну).

5. Для одной и той же типовой работы может понадобиться несколько разных типовых "наборов" материалов. Да, кстати, материалы можно заменять аналогами... И еще: при изменении объема работы материал иногда надо пересчитывать согласно объему работы, а иногда нет: полезный признак...

6. Полезные возможности: копирование раздела сметы (со всеми входящими работами и материалами), копирование работы (аналогично со всеми входящими материалами)

7. У сметы часто бывает "подвал", в котором закладываются расходы сверх того, что перечислено в теле: транспортные услуги, инструмент, погрузка-разгрузка, вывоз мусора и т.п. И, наконец, "непредвиденные работы и затраты" .

Сумма статьи "подвала" может быть фиксированной или же считаться как % от суммы работ и материалов (только работ, только материалов, работ + материалов, работ + материалов + предыдущих статей "подвала")

По мелочам:
- тип сметы (например, производство, строительство, монтаж и т.п. — если такое есть, и нужны разные правила, печатные формы и т.п.);
- статус сметы (новая, оценена, на утверждении, подписана, архив... сколько сами у себя насчитаете, у нас было более 10);
- если в общем случае раздел сметы = место проведения работ, то тоже можно отдельным справочником, а потом снимать аналитику и в этом разрезе;
- разные печатные формы в зависимости от того, как клиент платит: всё по-белому, n % по белому, всё по-чёрному, НДС надо/не надо/надо на n %);
- накопительная ведомость!!! по нарядам о выполнении... сюда же КС-2, КС-3, КС-11... это если всё-всё-всё ведете в БД;
- ТЕР, ФЕР, прочие страшные слова — если очень надо... мы делали, но коряво, для галочки.
...
Рейтинг: 0 / 0
Организация структуры БД
    #36881275
Luber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ох, спасибо за такое подробное описание! Не знаю даже, что делать, радоваться или наоборот)))
Ну эти все ОПЦИИ, я так понимаю, появились в ходе практики. Я думаю не в каждой сметной программе такое есть (по крайней мере, сам работал в ГрандСмете, там кроме как разделов, сводной таблицы материалов, настраиваемых "подвала", НР и СП, ничего "эдакого" и нет. ФЕР и ТЕР, я думаю, не пригодится, а вот КС-ки будут однозначно вестись, тут думаю ничего сложного нет, кроме человеко-часов на написание форм)))
...
Рейтинг: 0 / 0
Организация структуры БД
    #36882944
Фотография bootty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LuberНу эти все ОПЦИИ, я так понимаю, появились в ходе практики. Я думаю не в каждой сметной программе такое есть (по крайней мере, сам работал в ГрандСмете, там кроме как разделов, сводной таблицы материалов, настраиваемых "подвала", НР и СП, ничего "эдакого" и нет. ФЕР и ТЕР, я думаю, не пригодится, а вот КС-ки будут однозначно вестись, тут думаю ничего сложного нет, кроме человеко-часов на написание форм)))Мы смотрели Смета.ру, она вроде сметчиков устраивала, но нам надо было увязать договоры, сметы, заявки на материалы, закупки и фактическое выполнение смет (строительных и производственных), и чтоб вся картина для начальства получалась парой кликов, поэтому писали такой кусок сами... Ну и почти все "хотелки" сметчиков пришлось делать, чтобы они ушли от своего любимого MS Excel.

А вам — удачи в разработке.
...
Рейтинг: 0 / 0
Организация структуры БД
    #36884017
Luber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bootty
А вам — удачи в разработке.
спасибо)) а еще вопрос - Вы говорите "мы" делали,
вот "мы" это сколько примерно человек? и много ли времени у вас это заняло?
...
Рейтинг: 0 / 0
Организация структуры БД
    #36884227
Фотография bootty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Luberеще вопрос - Вы говорите "мы" делали,
вот "мы" это сколько примерно человек? и много ли времени у вас это заняло?Ну, у нас не было выделено всё это в отдельный проект, всё добавлялось постепенно, по мере необходимости. А так: два человека (аналитик-разработчик + разработчик), всё на Access. Было 2 клиентских части ("офисная" и "прорабская"), функционал в них почти не пересекался, кроме большинства справочников, каждый из нас отвечал за свою часть. Сейчас думаю, что месяца за 2-3 чистого времени сделали бы всё вышеперечисленное мной.
...
Рейтинг: 0 / 0
Организация структуры БД
    #36884600
Luber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А я на C# в WinForms и MS SQL) один и месяца за 2 хочу...)
Ох, пожелание про удачу думаю пригодится :D
...
Рейтинг: 0 / 0
Организация структуры БД
    #36884831
Фотография bootty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Само кодирование не более трети времени занять должно от общего, думаю. Если есть понимание того, что должно получиться, как это должно работать и что нужно оставить для возможности расширения на потом, то управитесь. Только давайте пользователям макеты для тестирования, чтобы потом меньше переделывать :)
...
Рейтинг: 0 / 0
Организация структуры БД
    #36888615
Luber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за советы! )
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Организация структуры БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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