powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильно ли так делать?
11 сообщений из 11, страница 1 из 1
Правильно ли так делать?
    #34135345
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть 3 таблицы.
1. - классификации (ID, Description)
2. - менеджеры (ID, Name, и т.д.)
3. - Классификация менеджеров

В таблице "Классификации" содержатся: классификация продукции (товарные группы, региональные группы)
с менеджерами, думаю и так, понятно, код и ФИО

и самое главное - "Классификация менеджеров" - в этой таблице содержится код менеджера и код классификации.
т.е. за менеджером закреплены группы товаров которые он должен продавать, они отражены в "Классификации менеджеров" как код_классификации и код_менеджера (если несколько товарных групп закреплено, тогда, соответственно будет несколько строк в этой таблице с разными кодами_классификации и одним кодом_менеджера) и здесь же, в этой таблице, содержится информация о региональной группе к которой прикреплен менеджер (такая запись в таблице отражена: код_классификации и код_менеджера)
скажите, такая организация в таблице правильна? Если да, то поясните, почему, и если нет, тоже желательно пояснить.
...
Рейтинг: 0 / 0
Правильно ли так делать?
    #34135479
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял-таблица Классификация менеджеров в Вашем случае состоит из 3-х полей:id манагера, id классификации товара и id региональной группы менеджера?
Если это так - я с этим бы не согласился в плане универсальности да и вообще нормализации,так как:
1.код региональной группы менеджера должен находиться на все 100 (и скорее всего там находится) в атрибутах самого менеджера и тащить его в связывающую менеджера и товар таблицу нелогично и неправильно.
2. путается сама идея: связь классификатора товара и менеджера-вспылывает какой-то классификатор менеджера - зачем то мешаются два абсолютно разных классификатора.

Если же п.1 нет,то надо заводить еще один классификатор - КЛассификатор менеджеров и делать аналогичную классификацию для менеджеров.
...
Рейтинг: 0 / 0
Правильно ли так делать?
    #34135517
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, не совсем правильно.
например.
классификации:
ID Name
1 первая товарная группа
2 вторая товарная группа
3 региональная группа №1
4 региональная группа №2

таблица менеджеры.
ID Name
1 Менеджер №1
2 Менеджер №2


таблица классификация менеджеров
IDClass IDMan (id классификации и менеджера соответственно)
1 1
2 1
4 1
===
это все означает, что за менеджером №1 закреплена продукция из 1 и 2 товарных групп, а так же, менеджер принадлежит к второй региональной группе
...
Рейтинг: 0 / 0
Правильно ли так делать?
    #34135666
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с точки зрения структуры базы все правильно,но с точки зрения сути - вы,как я и сказал сначала - смешали в одном месте 2 понятия - классификация менеджеров и классификация товаров для менеджеров. Я бы разделил все-таки эти вещи по разным таблицам (это выручит вас и в будущем с точки зрения производительности отчетов).

А классификаторы возможно и можно оставить в одной таблице (если их мало), на то они и классификаторы (главное только ввести еще одно поле - группа классификаторов,чтобы было ясно,что само значение классификатора нужно для товара, для менеджера и прочее (вводите поле "Группа классификаторов" для классификатора)).


P.S. всегда оглашайте предметную область - будет проще с оценками порядков.Если,например,вы торгуете канцелярскими товарами, то может быть стоит вообще делать отдельный классификатор (там может быть под 200000 позиций без проблем) ,а если у вас 200 позиций товарной номенклатуры - то можно и с мененжерским и со всеми остальными слить (уверен,что их будет тогда не очень много,ну 500-1000).
...
Рейтинг: 0 / 0
Правильно ли так делать?
    #34137759
ev65
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to shady

никогда не складывайте в одну таблицу разные сущности только потому, что они имеют одинаковую структуру и одинаковый набор ограничений на данный момент

обобщаться могут только сущности, которые не только имеют одинаковую структуру, но и играют одну и тоже роль в автоматизируемой бизнес-области. Этот процесс называется генерализаций. Но при этом, все равно, надо делать прогноз - не будут ли атрибуты или ограничения обобщаемых сущностей видoзменяться в ближайшем будущем.
...
Рейтинг: 0 / 0
Правильно ли так делать?
    #34137784
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> обобщаться могут только сущности, которые не только имеют одинаковую структуру,
> но и играют одну и тоже роль в автоматизируемой бизнес-области

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

А вообще с классификацией в приведенном примере все просто: один классификатор - одна структура данных. Два классификатора - две структуры.
...
Рейтинг: 0 / 0
Правильно ли так делать?
    #34138616
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ev65, guest_20040621. Я как раз, именно против такой организации, дело в том, что тот кто разрабатывает структуру, аргументирует это универсальностью с точки зрения описания. Т.е. Можно добавить новую классификацию не создавая новую таблицу. Лично я, категорически против. М.б. еще кто-то выскажется на данную тему?
...
Рейтинг: 0 / 0
Правильно ли так делать?
    #34138860
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> аргументирует это универсальностью с точки зрения описания

Универсальности здесь нет. Это обычная ошибка проектирования.
...
Рейтинг: 0 / 0
Правильно ли так делать?
    #34139595
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To guest_20040621 - хотя в тех системах,которые я видел (особенно для торговли) все классификаторы были залиты в одну таблицу. Как и следовало ожидать - на аналитических выборках все замечательно тормозило.
...
Рейтинг: 0 / 0
Правильно ли так делать?
    #34139869
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> в тех системах,которые я видел (особенно для торговли) все классификаторы были залиты
> в одну таблицу

Ошибки вообще имеют свойство быстро тиражироваться. Причем, чем смешнее ошибка, тем больше желающих ее воспроизвести. Я не могу объяснить этот феномен.
...
Рейтинг: 0 / 0
Правильно ли так делать?
    #34139945
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Главное подобрать под ошибку какой-нибудь фетишь,на который все падки и удача. Ключевые фетиши-"универсальность" (в одной таблицей можно сделать все структуры), "кросплатформенность" (один раз написали - работает на всех платформах клиент, работает на любых субд база и т.д.)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильно ли так делать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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