powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Покритикуйте структуру БД
37 сообщений из 37, показаны все 2 страниц
Покритикуйте структуру БД
    #36086786
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Покритикуйте пожалуйста структуру БД.
Схема во вложенном файле =)
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36086865
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Покритикуйте пожалуйста структуру БД.

Было бы неплохо формализуемую предментную область описать...

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36087222
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kirill Razuvaev
>> Покритикуйте пожалуйста структуру БД.

Было бы неплохо формализуемую предментную область описать...



Это краткое описание ? =)
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36087328
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Это краткое описание ?
Да. Степень краткости обычно обратно пропорциональна результату
обсуждения... :-)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36087367
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev
>> Это краткое описание ?
Да. Степень краткости обычно обратно пропорциональна результату
обсуждения... :-)

А не наоборот? :)
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36087398
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Система планирования и учёта. направленная на строительство. Что то вроде MS Project только очень маленькая )))

TBL_BRIGADE - Таблица бригад рабочих
TBL_BRIGADE_WORKERS_TREE - Дерево привязки рабочих к бригадам
TBL_COUSTS - таблица затрат
TBL_GRAPH - Основная таблица. Хранятся задачи и их сроки.
TBL_GRAPH_BRIGADE_TREE - Таблица привязки бригад к задачам
TBL_GRAPH_MASH_TREE - Таблица привязки техники к задачам
TBL_GRAPH_RESOURCES_TREE - Таблица привязки материалов к задачам
TBL_GROUP_COUSTS - Таблица групп затрат
TBL_OBJECT_LIST - Список строительных объектов
TBL_RESOURCES_EI - Единицы измерения (м,м2,м3,кг,тн...)
TBL_RESOURCES_TYPE - Типы материалов
TBL_WORKERS - Таблица рабочий
TBL_USERS - Таблица пользователей системы
TBL_USERS_DEPARTMENTS - Список отделов для пользователей
TBL_USERS_POSTS - Должности пользователей
TBL_USERS_ROLE - Пользовательские роли
TBL_USERS_ROLE_ATRIB - Атрибуты для роли
TBL_WORKERS_POSTS - Должности рабочих
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36087467
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для начала натравите на список таблиц любой английский спеллчекер (это ведь английский?)
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36088122
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неужели нет никаких косяков ? =)
Тогда спрошу )))
Как организовать хранение и вывод суммарных задач ? как в MS Project ?
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36089178
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Неужели нет никаких косяков ? =)
Вообще-то, я имел ввиду словесное описание задачи. Тем более, что не все
видели MS Project.
Что бросилось в глаза:
1. Осмысленные названия это хорошо - но в пределах разумного количества
символов, на мой взгляд - не более 12ти.
2. Смысл отдельного ПК ID_TREE в TBL_BRIGADE_WORKERS_TREE?
3. Получается двоякая связь бригады с объектом TBL_BRIGADE -
TBL_OBJECTS_LIST и
TBL_BRIGADE - TBL_GRAPH_BRIGADE_TREE - TBL_GRAPH - TBL_OBJECTS_LIST.
Рискуете получить неоднозначность.
4. TBL_GRAPH_MASH-TREE - "Таблица привязки техники к задачам" - по
определению не может иметь только один внешний ключ.
5. Не ясен смысл связи TBL_GRAPH - "Основная таблица. Хранятся задачи и их
сроки." и TBL_RESOURCES_EI - "Единицы измерения".
6. Обычно не делают без особой нужды отдельные таблицы для аналогичных
сущностей - "Должности рабочих" и "Должности пользователей", удобнее один
справочник, в котором можно флагами разделить рабочих от служащих.

Хватит. Устал писать...


>> Как организовать хранение и вывод суммарных задач ? как в MS Project ?
Есть такие страшные слова - "отчеты", "выборки", "запросы"... Без них и MSP
не обходится.


P.S. Если мы так проектируем учет - то страшно подумать, как строим... :-)))

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36089430
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kirill Razuvaev
>> Неужели нет никаких косяков ? =)
Вообще-то, я имел ввиду словесное описание задачи. Тем более, что не все
видели MS Project.

Есть список объектов. По каждому объекту есть список работ. По каждому виду работы есть сроки(начало и конец), объём работы, зарплата рабочих (привязка бригад и планируется ещё несколько таблиц для привязки норм зарплат), материалы(таблица материалов) и строительная техника (тоже привязка таблицы) и ещё сегодня добавил поле длительность(кол-во дней).
Всё это выглядит как на прикреплённой картинке

авторСмысл отдельного ПК ID_TREE в TBL_BRIGADE_WORKERS_TREE?
Я просто не успел удалить табличку ID_TREE =)

автор3. Получается двоякая связь бригады с объектом TBL_BRIGADE -
TBL_OBJECTS_LIST и
TBL_BRIGADE - TBL_GRAPH_BRIGADE_TREE - TBL_GRAPH - TBL_OBJECTS_LIST.
Рискуете получить неоднозначность.
Я не могу удалить связь TBL_BRIGADE - TBL_GRAPH_BRIGADE_TREE - TBL_GRAPH - TBL_OBJECTS_LIST
Но и TBL_BRIGADE - TBL_OBJECTS_LIST тоже вроде не удалить.
Т.К. первый пользователь при создании бригады будет привязывать её к объекту потом следующий пользователь получит список выделенных ему бругад и только после этого будет раскидывать их по работам!
Даже не знаю что и делать =(
автор4. TBL_GRAPH_MASH-TREE - "Таблица привязки техники к задачам" - по
определению не может иметь только один внешний ключ.
Да действительно что то я поспешил =)
Надо полностью переделывать эту связь и добавлять таблички.
Что бы ещё учесть что бы не получилось так что один кран одновременно работал на двух объектах )))
автор5. Не ясен смысл связи TBL_GRAPH - "Основная таблица. Хранятся задачи и их
сроки." и TBL_RESOURCES_EI - "Единицы измерения".
Ну надеюсь после скриншота станет понятно =)
автор6. Обычно не делают без особой нужды отдельные таблицы для аналогичных
сущностей - "Должности рабочих" и "Должности пользователей", удобнее один
справочник, в котором можно флагами разделить рабочих от служащих.

А очень плохо использовать это в двух табличках ?
Просто хотел ограничить доступ пользователей к редактированию таблиц TBL_USERS, TBL_USERS_POSTS, TBL_USERS_DEPARTMENTS, TBL_USERS_ROLE, TBL_USERS_ROLE_ATRIB
авторЕсть такие страшные слова - "отчеты", "выборки", "запросы"... Без них и MSP
не обходится.
Да я это понимаю... =)
Просто думаю как хранить суммарные задачи в базе.
Суммарные задачи это задачи в скриншоте которые выделенные жирным!
Их атрибуты(зарплата,материалы, сроки и прочее) вычисляются из подзадач.
Грубо говоря это как дерево. Где листья это обычные задачи а узлы разветвления это и есть суммарные задачи. Ну а ствол и есть главная суммарная задача состоящая из других суммарных задач =)
авторP.S. Если мы так проектируем учет - то страшно подумать, как строим... :-)))
Я только начинаю =))) Поэтому и попросил указать на ошибки =)
Строим вроде нормально =)
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36089959
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Даже не знаю что и делать =(
Пытайтесь переформулировать задачу или описать по-другому бизнес-процесс.
Возможно, имеет смысл описать ввести термин бригад, выделенных на объект, и
уже из выделенных проводить назначения.
Хотя, в моем понимании должны присутствовать еще специализации бригад в
связке с работами.

>>> 5. Не ясен смысл связи TBL_GRAPH - "Основная таблица. Хранятся задачи и
>>> их
>>>сроки." и TBL_RESOURCES_EI - "Единицы измерения".
>> Ну надеюсь после скриншота станет понятно =)
Нет. Мне не ясно, как может быть связана задача и единица измерения
материала. Еще можно это рассмотреть в контексте списка матриалов,
выделенных для задачи. Но это уже, по меньшей мере, 1:M.

>> А очень плохо использовать это в двух табличках ?
>> Просто хотел ограничить доступ пользователей...
Ну и ограничивайте...

>>> Есть такие страшные слова - "отчеты", "выборки", "запросы"... Без них и
>>> MSP не обходится.
>> Да я это понимаю... =)
А вот этого - пока не ощущается.
Скажу честно, не вижу никакого смысла в Вашем случае хранить агрегаты. Их
хранят отдельно только тогда, когда эти итоги очень часто используются в
качестве исходных данных при объемных расчетов.

P.S. Короче, переделывайте и нормальную схему с бизнес-описанием
выкладывайте, если хотите совет получить. Не забыв, ессно, про все
вышеуказанное.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36090331
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kirill Razuvaev
А вот этого - пока не ощущается.
Скажу честно, не вижу никакого смысла в Вашем случае хранить агрегаты. Их
хранят отдельно только тогда, когда эти итоги очень часто используются в
качестве исходных данных при объемных расчетов.

P.S. Короче, переделывайте и нормальную схему с бизнес-описанием
выкладывайте, если хотите совет получить. Не забыв, ессно, про все
вышеуказанное.


У каждой задачи есть объём работы. Этот объём измеряется в единицах измерения. Что бы не создавать лишнюю таблицу использую справочник единиц измерения материалов.

Переделывать всё полностью или только части по которым замечания ?

А можно ещё ссылочку на нормальное бизнес описание ? В интернете ничего не нашёл =(
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36090951
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> У каждой задачи есть объём работы. Этот объём измеряется в единицах
>> измерения.
>> Что бы не создавать лишнюю таблицу использую справочник единиц измерения
>> материалов.
Тогда на кой фиг в названии таблицы RESOURCES???

>> Переделывать всё полностью или только части по которым замечания ?
Дело Ваше. Я бы рекомендовал для начала разобраться с линейной частью работ,
а потом уже реализовывать дерево.

>> А можно ещё ссылочку на нормальное бизнес описание?
Что мешает просто описать словами, что где хранится, от чего зависит, на что
влияет, какие есть ограничения, что необходимо проверять?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36091035
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исправленная схема =)
Над описанием ещё работаю =)
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36091203
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Над описанием ещё работаю =)
Без него говорить не о чем...

P.S. Рекомендацию о "вменяемой" длине названий таблиц, я так понял, Вы
проигнорировали...

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36091469
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 автор
да уберите же Вы эти TBL из названий таблиц
ежу понятно что это таблицы (имхо)
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36091608
Сахават Юсифов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Связи (межпроцессные) нетипизированы. Каждый козел внесет свой тип, а прога не сможет интерпретировать.
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36091912
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бред какой то. вы бы на диаграмму положили штук 100 таблиц и разбирались бы.
Разбейте лучше на несколько диаграмм по тематике.
С ключами проблема большая у вас. Читайте что такое primary key и для чего они нужны.

Критиковать пока нечего -неправильно все.
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36092500
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serguei
С ключами проблема большая у вас. Читайте что такое primary key и для чего они нужны.


Хм странно. Очень внимательно читал тему ключей.
Вроде сделал всё правильно. Не стал использовать естественный ключ а использую суррогатный ключ.
Вроде как у естественного есть недостатки.
Что именно неправильно ?
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36093003
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg Kondratskiy
Хм странно. Очень внимательно читал тему ключей.
Вроде сделал всё правильно. Не стал использовать естественный ключ а использую суррогатный ключ.
Вроде как у естественного есть недостатки.
Что именно неправильно ?

Пардон. Небычный стиль отображения ключей, не сразу заметил (зрение видимо ослабло...) что около иконки с ключем стоит 1 и F. Мне показазалось что это все первичные ключи. Так что пост снимается :) Н

Станным кажется что тип машины связан не с машиной, а с каким то деревом.

Сложно разбираться с тем, что во первых непонятно как должно работать, а во вторых все смешано в одну большую кучу.
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36093007
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Вроде как у естественного есть недостатки.
Во-первых, недостатки есть как у естественного, так и у суррогатного.

>> Что именно неправильно ?
Напишите, наконец, словами, что и как должно работать, в процессе
написания - сами многое поймете, что и как организовать. Что-то из серии:
...Присутствует сущность "бригада", однозначно идентифицируемая атрибутом
код бригады. Связана с сущностью "типы бригад" через атрибут "код типа
бригады"...
.... Пользователь не может назначить на работы по объекту бригаду, которая не
была предвариетльно выделена на данный объект..

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36093171
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Составил схему бизнес-процессов =) ну а точнее что то приближённое =)
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36093174
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36093177
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36093181
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36093185
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36093194
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и наконец схема БД. Там только таблицы которые относятся к процессам которые я описал.
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36093489
dymka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oleg Kondratskiy,

Свои пять копеек по поводу не структуры, а именования:
1. Непоследовательны наименования ключей, то ID_<ENTITY>, то <ENTITY>_ID. Нужно что-то одно. Лично мне нравится <ENTITY>_ID: RESOURCE_ID, DEMAND_ID итп
2. Я бы убрал нафиг TBL_. Таблицы можно и без префиксов создавать.
3. Если есть семантически отличия между ключами ID_TREE в различных таблицах (т.е. это принципиально различные сущности), то и назвал бы их по-разному. Например, в таблице TBL_GRAPH_BRIGADE_TREE - GBT_ID (GB_TREE_ID итп), а в таблице TBL_BRIGADE_WORKER_TREE - BWT_ID (BW_TREE_ID итп). Потом легче будет просматривать свои запросы.
4. Наименования некоторых таблиц в единственном числе, некоторых во множественном. Опять таки лучше выбрать что-то одно.
5. Наименования полей, являющихся внешними ключами, сделал бы идентичными с именем поля первичного ключа таблицы, например: TBL_USERS: USER_POST_ID и в таблице TBL_USERS_POSTS поле ключа - USER_POST_ID. Не надо будет ломать голову и лазить каждый раз к диаграмме, чтобы вспомнить как то или иное поле называется:
select ... from users as u join user_posts as up on up.user_post_id = u.user_post_id

Ну это так - мелкие придирки. Зачастую спорные - и без всего это будет работать :)

А чтобы понять структуру нужно хорошенько въезжать в процесс. Времени мало.
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36093557
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dymkaOleg Kondratskiy,

Свои пять копеек по поводу не структуры, а именования:
1. Непоследовательны наименования ключей, то ID_<ENTITY>, то <ENTITY>_ID. Нужно что-то одно. Лично мне нравится <ENTITY>_ID: RESOURCE_ID, DEMAND_ID итп
2. Я бы убрал нафиг TBL_. Таблицы можно и без префиксов создавать.
3. Если есть семантически отличия между ключами ID_TREE в различных таблицах (т.е. это принципиально различные сущности), то и назвал бы их по-разному. Например, в таблице TBL_GRAPH_BRIGADE_TREE - GBT_ID (GB_TREE_ID итп), а в таблице TBL_BRIGADE_WORKER_TREE - BWT_ID (BW_TREE_ID итп). Потом легче будет просматривать свои запросы.
4. Наименования некоторых таблиц в единственном числе, некоторых во множественном. Опять таки лучше выбрать что-то одно.
5. Наименования полей, являющихся внешними ключами, сделал бы идентичными с именем поля первичного ключа таблицы, например: TBL_USERS: USER_POST_ID и в таблице TBL_USERS_POSTS поле ключа - USER_POST_ID. Не надо будет ломать голову и лазить каждый раз к диаграмме, чтобы вспомнить как то или иное поле называется:
select ... from users as u join user_posts as up on up.user_post_id = u.user_post_id

Ну это так - мелкие придирки. Зачастую спорные - и без всего это будет работать :)

А чтобы понять структуру нужно хорошенько въезжать в процесс. Времени мало.

1. У меня ID_<ENTITY> для primary key а <ENTITY>_ID для FK =) Как то успел уже к этому привыкнуть =)
3. Хорошие сокращения ))) Как я сразу до них не додумался ? =(
5. Вроде как относится к 1 ответу )))
спс
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36095134
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Составил схему бизнес-процессов =) ну а точнее что то приближённое =)

Вообще-то, я говорил про словесное описание...

Повторюсь, опишите, что именно должно храниться и как обрабатываться. Ваши
схемы описывают движение, а нужно описать особенности хранения с учетом
движения.


P.S. А прикладывать рисунки, аналогчиные "Материалы.jpg" по качеству вообще
считаю издевательством.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36095760
Oleg Kondratskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kirill Razuvaev
>> Составил схему бизнес-процессов =) ну а точнее что то приближённое =)

Вообще-то, я говорил про словесное описание...

Повторюсь, опишите, что именно должно храниться и как обрабатываться. Ваши
схемы описывают движение, а нужно описать особенности хранения с учетом
движения.


P.S. А прикладывать рисунки, аналогчиные "Материалы.jpg" по качеству вообще
считаю издевательством.



Сори но файлы свыше 100kb не прикрепить =(
Обработал как смог =(

Описание части учёта материалов .
Есть справочник материалов (tbl_resources) который содержит: название материала, группу материалов, единицу измерения и стоимость.
Сущность материалы - единица измерения материалов . Каждый материал должен иметь единицу измерения, которая берётся из справочника единицы измерения(tbl_resources_ei).
Аналогично устроена сущность тип материала берётся из таблицы типы материалов(tbl_resources type).
Планируется что в справочнике материалов будут храниться и обновляться практически все существующие материалы. Этот список хочу выкачивать с диска прилагаемого к журналу "Сметные цены в строительстве". Цены обновляются каждый месяц и в связи с этим необходимо и обновлять таблицу.
Есть склад(tbl_sklad) в этой таблице будут храниться материалы имеющие в наличии и их количество на базе. Сущность склад-ресурсы : На складе могут храниться материалы только из справочника. Пользователь при закупке материалов будет выбирать материал из списка и вводить кол-во которое он купил. Хочу сделать ещё одну таблицу для хранения затрат на эти ресурсы. тоесть сделать ещё одну сущность склад - затраты, один ко многим. при вводе данных по закупке пользователей будет ещё вводить сумму за купленный материал.
Таблица заявки(tbl_demand). В этой таблице будут храниться заявки с объектов на материалы. Каждая заявке имеет свой номер(number(integer)) и может содержать один или несколько материалов.// Может имеет смысл номер заявки хранить не в integer а в varchar и стоставлять номер примерно так: код объекта_дата_кол-во материалов в заявке. пример 3_17/07/2009_8 и сделать поле UNIQUE. ?
Есть таблица перемещений(tbl_moving) которая служит для хранения данных перемещений материалов.
Сущность передвижение - заявка служит для привязке премещений к заявкам. тоесть перемещать материал со склада можно только по заявке.
Сущность заявка-материалы служит для определения какой материал перемещается.
Я уже понял что сущность передвижение - объект лишняя, т.к. для определения объекта на который отправляется материал можно определить по сущности заявка- объект.

Ну как то так.
Посмотреть бы как нормальное описание выглядет .
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36095798
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oleg Kondratskiy

Описание части учёта материалов .
Есть справочник материалов (tbl_resources) который содержит: название материала, группу материалов, единицу измерения и стоимость.

Стоимость не должна быть привязана к матералу. Она может меняться. Себестоимость может расчитываться с учетом партионности закупок и продаж по фифо, лифо, среднему. Стоимость продажи - цена в прайс листе, зависящая от кучи факторов.

Сущность материалы - единица измерения материалов . Каждый материал должен иметь единицу измерения, которая берётся из справочника единицы измерения(tbl_resources_ei).
Аналогично устроена сущность тип материала берётся из таблицы типы материалов(tbl_resources type).

Материалы могут поступать на склад и отпускаться со склада разными единицами. Приняли коробку, продали штуки и т.п.

Планируется что в справочнике материалов будут храниться и обновляться практически все существующие материалы. Этот список хочу выкачивать с диска прилагаемого к журналу "Сметные цены в строительстве". Цены обновляются каждый месяц и в связи с этим необходимо и обновлять таблицу.

Есть склад(tbl_sklad) в этой таблице будут храниться материалы имеющие в наличии и их количество на базе.

Сущность склад-ресурсы : На складе могут храниться материалы только из справочника. Пользователь при закупке материалов будет выбирать материал из списка и вводить кол-во которое он купил. Хочу сделать ещё одну таблицу для хранения затрат на эти ресурсы. тоесть сделать ещё одну сущность склад - затраты, один ко многим. при вводе данных по закупке пользователей будет ещё вводить сумму за купленный материал.

Таблица заявки(tbl_demand). В этой таблице будут храниться заявки с объектов на материалы. Каждая заявке имеет свой номер(number(integer)) и может содержать один или несколько материалов.// Может имеет смысл номер заявки хранить не в integer а в varchar и стоставлять номер примерно так: код объекта_дата_кол-во материалов в заявке. пример 3_17/07/2009_8 и сделать поле UNIQUE. ?

Есть таблица перемещений(tbl_moving) которая служит для хранения данных перемещений материалов.
Сущность передвижение - заявка служит для привязке премещений к заявкам. тоесть перемещать материал со склада можно только по заявке.
Сущность заявка-материалы служит для определения какой материал перемещается.
Я уже понял что сущность передвижение - объект лишняя, т.к. для определения объекта на который отправляется материал можно определить по сущности заявка- объект.

Обычно как раз по основной таблице движений (принято-отпущено) остатки получаются как функция времени


Ну как то так.
Посмотреть бы как нормальное описание выглядет .
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36096746
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторTBL_BRIGADE - Таблица бригад рабочих
TBL_BRIGADE_WORKERS_TREE - Дерево привязки рабочих к бригадам
TBL_COUSTS - таблица затрат
TBL_GRAPH - Основная таблица. Хранятся задачи и их сроки.еще раз про названия таблиц.
оказывается есть любители TBL и за бугром..
Вот что пишет про таких Джо Селко

"Особенно глупо выглядит приставка TBL ... что еще это может быть? Вы же не ставите приставку СУЩ перед каждым написанным Вами существительным"

стр. 10 книга "Стиль программирования Джо Селко на SQL"
ISBN 5-469-01396-0 издательство "Питер"


СУЩ_Ложка, СУЩ_Вилка, СУЩ_Колбаса (эта строка моя но по Вашим правилам)
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36164952
TEMHOTA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лучше бы разделить : табличную (реляционную) структуру - от информационной :

http://flexiobjdb.narod.ru/
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36165006
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> http://flexiobjdb.narod.ru/

Забавный велосипед.
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36188714
MSSQL_USER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По поводу префиксов 'TBL_' я не согласен - нужны они:
1. Ежу конечно понятно, что это таблицы, хотя есть же еще и виды !!! префикс V_ или View_
Откройте Excel и посмотрите как удобно видеть, если есть префиксы
2. Ну и самое главное, что они группируют таблицы вместе, чтобы не тусовать с системными или другими таблицами. Когда-то в Оракле можно было иметь только одну базу и таблицы под разные задачи группировались именно префиксами, - с одной базой могут работать совершенно разные приложения

ну а мнение авторов многих книг особенно субъективно в плане любого именования.
Одним нравится одно, другим другое. Нужно видеть конкретную выгоду от именования в работе с конкретным инстументом.
Вообще автор этого топика не так уж и неопытен, имена ДЛИННЫЕ мне нравтся - все понятно - сокращение - враг понимания, есть же и альясы в запросах!!! Структура тоже ничаво так, да и применение блок-схем вполне современно и классно. Нормуль короче.
...
Рейтинг: 0 / 0
Покритикуйте структуру БД
    #36188839
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSSQL_USERПо поводу префиксов 'TBL_' я не согласен - нужны они:
1. Ежу конечно понятно, что это таблицы, хотя есть же еще и виды !!! префикс V_ или View_ и в чём их принципиальное отличие с точки зрения клиентских приложений, интересно? Как раз такие префиксы раскрывают особенности реализации, которые стоит скрыть от потребителей данных, имхо
MSSQL_USERОткройте Excel и посмотрите как удобно видеть, если есть префиксыкуда куда посмотреть, простите?
MSSQL_USER2. Ну и самое главное, что они группируют таблицы вместе, чтобы не тусовать с системными или другими таблицами. имхо, для этого стоит применять совсем другие префиксы, несущие смысловую нагрузку. Просто группировка таблиц вместе мало интересна на самом деле.
...
Рейтинг: 0 / 0
37 сообщений из 37, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Покритикуйте структуру БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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