|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Переделал ещё раз. Подскажите пожалуйста кто разбирается, с этим можно работать, нормально так оставить? Не беря пока в расчет физ. и юр. лица в одной таблице или нет. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 16:53 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Vladimir_84_, Да вполне норм, мало чем отличается от самой первоначальной, идея та же. Есть такая довольно старенькая, но весьма кошерная книга: https://www.martinfowler.com/books/ap.html (не знаю даже, выходила ли она на русском), думаю, тебе бы понравилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 18:14 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
fkthat Vladimir_84_, Да вполне норм, мало чем отличается от самой первоначальной, идея та же. Есть такая довольно старенькая, но весьма кошерная книга: https://www.martinfowler.com/books/ap.html (не знаю даже, выходила ли она на русском), думаю, тебе бы понравилась. Спасибо. Постараюсь книгу найти, с английским для чтения проблем особых нет, разберусь. Знания конечно набирать надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2020, 18:22 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Vladimir_84_ Переделал ещё раз. Подскажите пожалуйста кто разбирается, с этим можно работать, нормально так оставить? Не беря пока в расчет физ. и юр. лица в одной таблице или нет. Спасибо. На первых же же клиентах база очень себя хорошо "покажет", ибо документы первого физика будут принадлежать первому юрику или наоборот, в зависимости от того, кого первым заведут. В общем проблема в том, что в таблицу "mixClient" попадают ID физиков и юриков и они будут совпадать! PS. Как насчёт индивидуальных предпринимателей? Они и физики, и юрики одновременно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 10:13 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Stanislav P, не-не-не, не так. Общая таблица mixClients это типа родительская, она просто генерирует id-шник (автоинкремент) и хранит категрию клиента. Она первична. В зависимости от этой категории id-шник присваивается или физ. или юр. Связь типа 1:0...1. Не пересекаются никогда ключи физ и юр. Написал триггеры для проверки поля категории в mixTable, так что id-шник сам куда надо попадет =) Не знаю, есть ли варианты кроме триггера проверить это на уровне СУБД. Хотя вообще исходя из действий пользователя (какая форма заполняется) ясно в какую таблицу пойдут данные. А ИП, не знаю, как пользователь решит. Может в юр. лица. Там поле организационно-правовая форма, их много, может ИП туда вписать. Или в физика, а в поле примечаний указать, что клиент ИП. Это не столь принципиально на данном этапе, надо будет можно добавить и ИП отдельно потом. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 11:49 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Vladimir_84_ИП, не знаю, как пользователь решит. Может в юр. лица. Вот поэтому и не надо делить таблицу клиентов на две. Мне чисто любопытно: когда Вам клиент звонит, Вы начинаете спрашивать у него ИНН, ОКАТО и прочие зубодробительные числа чтобы понять кто это? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 12:54 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Вот поэтому и не надо делить таблицу клиентов на две Надо чётко формулировать сущности. И автор сделал это вполне неплохо. Dimitry Sibiryakov Мне чисто любопытно: когда Вам клиент звонит, Вы начинаете спрашивать у него ИНН, ОКАТО и прочие зубодробительные числа чтобы понять кто это? Мне чисто любопытно, Вы никогда не сталкивались с тем, что когда звонит Вася Пупкин, он может звонить как клиент-физик, а может - как должностное лицо клиента-юрика? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 13:20 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
softwarerВы никогда не сталкивались с тем, что когда звонит Вася Пупкин, он может звонить как клиент-физик, а может - как должностное лицо клиента-юрика? Ни в том ни в другом случае я не стану спрашивать у него реквизиты, только "сегодня вы сам по себе или для босса?" Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 13:31 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Ну тогда можно и дела туда же, в одну. Признак ставишь, что это, дело, или клиент и какой =) Шучу. Я неспроста разделил, потому что долго думал как лучше, а исходя из предметной области это все-таки разные сущности. Этот форум весь перерыл на этот счет, другие... Пришел к выводу, что так оно лучше и понятней, многие так делают, и у многих так сделано уже давно. И там с пеной у рта друг другу доказывали свою точку зрения, только не победил никто =) Все при своих. Ну сделал так, может переделаю, так то в одной ещё проще будет. А инн по телефону никто естественно не спрашивает, поскольку номер в телефоне забит и ясно кто звонит ) Но преуменьшать значимость ОГРН или ИНН не стоит, поскольку ещё раз - это единственные уникальные номера по которым можно однозначно установить организацию. Раз приложение помогает вести учет, то почему бы эти реквизиты не вставить, чтобы легко можно их увидеть и воспользоваться. Так допустим поищите какое-нибудь ООО "Север" на сайте арбитражного суда, чтобы информацию о его делах найти, можно долго листать в поисках нужного. А так хоп, скопировал из таблицы и вставил в поиск на сайте. Да и в договоре всегда этот номер есть. Вот звонят допустим, продиктуйте ИНН, и надо лазить куда-то в бумаги, ещё куда искать его. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 13:35 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Vladimir_84_Признак ставишь, что это, дело, или клиент и какой =) Шучу. А зря. Тоже вполне легитимная структура БД. Vladimir_84_Но преуменьшать значимость ОГРН или ИНН не стоит, поскольку ещё раз - это единственные уникальные номера по которым можно однозначно установить организацию. Ок. Когда Вы последний раз говорили секретарше "найти мне клиента с ИНН 3167973299"? Vladimir_84_Раз приложение помогает вести учет, то почему бы эти реквизиты не вставить, чтобы легко можно их увидеть и воспользоваться. По нескольким причинам: 1. Надо следить за их актуальностью и обновлять при смене у клиента (да, да, они меняются, причём в самые неожиданные моменты, включая результат Ваших собственных действий). 2. Надо объяснять каждому клиенту зачем Вы храните эту информацию и кому её передаёте (сюрприз, но именно этого требует закон о персональных данных). Vladimir_84_А так хоп, скопировал из таблицы и вставил в поиск на сайте. Да и в договоре всегда этот номер есть. Вот звонят допустим, продиктуйте ИНН, и надо лазить куда-то в бумаги, ещё куда искать его. Так Вы и создаёте свою систему как раз для того, чтобы одной кнопкой можно было найти и открыть договор. То есть звонят - ткнул кнопку - договор открылся - вся информация там как на ладони, копируй на здоровье. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 13:47 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ладно, не пойму о чем спор. Это общедоступные данные, никакая это не тайна и не персональные сведения. Зайдите на сайт egrul.nalog.ru и про любую организацию найдете информацию, и про учредителей, и про адрес. И свой ИНН можете узнать, есть официальный сервис. Эти данные не меняются. У вас когда-нибудь менялся ИНН или СНИЛС? С чего бы? Да это в любом случае проблема клиента, если он не уведомил. Я же говорю, что данные эти могут понадобиться иногда , в частности привел пример с поиском на сайте "Картотека арбитражных дел". Там дела по всей России, зачем мне лезть в договор, листать его еще в конец самый, если у меня перед глазами окно с табличкой клиентов и там, допустим, название, огрн, телефон, мэйл. Зачем вообще тогда данные нужны, можно тогда записать "Фирма Ромашка, чувак такой со смешной прической и писклявым голосом", да и нормально, сразу же понятно о чем речь... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 14:07 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Vladimir_84_У вас когда-нибудь менялся ИНН или СНИЛС? С чего бы? Ликвидация юр.лица переводом его имущества на совладельца. Да, это было лично у меня. Vladimir_84_зачем мне лезть в договор, листать его еще в конец самый, если у меня перед глазами окно с табличкой клиентов и там, допустим, название, огрн, телефон, мэйл. Чтобы наконец-то научиться составлять договоры, помещая важную информацию в начало, а воду - в конец? Или чтобы создать документ клиента произвольной формы с названием "текущие реквизиты"? Vladimir_84_Зачем вообще тогда данные нужны, можно тогда записать "Фирма Ромашка, чувак такой со смешной прической и писклявым голосом" ДА! Именно ответ на этот вопрос я и пытаюсь от вас получить. И нет, я задаю этот вопрос не от балды, он родился в результате трудного опыта разработки ИС. А для ваших двух таблиц у меня другой вопрос: поиск клиента предполагает, что Вы этого клиента не помните, включая того физик он или юрик. В какой из таблиц Вы будете его искать? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 14:28 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Я не спорю, что опыта разработки ИС у вас больше, чем у меня. У меня его вообще нет =) Я поэтому и вопрос задал, чтобы подсказали, чтобы научиться. У меня приложение однопользовательское, небольшое, не для целой юр. фирмы. В силу специфики работы адвоката, я знаю, что в год не будет там и сотни клиентов. Все дела специфичны и запоминаются, нет сложностей понять кого искать. А так окно разбито на два табличных представления, физ и юр. По кнопке ищется либо там, либо там. Ну если что два раза тыкнуть придется кнопку. Как бы вы это сделали? Планируется конечно больше функциональных возможностей в программе, это только часть фронта работ. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 15:57 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Vladimir_84_Как бы вы это сделали? Так, как, собственно, и делаю: просто каталог на диске, в нём подкаталоги для каждого клиента, где лежат документы клиента и подкаталоги дел (случаев), в которых лежат документы каждого случая. Всё. Никаких БД, никаких приложений с кнопками. Любой клиент и документ ищется и открывается одним даблкликом в проводнике или любом другом файловом менеджере. Сам каталог легко архивируется как резервная копия, сливающаяся на флэшку/внешний винт/облако/DVD. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 16:07 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ну ок, допустим так. Что касается хранения документов конечно можно так. Если я хочу всех клиентов просмотреть с какими-то реквизитами? И как узнать какому клиенту или делу принадлежит каталог (как они именуются если клиентов много), или о чем дело вообще (ну допустим иные участники дела)? Или тупо вывести статистику по категориям дел? Хочу допустим отчет по оплатам, сколько по каждому делу остаток... Информация о клиенте или деле значит все равно хранится в файле, так какая разница откуда информацию эту стянуть, или из файла или из базы... Еще хочу учет событий сделать, ну чтобы, допустим, решение суда загрузил, а приложение тебе напоминание - не забудь, через 5 дней у тебя срок на обжалование выходит и пр. Я уже вписался в разработку приложения, мне уже не сдать, я поэтому и спрашивал по структуре. Если бы сказали, что совсем все не так, ну переделывал бы. Говорю же, с БД дел вообще никогда не имел, пытаюсь разбираться. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 16:30 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Vladimir_84_Если я хочу всех клиентов просмотреть с какими-то реквизитами? Вариант а: хочешь - перехочешь. И нет, это не шутка. В моей практике не встречалось такой необходимости. Вариант б: поиск по файлам в Windows действует надёжно. Vladimir_84_И как узнать какому клиенту или делу принадлежит каталог (как они именуются если клиентов много), или о чем дело вообще (ну допустим иные участники дела)? Именно так они и именуются: "Фирма Ромашка, чувак такой со смешной прической и писклявым голосом". Этого достаточно чтобы узнать какому клиенту он принадлежит, не так ли? А для "иных участников" в деле есть специальный документ с названием "список подельников", разве нет?.. Vladimir_84_Хочу допустим отчет по оплатам, сколько по каждому делу остаток... У меня бухгалтерия велась отдельно от делопроизводства, что не мешало её экселевской табличке лежать в том же каталоге. Vladimir_84_какая разница откуда информацию эту стянуть, или из файла или из базы... В теории - никакой. Как только доходит до конкретного программирования - охренительная. Vladimir_84_чтобы, допустим, решение суда загрузил, а приложение тебе напоминание - не забудь, через 5 дней у тебя срок на обжалование выходит и пр Это задача органайзера. Гугловского/телефонного или любого другого. Vladimir_84_Я уже вписался в разработку приложения, мне уже не сдать Вписался - делай. Структура значения не имеет, её всегда можно переделать как только её косяки вылезут в виде геморроя. Главное - упорядочить мысли в голове, всё остальное приложится. Да, дзен звучит банально, но таки работает. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 17:47 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, =) Я понял вас. Так куда тогда простому прикладному программисту податься, раз все уже сделано до нас? ) Только если в науку тогда что-ли, и то если ума достаточно? ))) И хотелось то как раз сделать приложение "помощник", пусть не оптимальное, пусть кривенькое может где-то, но чтобы оттестировалось и работало. Вот, чтобы как раз без остальных программ, а в одном флаконе. Ладно, буду стараться, думать как сделать проще и лучше. В любом случае спасибо за советы и комментарии. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 18:12 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Vladimir_84_Так куда тогда простому прикладному программисту податься, раз все уже сделано до нас? ) Хех! "Знал бы прикуп - жил бы в Сочи." Я-то кормлюсь в основном с тех, кто "хотел как раз сделать приложение, пусть не оптимальное, пусть кривенькое" за то, чтобы оно "оттестировалось и работало". Ну и местами продажей тех самых "остальных программ", которые, в отличии от, уже работают прямо сейчас, а не через год. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2020, 18:26 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
В таблицу "MixClients" нужно добавить поле с наименованием клиента, по которому его будут искать. У такой схемы есть изъян - при появлении нового типа клиента (ИП) придётся менять структуру БД, добавляя новую таблицу и переписывая логику, которая определяет в какую таблицу заносить данные. Плюс добавлять новую форму, в которой будет редактироваться новый тип клиентов. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 10:07 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Stanislav P У такой схемы есть изъян Это не изъян. Stanislav P и переписывая логику, которая определяет в какую таблицу заносить данные Зачем переписывать то, что надо просто выбросить если вдруг по недоразумению вообще реализовали? Stanislav P Плюс добавлять новую форму Когда "добавление новой формы" привязывается к "добавлению новой таблицы", становится ясно, что подразумевается работа на каком-то ужасе типа древних Oracle Forms. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 10:28 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
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 - третье лицо) а дальше - после уточнения описания нюансов предметной области ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 11:39 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Stanislav P У такой схемы есть изъян - при появлении нового типа клиента (ИП) придётся менять структуру БД, добавляя новую таблицу и переписывая логику, которая определяет в какую таблицу заносить данные. Плюс добавлять новую форму, в которой будет редактироваться новый тип клиентов. А если запихать все в TPH-схему, то ничего, как будто, менять не придется. На схеме типичный TPT и его единственный изъян это возможные тормоза по производительности при чтении (чтобы выбирать целиком сущности нужны джойны). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 11:40 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
Vladimir_84_ В зависимости от этой категории id-шник присваивается или физ. или юр. Связь типа 1:0...1. Не пересекаются никогда ключи физ и юр. Написал триггеры для проверки поля категории в mixTable, так что id-шник сам куда надо попадет =) Не знаю, есть ли варианты кроме триггера проверить это на уровне СУБД. ппц, нафига на ровном месте создавать себе проблемы?? вот и разгребаешь потом говнокод Vladimir_84_ А ИП, не знаю, как пользователь решит. Может в юр. лица. Там поле организационно-правовая форма, их много, может ИП туда вписать. Или в физика, а в поле примечаний указать, что клиент ИП. Это не столь принципиально на данном этапе, надо будет можно добавить и ИП отдельно потом. о боже... нет, только не это, говнокод и шаловливые ручонки пользователей - адская смесь ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 11:54 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
17-77 о боже... нет, только не это, говнокод и шаловливые ручонки пользователей - адская смесь Говнокод это твое поле "наименование/фио". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 12:13 |
|
Помощь с проектированием БД, клиенты, документы
|
|||
---|---|---|---|
#18+
fkthat Говнокод это твое поле "наименование/фио". нет, пока что (до уточнения требований) это KISS и YAGNI вот когда в требованиях появится, например выводить инициалы физ лица в отчете - тогда надо будет думать а сейчас - это самое простое и рабочее решение, одно поле на все, и во всех формах, отчетах, поисковых запросах и вообще везде-везде - не надо городить if/else/switch тем самым уменьшается кол-во кода на ЯП, уменьшается шанс бага, уменьшается кол-во тестов и т.д. и т.п. а это в свою очередь приводит к удешевлению разработки ПО и уменьшению сроков разработки ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2020, 12:19 |
|
|
start [/forum/moderation_log.php?user_name=severe2002]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 5221ms |
total: | 5408ms |
0 / 0 |