powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД о населении
25 сообщений из 111, страница 2 из 5
Проектирование БД о населении
    #34983969
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael_is_98При этом есть 2 сущности с реквизитами:
- гражданин: фамилия, имя, отчество, дата рождения, пол, место рождения
- документ, удостоверяющий личность (паспорт РФ, паспорт СССР, свидетельство о рождении):
дата выдачи, серия, номер, кем выдан
Такое ощущение, что Вы просто не желаете слушать оппонентов.
Среди перечисленных Вами реквизитов гражданина нет ни одного такового. Это все перечисленны реквизиты документов конкретного гражданина, которыми он может подтвердить (или опровергнуть) некоторые факты о себе.
Почему Вы считаете совет от guest_20040621 неприемлемым?
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34984027
michael_is_98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, так

Таблица "гражданин"
код гражданина, фИО, дата рождения, пол, место рождения

Таблица "документ"
код документа,вид документа, серия, номер, кем выдан

Таблица "адрес места жительства"
код адреса, адрес

Таблица "карточка" - регистрирует все события, которые произошли с гражданином
код гражданина
код события (выбирается из справочника)
код документа (возможно NULL-значение)
код адреса
дата_события_породившее_карточку
дата_события_породившее_следующую_карточку

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

Слушаю, спрашиваю, высказываю свое мнение...
И готов это делать по теме, которую создал...
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34984101
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если эту задачу делать как дипломный проект или диссертацию, то форума вполне хватит.
А если это внедрять на практике, то нужна команда профи, в которой есть технологи, постановщики задачи, юристы, экономисты, программисты и .т.д.
Иначе подобные эксперименты над населением закончатся походами в прокуратуру.
Даже при наличие такой команды - раз в год, а то и два раза мне приходится отвечать на прокурорские запросы, а юристу посещать прокурора лично.
Даже целая команда не в состоянии простчитать все выкрутасы, которые жизнь подкидывает.
Лично я, в одиночку, не рискну заниматься этой задачей, несмотря на наличие нехилого опыта.
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34984130
michael_is_98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы будете очень удивлены, но системы о населении, которые используются в реальности - некачественны. Ни в УФМС, ни в ЖЭО я не видел КАЧЕСТВЕННОЙ системы (по крайней мере, в нашем городе). Везде какие-то недочеты, от которых порой становится очень жаль эту отрасль.
В России есть "ИНСОФТ", который занимается отраслью персонального учета населения.
Кстати,у вас в Нижнем Новгороде внедряется система персонального учета населения, поэтому у вас, возможно, ситуация получше.

Скорее всего, на уровне АИС пенсионного фонда, ГАС "Выборы", АИС банков ситуация лучше, но опять же это не первоисточники персональных данных.

Все, давайте, не будем поднимать праздные вопросы (не по теме). Все равно проблему регистрации населения нужно решать на ином уровне.

Похоже хранить список событий по гражданину нужно примерно так, как писал Novise и чуть позже я. Если есть другие мнения - пожалуйста,высказывайте
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34984148
Konstantin~
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose Konstantin~наверно имеет смысл хранить данные в двух таблицах, позволяющие только SELECT и INSERT:

гражданин (
(id,timestamp), -- PK
документ, -- FK (документ.id)
имя,
фамилия ,
дата_рождения,
дата_смерти,
...
кто_менял_запись
) паспорт можно поменять. вместе в ФИО/полом/др (если найдется ошибка в записях загса) и т.п.

так что у гражданина только id. остальное - в истории этого гражданина.

не вижу связи что у гражданина только id. и тем что пасспорт/ФИО/етц можно поменять. В вышеприведённой схеме PK составной (id,timestamp), в случае замены ФИО добавляется новая запись с тем-же id но новым timestamp (ака datetime) .

Tекущая запись достается SELECTом с ... WHERE ROWNUM <=1 ODER BY timestamp, a предыдущие остаются в качестве истории.
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34984206
Фотография Zmeishe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael_is_98Вы будете очень удивлены, ... . Ни в УФМС ...
Не буду. Я это всё знаю. Ежедневно с их гемороями сталкиваюсь. А разработчиков софта для Нижегородской соц.защиты я бы вообще к стенке поставил.
Сидят там бабушки в платках и ничего кроме foxpro слышать не желают. Каким-то сакральным умом решили, что № лицевого счёта не может быть больше CHAR(9). А у нас после введения единой централизованной БД он NUMERIC(10, 0) т.е. int64 так они блажью визжат, что наша БД неправильная. О как!

michael_is_98... ни в ЖЭО ...
А вот с этим намного лучше. Этот кусок моей конторе удалось под себя забрать.
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34984947
Volokola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
michael_is_98
В администрации небольшого города работаю я. Стоит здесь у 27 паспортистов система на SQL Server 2000, но ошибки идут, исправить программу невозможно. Собственно на уровне БД система проработана более-менее хорошо, но клиентская часть недоработана...
Есть еще требование получать события (список привел) за определенный период. А система сделать это не позволяет. Вот и нужно думать о новой системе (СУБД, язык программирования пока не определены).
Если основа действующуй базы данных проработана хорошо, зачем проектировать заного?
Дополнить функционал, переработать клиента...
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34985645
novise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZmeisheЕсли эту задачу делать как дипломный проект или диссертацию, то форума вполне хватит.
А если это внедрять на практике, то нужна команда профи, в которой есть технологи, постановщики задачи, юристы, экономисты, программисты и .т.д.
Иначе подобные эксперименты над населением закончатся походами в прокуратуру.
Даже при наличие такой команды - раз в год, а то и два раза мне приходится отвечать на прокурорские запросы, а юристу посещать прокурора лично.
Даже целая команда не в состоянии простчитать все выкрутасы, которые жизнь подкидывает.
Лично я, в одиночку, не рискну заниматься этой задачей, несмотря на наличие нехилого опыта.
+1
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34985652
novise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volokola michael_is_98
В администрации небольшого города работаю я. Стоит здесь у 27 паспортистов система на SQL Server 2000, но ошибки идут, исправить программу невозможно. Собственно на уровне БД система проработана более-менее хорошо, но клиентская часть недоработана...
Есть еще требование получать события (список привел) за определенный период. А система сделать это не позволяет. Вот и нужно думать о новой системе (СУБД, язык программирования пока не определены).
Если основа действующуй базы данных проработана хорошо, зачем проектировать заного?
Дополнить функционал, переработать клиента...
+2
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34986922
Nosorog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
совет чайника :
я бы ввел поле СТАТУС гражданина
1. жив
2. умер
3. в розыске
и т.д.
имхо конечно же...
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34987149
Фотография Short Circuit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZmeisheЯ это всё знаю. Ежедневно с их гемороями сталкиваюсь. А разработчиков софта для Нижегородской соц.защиты я бы вообще к стенке поставил.
Сидят там бабушки в платках и ничего кроме foxpro слышать не желают. Каким-то сакральным умом решили, что № лицевого счёта не может быть больше CHAR(9). А у нас после введения единой централизованной БД он NUMERIC(10, 0) т.е. int64 так они блажью визжат, что наша БД неправильная. О как!
УСЗН - это вообще отдельная песня. даже под одним управлением, у каждой свой софт и свои правила предоставления ей цифровых данных по населению, согласно закона об оказании ком.услуг: подстраиваться приходиться под каждую.
почему нет единообразных требований и ПО - спросить тоже не у кого.
нет стратегии ИТ в данной сфере. (((
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34987516
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Short Circuitпочему нет единообразных требований и ПО - спросить тоже не у кого.
нет стратегии ИТ в данной сфере. (((

а там где есть эти "единообразные требования" и "стратегия ИТ" - от них просто блевать хочется.

все что законодатель или его сателлиты пытаются регулировать или стандартизировать они делают строго через жопу,

привлекая к решениям и консультациям самых тупых и бездарных "специалистов" в IT отрасли.

тьма тому примеров -
лучше пусть сидят себе по лавкам и в носу ковыряют чем стратегии и требования пишут
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34992719
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Konstantin~не вижу связи что у гражданина только id. и тем что пасспорт/ФИО/етц можно поменять. В вышеприведённой схеме PK составной (id,timestamp), в случае замены ФИО добавляется новая запись с тем-же id но новым timestamp (ака datetime) .

Tекущая запись достается SELECTом с ... WHERE ROWNUM <=1 ODER BY timestamp, a предыдущие остаются в качестве истории. для размера бд может иметь существенное значение
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34992722
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Short CircuitУСЗН - это вообще отдельная песня. даже под одним управлением, у каждой свой софт и свои правила предоставления ей цифровых данных по населению, согласно закона об оказании ком.услуг: подстраиваться приходиться под каждую.
почему нет единообразных требований и ПО - спросить тоже не у кого.
нет стратегии ИТ в данной сфере. ((( +1
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34992823
Konstantin~
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose Konstantin~
.... скип ...
Tекущая запись достается SELECTом с ... WHERE ROWNUM <=1 ODER BY timestamp, a предыдущие остаются в качестве истории. для размера бд может иметь существенное значение

В данном случае это не принципиально.
на первой странице оглашено ТЗ, откуда следует что кол-во записей сотни тысяч, те в таблице будет
всего 2-3 млн. записей в худшем случае.
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34993089
AsPiro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael_is_98
-Рождение: запись акта о рождении, сообщение о рождении ребенка
-Получение паспорта: листок прибытия с данными документа, удостоверяющего личность
-Прибытие: листок прибытия с данными по регистрации прибытия
-Перемена ФИО: листок прибытия, запись акта перемены ФИО, запись акта о браке, запись акта о расторжении брака, внесение изменений в запись акта о рождении
-Смена документа:листок прибытия
-Убытие: листок убытия, сообщение об убытии
-Смерть: листок убытия, запись акта о смерти
Сделай всё же этот список пополняемым, а то измениться законодательство и прикажут тебе ещё чего-нибудь регистрировать.

Кстати, вдруг-таки случиться обещанная агломерация - как ты в рамках своей БД представляешь себе процедуру "переселения" ангарчан в Иркутск?
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34996490
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. у человека, из атрибутов, не могут меняться наверно только дата рождения, и место рождения
следовательно table1(men_id, men_birth_date)
2. далее... идут разные события в жизнии, например получение свидетельства о рождении, где появятся его ФИО и родители, будет указан пол - это всё атрибуты, которые будут всегда, но могут меняться)
table2(id, men_id, men_name1...3, parents, sex....)
далее указываем вид события и связанный с ним документ
table2( ... event_id,event_date, doc_type,doc_id)
и как говорили выше справочник событий (events) и связаных с ними документов обязательно дополняемый.
ещё будут таблицы с видами документов, сами документами (по doc_type - что за документ, по doc_id - данные документа из соотв. таблицы)

получается, что для каждого человека будет одна запись в таблице table1
и несколько в table2
для просмотра текущей информации, делается view, где отображается последнее "событие", можно ещё для "определённого" документа

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

плюс - хранится вся история о людях и их документах

возможно имеет смысл сделать отдельный справочники для имён, фамилий, и отчеств..
parents - ссылаться на table.men_id...

по адресам, если могут меняться и названия, то думаю надо делать дерево, с возможностью хранения истории (примерно как показано выше) ... и в table2 указывать ID места рождения
сразу же сделать в клиенте возможность обновлять это дерево данными кладр

в итоге получится наверно ОЧЕНЬ большая таблица, и ОЧЕНЬ геморойно будет делать клиента... и надо отдельно что-то писать для переконвертирования старой БД
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34996763
novise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кифирчик
возможно имеет смысл сделать отдельный справочники для имён, фамилий, и отчеств..

О, только не это!!!
Кифирчик
в итоге получится наверно ОЧЕНЬ большая таблица, и ОЧЕНЬ геморойно будет делать клиента... и надо отдельно что-то писать для переконвертирования старой БД
Вот и я говорю, возми старую базу и сделай новую морду. Только то и надо сделать несколько новых отчетов.
Ну и опять же извиняйте, ежели что. Мы ж ить академиев не кончали..
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34997005
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosorogсовет чайника :
я бы ввел поле СТАТУС гражданина
1. жив
2. умер
3. в розыске
и т.д.
имхо конечно же...


э-э-э... мдя... эт ты дал стране угля с такими статусами

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

"Одно из двух: либо пациент мертв, либо он жив... если он жив, он будет жить... или не будет жить ."

жив или умер это разные (as boolean) значения одного и того-же атибута, который несет очень немного практического смысла - лучше тогда зарезервировать поле под значение "дата смерти"
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34997015
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Novise Кифирчик
возможно имеет смысл сделать отдельный справочники для имён, фамилий, и отчеств..

О, только не это!!!
это почему? я заинтригован
по идее размеры в разы будут меньше, и вся таблица кроме поля ev_date получится в числах...
а комп быстрее с циферками работает нежеле с varchar.... в чём проблема?

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

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

ИМХО будет больше проблем в синхронизации с КЛАДР и само создание адресного реестра....
надо как-то извратиться, чтобы он отвечал нужным требованиям (например можно было хранить историю названий, или был в виде дерева) и одновременно сохранялись все ID при синхронизации с КЛАДР....
также проблема будет в конвертировании старой базы в новую... надо быть на 100% увереным в том что ошибок не будет... и сам переход на использование новой базы и клиента будет мучительным
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34998306
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proposed amendmentлучше тогда зарезервировать поле под значение "дата смерти"
:)
планируемая дата смерти.
фактическая дата сметри.
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34998311
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Васкецов proposed amendmentлучше тогда зарезервировать поле под значение "дата смерти"
:)
планируемая дата смерти.
фактическая дата сметри.

угу... веселенькие такие атрибуты :)
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34998492
ERROR MESSAGE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как ваша структура будет отражать факт смены пола гражданина?
...
Рейтинг: 0 / 0
Проектирование БД о населении
    #34998675
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ERROR MESSAGEА как ваша структура будет отражать факт смены пола гражданина?
если это ко мне вопрос, то:
Кифирчик
... идут разные события в жизнии, например получение свидетельства о рождении, где появятся его ФИО и родители, будет указан пол - это всё атрибуты, которые будут всегда, но могут меняться )
table2(id, men_id, men_name1...3, parents, sex ....)
далее указываем вид события и связанный с ним документ.....

в таблице table2 появится ещё одна строка, связанная с человеком, в которой будет другое поле sex, более поздняя дата, и возможно ссылка на новый паспорт или другой документ
...
Рейтинг: 0 / 0
25 сообщений из 111, страница 2 из 5
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД о населении
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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