powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помощь с проектированием БД, клиенты, документы
25 сообщений из 103, страница 3 из 5
Помощь с проектированием БД, клиенты, документы
    #39979848
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
и во всех формах и отчетах - не надо городить if/else/switch
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979850
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
одно поле на все

Надо вообще одну таблицу с одним полем на все сделать. Еще проще будет.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979858
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел косяк сам у себя - ИНН + unique_index
физ лицо и ИП имеют одинаковый ИНН, тогда так

тип (1 - юл, 2 - фл, 3 - ИП)
ИНН
+ unique_index (тип, ИНН)
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979866
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Надо вообще одну таблицу с одним полем на все сделать. Еще проще будет.

а это уже глупости
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979885
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77это уже глупости

Нет, это всего лишь глупое утрирование уровня школоло: "меня так учили, значит это
единственно правильный путь".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979891
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

17-77это уже глупости

Нет, это всего лишь глупое утрирование уровня школоло: "меня так учили, значит это
единственно правильный путь".

Я-то как раз указал сразу три разных "правильных пути", а 17-77 уперся в один единственно с его т.з. верный.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979895
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer

а мне уже давно не смешно, двойные поля и таблицы проходят сквозь все ПО:
1. в select надо будет писать два join + where fizClient.name = @search_value OR yurClient.company = @search_value
2. с сортировкой в таблице по полю name будут проблемы
альтернатива делать два отдельных поля поиска, два отдельных столбца или вообще две отдельных формы списка физиков и юриков, а это уже вызывает вопросы удобства для пользователя

3. при построении списка для drop-down-list на формах редактирования надо будет join + union
4. в данных для отчетов надо будет join + coalesce(fizClient.name, yurClient.company)
5. в бизнес логике на ЯП надо будет if/else/switch или прикручивать паттерны (ага, ради одного поля)

на все это надо потратить уйму времени

все еще смешно?
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979899
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тестируем дно
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979904
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Я-то как раз указал сразу три разных "правильных пути", а 17-77 уперся в один единственно с его т.з. верный.

я обосновал свой выбор, есть конкретное рабочее решение, а не абстрактные размышления о плюсах и минусах наследования в БД
это решение пока что не создает лишних проблем
и ничего более сложного пока не требуется
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979905
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
все еще смешно?

Вы правы, тут скорее плакать надо. Не умеем написать view, поэтому надо везде писать coalesce и так далее в том же духе.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979915
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer,
какая разница где находится код, который все объединит?
есть вариант вообще его не писать
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979928
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вьюха не избавит от того, что придется писать две формы для создания/редактирования ФЛ/ЮЛ или применять if/else/switch, чтобы скрыть поля
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979931
MxSxHx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir_84_,

Владимир, Вам правильно подсказывают по поводу единой таблицы клиентов, ведь клиент может быть к примеру и ФЛ и ИП, даже встречалось, что одно ОГРН было у двух предприятий, одно было уже давно закрытым.
Вижу такой вариант - создайте одну общую таблицу клиентов, справочник атрибутов (это м.б. ИНН, информация по документу, месту регистрации, юрид.адрес, ОГРН, КПП, СНИЛС, дата регистрации ЮЛ, бенифициар, рез/нерез, т.е. для каждого типа клиента - гибкий набор атрибутов, подключается оператором по мере необходимости ) и таблицу, где будут хранится заполненные оператором атрибуты клиента.
Таблица для ведения дел - немер дела, далее привязываются клиенты из общей таблицы Клиентов, указывается его тип - истец/ответчик, привязываются доверенности, карточки образцов подписей, печатей и прочие основные доки.
И возможно отдельная таблица с материалами дела.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979939
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
есть конкретное рабочее решение

Отхожее место в виде ямы на улице это тоже "конкретное рабочее решение", когда про другие опции не знаешь.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979942
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
softwarer,
какая разница где находится код, который все объединит?
есть вариант вообще его не писать

Я же предложил уже вариант - одна таблица с одним большим полем. И одна форма с одним большим текстовым полем для ввода. Минимум затрат на разработку.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979945
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatодна таблица с одним большим полем.

Вообще-то с двумя, поскольку широкий список неудобен, но таки да, такой вариант тоже
уместен. И я его предлагал выше гораздо раньше.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979948
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

да сколько уже можно, все три подхода - это две таблицы/два поля, на текущем этапе это только создает проблемы, а не решает их
"знать про них" и "применять к месту" разные вещи

и мое решение с легкостью конвертируется в tph и немного труднее в tpt/tpc, если это потребуется в будущем
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979952
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
какая разница где находится код, который все объединит?

В данном случае эта разница просто показывает, что стенания про "куча лишней трудоёмкости, надо джойны в каждом комбобоксе писать" идёт исключительно от неумения пользоваться базовыми инструментами. Равно как - я вроде уже говорил - об этом же говорят высказывания о том, что количество таблиц связано с количеством форм.

Что же касается этих решений, то основная практическая разница между ними в том, что в реляционных базах хранить мух отдельно от котлет, при необходимости собирая их, заметно удобнее, чем хранить вместе, при необходимости разбирая и потом заново собирая другим нужным способом. Решение с "одной общей таблицей" хуже расширяется, поэтому при близкой трудоёмкости его имеет смысл выбирать только тогда, когда есть твёрдая уверенность в том, что постановка задачи близка к окончательной и существенных доработок не будет. В противном случае Ваша экономия на спичках обернётся выбрасыванием и полным переписыванием как наиболее рациональным методом доработки решения под новые требования.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979953
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Я же предложил уже вариант - одна таблица с одним большим полем. И одна форма с одним большим текстовым полем для ввода. Минимум затрат на разработку.

есть баланс между говнокодом, удобством и здравым смыслом - в этом решении баланс стремится к нулю

решение с единым полем наименование/фио - это не по канонам, но отсекает половину срока разработки, ты реально хочешь угробить в два раза больше времени лишь бы следовать идолу?
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979959
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
все три подхода - это две таблицы/два поля

Что за ересь. TPH - "table per hierarhy", TPC - "table per concrete type", TPT - "table per type". "В одну таблицу" из них это только TPH.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979961
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
решение с единым полем наименование/фио - это не по канонам, но отсекает половину срока разработки

У тебя создание одного дополнительного поля в БД занимает столько же времени как вся остальная разработка? Ты его что, прямо в файлах базы бинарным редактором создаешь?
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39980025
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
идёт исключительно от неумения пользоваться базовыми инструментами

мне знакомы view, но я не хочу внедрять лишний компонент, когда он только что и делает - это решает выдуманные проблемы
не забыть бы потом его доработать

softwarer
Решение с "одной общей таблицей" хуже расширяется

пожалуй да, но никто не мешает в моем решении добавить рядом еще три таблицы ЮЛ с егрюл, ИП с огрнип и ФЛ с паспортом, когда они понадобятся, и волки сыты и овцы целы. старое ломать не придеться.

fkthat
"В одну таблицу" из них это только TPH.

ну да, но этот вариант по канону подразумевает два поля - наименование для ЮЛ и фио для ФЛ, два поля - привет вьюха/if/else/switch/coalesce

fkthat
У тебя создание одного дополнительного поля в БД занимает столько же времени как вся остальная разработка? Ты его что, прямо в файлах базы бинарным редактором создаешь?

а пробрасывать его везде в приложении кто будет? пушкин?
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39980044
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77

а пробрасывать его везде в приложении кто будет? пушкин?

метаданные
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39980047
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
пожалуй да, но никто не мешает в моем решении добавить рядом еще три таблицы

Веселье в Вашем решении начнётся, как только потребуется кинуть внешний ключ на юрика или разобрать "наименование" физика отдельно на фамилию, имя и отчество.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39980048
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77

ну да, но этот вариант по канону подразумевает два поля - наименование для ЮЛ и фио для ФЛ

На самом деле три, т.к. еще нужен дискриминатор.

17-77

привет вьюха/if/else/switch/coalesce

Если на клиенте используется ОРМ, то вообще ничего не нужно - давно уже все ОРМы прекрасно мепят подтипы в РБД на наследование классов в коде.

Впрочем ладно, твоя взяла, говнокодь свой говнокод как тебе удобней, храни телефоны в полях для e-mail, а вес товара в полях для цены, все равно не мне с этим потом долбаться.
...
Рейтинг: 0 / 0
25 сообщений из 103, страница 3 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помощь с проектированием БД, клиенты, документы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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