powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помощь с проектированием БД, клиенты, документы
25 сообщений из 103, страница 2 из 5
Помощь с проектированием БД, клиенты, документы
    #39979098
Vladimir_84_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Переделал ещё раз. Подскажите пожалуйста кто разбирается, с этим можно работать, нормально так оставить? Не беря пока в расчет физ. и юр. лица в одной таблице или нет. Спасибо.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979136
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_84_,

Да вполне норм, мало чем отличается от самой первоначальной, идея та же. Есть такая довольно старенькая, но весьма кошерная книга: https://www.martinfowler.com/books/ap.html (не знаю даже, выходила ли она на русском), думаю, тебе бы понравилась.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979142
Vladimir_84_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fkthat
Vladimir_84_,

Да вполне норм, мало чем отличается от самой первоначальной, идея та же. Есть такая довольно старенькая, но весьма кошерная книга: https://www.martinfowler.com/books/ap.html (не знаю даже, выходила ли она на русском), думаю, тебе бы понравилась.

Спасибо. Постараюсь книгу найти, с английским для чтения проблем особых нет, разберусь. Знания конечно набирать надо.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979318
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir_84_
Переделал ещё раз. Подскажите пожалуйста кто разбирается, с этим можно работать, нормально так оставить? Не беря пока в расчет физ. и юр. лица в одной таблице или нет. Спасибо.

На первых же же клиентах база очень себя хорошо "покажет", ибо документы первого физика будут принадлежать первому юрику или наоборот, в зависимости от того, кого первым заведут. В общем проблема в том, что в таблицу "mixClient" попадают ID физиков и юриков и они будут совпадать!

PS. Как насчёт индивидуальных предпринимателей? Они и физики, и юрики одновременно.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979370
Vladimir_84_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav P, не-не-не, не так. Общая таблица mixClients это типа родительская, она просто генерирует id-шник (автоинкремент) и хранит категрию клиента. Она первична. В зависимости от этой категории id-шник присваивается или физ. или юр. Связь типа 1:0...1. Не пересекаются никогда ключи физ и юр. Написал триггеры для проверки поля категории в mixTable, так что id-шник сам куда надо попадет =) Не знаю, есть ли варианты кроме триггера проверить это на уровне СУБД. Хотя вообще исходя из действий пользователя (какая форма заполняется) ясно в какую таблицу пойдут данные.
А ИП, не знаю, как пользователь решит. Может в юр. лица. Там поле организационно-правовая форма, их много, может ИП туда вписать. Или в физика, а в поле примечаний указать, что клиент ИП. Это не столь принципиально на данном этапе, надо будет можно добавить и ИП отдельно потом.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979413
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_84_ИП, не знаю, как пользователь решит. Может в юр. лица.

Вот поэтому и не надо делить таблицу клиентов на две.

Мне чисто любопытно: когда Вам клиент звонит, Вы начинаете спрашивать у него ИНН, ОКАТО и
прочие зубодробительные числа чтобы понять кто это?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979439
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Вот поэтому и не надо делить таблицу клиентов на две

Надо чётко формулировать сущности. И автор сделал это вполне неплохо.

Dimitry Sibiryakov
Мне чисто любопытно: когда Вам клиент звонит, Вы начинаете спрашивать у него ИНН, ОКАТО и прочие зубодробительные числа чтобы понять кто это?

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

Ни в том ни в другом случае я не стану спрашивать у него реквизиты, только "сегодня вы сам
по себе или для босса?"
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979448
Vladimir_84_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, Ну тогда можно и дела туда же, в одну. Признак ставишь, что это, дело, или клиент и какой =) Шучу. Я неспроста разделил, потому что долго думал как лучше, а исходя из предметной области это все-таки разные сущности. Этот форум весь перерыл на этот счет, другие... Пришел к выводу, что так оно лучше и понятней, многие так делают, и у многих так сделано уже давно. И там с пеной у рта друг другу доказывали свою точку зрения, только не победил никто =) Все при своих. Ну сделал так, может переделаю, так то в одной ещё проще будет. А инн по телефону никто естественно не спрашивает, поскольку номер в телефоне забит и ясно кто звонит ) Но преуменьшать значимость ОГРН или ИНН не стоит, поскольку ещё раз - это единственные уникальные номера по которым можно однозначно установить организацию. Раз приложение помогает вести учет, то почему бы эти реквизиты не вставить, чтобы легко можно их увидеть и воспользоваться. Так допустим поищите какое-нибудь ООО "Север" на сайте арбитражного суда, чтобы информацию о его делах найти, можно долго листать в поисках нужного. А так хоп, скопировал из таблицы и вставил в поиск на сайте. Да и в договоре всегда этот номер есть. Вот звонят допустим, продиктуйте ИНН, и надо лазить куда-то в бумаги, ещё куда искать его.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979456
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_84_Признак ставишь, что это, дело, или клиент и какой =) Шучу.

А зря. Тоже вполне легитимная структура БД.

Vladimir_84_Но преуменьшать значимость ОГРН или ИНН не стоит, поскольку ещё раз - это единственные
уникальные номера по которым можно однозначно установить организацию.

Ок. Когда Вы последний раз говорили секретарше "найти мне клиента с ИНН 3167973299"?

Vladimir_84_Раз приложение помогает вести учет, то почему бы эти реквизиты не вставить, чтобы легко
можно их увидеть и воспользоваться.

По нескольким причинам:
1. Надо следить за их актуальностью и обновлять при смене у клиента (да, да, они меняются,
причём в самые неожиданные моменты, включая результат Ваших собственных действий).
2. Надо объяснять каждому клиенту зачем Вы храните эту информацию и кому её передаёте
(сюрприз, но именно этого требует закон о персональных данных).

Vladimir_84_А так хоп, скопировал из таблицы и вставил в поиск на сайте. Да и в договоре всегда этот
номер есть. Вот звонят допустим, продиктуйте ИНН, и надо лазить куда-то в бумаги, ещё куда
искать его.

Так Вы и создаёте свою систему как раз для того, чтобы одной кнопкой можно было найти и
открыть договор. То есть звонят - ткнул кнопку - договор открылся - вся информация там как
на ладони, копируй на здоровье.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979469
Vladimir_84_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, ладно, не пойму о чем спор.
Это общедоступные данные, никакая это не тайна и не персональные сведения. Зайдите на сайт egrul.nalog.ru и про любую организацию найдете информацию, и про учредителей, и про адрес. И свой ИНН можете узнать, есть официальный сервис. Эти данные не меняются. У вас когда-нибудь менялся ИНН или СНИЛС? С чего бы? Да это в любом случае проблема клиента, если он не уведомил. Я же говорю, что данные эти могут понадобиться иногда , в частности привел пример с поиском на сайте "Картотека арбитражных дел". Там дела по всей России, зачем мне лезть в договор, листать его еще в конец самый, если у меня перед глазами окно с табличкой клиентов и там, допустим, название, огрн, телефон, мэйл. Зачем вообще тогда данные нужны, можно тогда записать "Фирма Ромашка, чувак такой со смешной прической и писклявым голосом", да и нормально, сразу же понятно о чем речь...
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979480
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_84_У вас когда-нибудь менялся ИНН или СНИЛС? С чего бы?

Ликвидация юр.лица переводом его имущества на совладельца. Да, это было лично у меня.

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

Чтобы наконец-то научиться составлять договоры, помещая важную информацию в начало, а воду
- в конец? Или чтобы создать документ клиента произвольной формы с названием "текущие
реквизиты"?

Vladimir_84_Зачем вообще тогда данные нужны, можно тогда записать "Фирма Ромашка, чувак такой со
смешной прической и писклявым голосом"

ДА! Именно ответ на этот вопрос я и пытаюсь от вас получить.

И нет, я задаю этот вопрос не от балды, он родился в результате трудного опыта разработки ИС.

А для ваших двух таблиц у меня другой вопрос: поиск клиента предполагает, что Вы этого
клиента не помните, включая того физик он или юрик. В какой из таблиц Вы будете его искать?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979525
Vladimir_84_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, Я не спорю, что опыта разработки ИС у вас больше, чем у меня. У меня его вообще нет =) Я поэтому и вопрос задал, чтобы подсказали, чтобы научиться. У меня приложение однопользовательское, небольшое, не для целой юр. фирмы. В силу специфики работы адвоката, я знаю, что в год не будет там и сотни клиентов. Все дела специфичны и запоминаются, нет сложностей понять кого искать. А так окно разбито на два табличных представления, физ и юр. По кнопке ищется либо там, либо там. Ну если что два раза тыкнуть придется кнопку. Как бы вы это сделали? Планируется конечно больше функциональных возможностей в программе, это только часть фронта работ.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979530
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_84_Как бы вы это сделали?

Так, как, собственно, и делаю: просто каталог на диске, в нём подкаталоги для каждого
клиента, где лежат документы клиента и подкаталоги дел (случаев), в которых лежат
документы каждого случая. Всё. Никаких БД, никаких приложений с кнопками. Любой клиент и
документ ищется и открывается одним даблкликом в проводнике или любом другом файловом
менеджере. Сам каталог легко архивируется как резервная копия, сливающаяся на
флэшку/внешний винт/облако/DVD.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979547
Vladimir_84_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, ну ок, допустим так. Что касается хранения документов конечно можно так. Если я хочу всех клиентов просмотреть с какими-то реквизитами? И как узнать какому клиенту или делу принадлежит каталог (как они именуются если клиентов много), или о чем дело вообще (ну допустим иные участники дела)? Или тупо вывести статистику по категориям дел? Хочу допустим отчет по оплатам, сколько по каждому делу остаток... Информация о клиенте или деле значит все равно хранится в файле, так какая разница откуда информацию эту стянуть, или из файла или из базы... Еще хочу учет событий сделать, ну чтобы, допустим, решение суда загрузил, а приложение тебе напоминание - не забудь, через 5 дней у тебя срок на обжалование выходит и пр. Я уже вписался в разработку приложения, мне уже не сдать, я поэтому и спрашивал по структуре. Если бы сказали, что совсем все не так, ну переделывал бы. Говорю же, с БД дел вообще никогда не имел, пытаюсь разбираться.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979576
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_84_Если я хочу всех клиентов просмотреть с какими-то реквизитами?

Вариант а: хочешь - перехочешь. И нет, это не шутка. В моей практике не встречалось такой
необходимости.
Вариант б: поиск по файлам в Windows действует надёжно.

Vladimir_84_И как узнать какому клиенту или делу принадлежит каталог (как они именуются если клиентов
много), или о чем дело вообще (ну допустим иные участники дела)?

Именно так они и именуются: "Фирма Ромашка, чувак такой со смешной прической и писклявым
голосом". Этого достаточно чтобы узнать какому клиенту он принадлежит, не так ли?
А для "иных участников" в деле есть специальный документ с названием "список подельников",
разве нет?..

Vladimir_84_Хочу допустим отчет по оплатам, сколько по каждому делу остаток...

У меня бухгалтерия велась отдельно от делопроизводства, что не мешало её экселевской
табличке лежать в том же каталоге.

Vladimir_84_какая разница откуда информацию эту стянуть, или из файла или из базы...

В теории - никакой. Как только доходит до конкретного программирования - охренительная.

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

Это задача органайзера. Гугловского/телефонного или любого другого.

Vladimir_84_Я уже вписался в разработку приложения, мне уже не сдать

Вписался - делай. Структура значения не имеет, её всегда можно переделать как только её
косяки вылезут в виде геморроя.

Главное - упорядочить мысли в голове, всё остальное приложится. Да, дзен звучит банально,
но таки работает.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979594
Vladimir_84_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, =) Я понял вас. Так куда тогда простому прикладному программисту податься, раз все уже сделано до нас? ) Только если в науку тогда что-ли, и то если ума достаточно? )))
И хотелось то как раз сделать приложение "помощник", пусть не оптимальное, пусть кривенькое может где-то, но чтобы оттестировалось и работало. Вот, чтобы как раз без остальных программ, а в одном флаконе. Ладно, буду стараться, думать как сделать проще и лучше. В любом случае спасибо за советы и комментарии.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979599
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_84_Так куда тогда простому прикладному программисту податься, раз все уже сделано до нас? )

Хех! "Знал бы прикуп - жил бы в Сочи."

Я-то кормлюсь в основном с тех, кто "хотел как раз сделать приложение, пусть не
оптимальное, пусть кривенькое" за то, чтобы оно "оттестировалось и работало". Ну и местами
продажей тех самых "остальных программ", которые, в отличии от, уже работают прямо сейчас,
а не через год.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979756
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таблицу "MixClients" нужно добавить поле с наименованием клиента, по которому его будут искать.
У такой схемы есть изъян - при появлении нового типа клиента (ИП) придётся менять структуру БД, добавляя новую таблицу и переписывая логику, которая определяет в какую таблицу заносить данные. Плюс добавлять новую форму, в которой будет редактироваться новый тип клиентов.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979768
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P
У такой схемы есть изъян

Это не изъян.

Stanislav P
и переписывая логику, которая определяет в какую таблицу заносить данные

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

Stanislav P
Плюс добавлять новую форму

Когда "добавление новой формы" привязывается к "добавлению новой таблицы", становится ясно, что подразумевается работа на каком-то ужасе типа древних Oracle Forms.
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979817
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_84_
Переделал ещё раз. Подскажите пожалуйста кто разбирается, с этим можно работать, нормально так оставить?

все хрень, для начала так

таблица contacts
id PK
тип (1 - юл, 2 - фл, 3 - ИП)
ИНН + unique_index
наименование/фио

таблица cases
id PK
номер + unique_index
описание

таблица documents
id PK
id_contact (FK)
id_case (FK)
тип (1 - текст, 2 - видео, 3 - аудио)
описание
путь к файлу

таблица case_participants
id_case PK (FK)
id_contact PK (FK)
type (1 - истец, 2 - ответчик, 3 - третье лицо)

а дальше - после уточнения описания нюансов предметной области
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979820
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P
У такой схемы есть изъян - при появлении нового типа клиента (ИП) придётся менять структуру БД, добавляя новую таблицу и переписывая логику, которая определяет в какую таблицу заносить данные. Плюс добавлять новую форму, в которой будет редактироваться новый тип клиентов.

А если запихать все в TPH-схему, то ничего, как будто, менять не придется. На схеме типичный TPT и его единственный изъян это возможные тормоза по производительности при чтении (чтобы выбирать целиком сущности нужны джойны).
...
Рейтинг: 0 / 0
Помощь с проектированием БД, клиенты, документы
    #39979830
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir_84_
В зависимости от этой категории id-шник присваивается или физ. или юр. Связь типа 1:0...1. Не пересекаются никогда ключи физ и юр. Написал триггеры для проверки поля категории в mixTable, так что id-шник сам куда надо попадет =) Не знаю, есть ли варианты кроме триггера проверить это на уровне СУБД.

ппц, нафига на ровном месте создавать себе проблемы?? вот и разгребаешь потом говнокод

Vladimir_84_
А ИП, не знаю, как пользователь решит. Может в юр. лица. Там поле организационно-правовая форма, их много, может ИП туда вписать. Или в физика, а в поле примечаний указать, что клиент ИП. Это не столь принципиально на данном этапе, надо будет можно добавить и ИП отдельно потом.

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

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

нет, пока что (до уточнения требований) это KISS и YAGNI

вот когда в требованиях появится, например выводить инициалы физ лица в отчете - тогда надо будет думать
а сейчас - это самое простое и рабочее решение, одно поле на все, и во всех формах, отчетах, поисковых запросах и вообще везде-везде - не надо городить if/else/switch

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


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