|
|
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
michael_is_98При этом есть 2 сущности с реквизитами: - гражданин: фамилия, имя, отчество, дата рождения, пол, место рождения - документ, удостоверяющий личность (паспорт РФ, паспорт СССР, свидетельство о рождении): дата выдачи, серия, номер, кем выдан Такое ощущение, что Вы просто не желаете слушать оппонентов. Среди перечисленных Вами реквизитов гражданина нет ни одного такового. Это все перечисленны реквизиты документов конкретного гражданина, которыми он может подтвердить (или опровергнуть) некоторые факты о себе. Почему Вы считаете совет от guest_20040621 неприемлемым? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 09:42 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
Возможно, так Таблица "гражданин" код гражданина, фИО, дата рождения, пол, место рождения Таблица "документ" код документа,вид документа, серия, номер, кем выдан Таблица "адрес места жительства" код адреса, адрес Таблица "карточка" - регистрирует все события, которые произошли с гражданином код гражданина код события (выбирается из справочника) код документа (возможно NULL-значение) код адреса дата_события_породившее_карточку дата_события_породившее_следующую_карточку похоже на решение Novise. Но что-то сильно просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 10:05 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
по поводу советов от guest_20040621 хотя я и работаю в мун. конторе, я не занимаюсь бюджетом. Да и зачем подниматься здесь тему управления проектам, которые разработчики готовы решать за деньги? Неужели нельзя рассмотреть эту задачу в чистом виде, как, например, множество других задач, которые обсуждаются на форуме? Слушаю, спрашиваю, высказываю свое мнение... И готов это делать по теме, которую создал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 10:11 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
Если эту задачу делать как дипломный проект или диссертацию, то форума вполне хватит. А если это внедрять на практике, то нужна команда профи, в которой есть технологи, постановщики задачи, юристы, экономисты, программисты и .т.д. Иначе подобные эксперименты над населением закончатся походами в прокуратуру. Даже при наличие такой команды - раз в год, а то и два раза мне приходится отвечать на прокурорские запросы, а юристу посещать прокурора лично. Даже целая команда не в состоянии простчитать все выкрутасы, которые жизнь подкидывает. Лично я, в одиночку, не рискну заниматься этой задачей, несмотря на наличие нехилого опыта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 10:30 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
Вы будете очень удивлены, но системы о населении, которые используются в реальности - некачественны. Ни в УФМС, ни в ЖЭО я не видел КАЧЕСТВЕННОЙ системы (по крайней мере, в нашем городе). Везде какие-то недочеты, от которых порой становится очень жаль эту отрасль. В России есть "ИНСОФТ", который занимается отраслью персонального учета населения. Кстати,у вас в Нижнем Новгороде внедряется система персонального учета населения, поэтому у вас, возможно, ситуация получше. Скорее всего, на уровне АИС пенсионного фонда, ГАС "Выборы", АИС банков ситуация лучше, но опять же это не первоисточники персональных данных. Все, давайте, не будем поднимать праздные вопросы (не по теме). Все равно проблему регистрации населения нужно решать на ином уровне. Похоже хранить список событий по гражданину нужно примерно так, как писал Novise и чуть позже я. Если есть другие мнения - пожалуйста,высказывайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 10:43 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
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 предыдущие остаются в качестве истории. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 10:48 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
michael_is_98Вы будете очень удивлены, ... . Ни в УФМС ... Не буду. Я это всё знаю. Ежедневно с их гемороями сталкиваюсь. А разработчиков софта для Нижегородской соц.защиты я бы вообще к стенке поставил. Сидят там бабушки в платках и ничего кроме foxpro слышать не желают. Каким-то сакральным умом решили, что № лицевого счёта не может быть больше CHAR(9). А у нас после введения единой централизованной БД он NUMERIC(10, 0) т.е. int64 так они блажью визжат, что наша БД неправильная. О как! michael_is_98... ни в ЖЭО ... А вот с этим намного лучше. Этот кусок моей конторе удалось под себя забрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 11:01 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
michael_is_98 В администрации небольшого города работаю я. Стоит здесь у 27 паспортистов система на SQL Server 2000, но ошибки идут, исправить программу невозможно. Собственно на уровне БД система проработана более-менее хорошо, но клиентская часть недоработана... Есть еще требование получать события (список привел) за определенный период. А система сделать это не позволяет. Вот и нужно думать о новой системе (СУБД, язык программирования пока не определены). Если основа действующуй базы данных проработана хорошо, зачем проектировать заного? Дополнить функционал, переработать клиента... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 13:40 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
ZmeisheЕсли эту задачу делать как дипломный проект или диссертацию, то форума вполне хватит. А если это внедрять на практике, то нужна команда профи, в которой есть технологи, постановщики задачи, юристы, экономисты, программисты и .т.д. Иначе подобные эксперименты над населением закончатся походами в прокуратуру. Даже при наличие такой команды - раз в год, а то и два раза мне приходится отвечать на прокурорские запросы, а юристу посещать прокурора лично. Даже целая команда не в состоянии простчитать все выкрутасы, которые жизнь подкидывает. Лично я, в одиночку, не рискну заниматься этой задачей, несмотря на наличие нехилого опыта. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 16:20 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
Volokola michael_is_98 В администрации небольшого города работаю я. Стоит здесь у 27 паспортистов система на SQL Server 2000, но ошибки идут, исправить программу невозможно. Собственно на уровне БД система проработана более-менее хорошо, но клиентская часть недоработана... Есть еще требование получать события (список привел) за определенный период. А система сделать это не позволяет. Вот и нужно думать о новой системе (СУБД, язык программирования пока не определены). Если основа действующуй базы данных проработана хорошо, зачем проектировать заного? Дополнить функционал, переработать клиента... +2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2007, 16:21 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
совет чайника : я бы ввел поле СТАТУС гражданина 1. жив 2. умер 3. в розыске и т.д. имхо конечно же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2007, 09:32 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
ZmeisheЯ это всё знаю. Ежедневно с их гемороями сталкиваюсь. А разработчиков софта для Нижегородской соц.защиты я бы вообще к стенке поставил. Сидят там бабушки в платках и ничего кроме foxpro слышать не желают. Каким-то сакральным умом решили, что № лицевого счёта не может быть больше CHAR(9). А у нас после введения единой централизованной БД он NUMERIC(10, 0) т.е. int64 так они блажью визжат, что наша БД неправильная. О как! УСЗН - это вообще отдельная песня. даже под одним управлением, у каждой свой софт и свои правила предоставления ей цифровых данных по населению, согласно закона об оказании ком.услуг: подстраиваться приходиться под каждую. почему нет единообразных требований и ПО - спросить тоже не у кого. нет стратегии ИТ в данной сфере. ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2007, 10:41 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
Short Circuitпочему нет единообразных требований и ПО - спросить тоже не у кого. нет стратегии ИТ в данной сфере. ((( а там где есть эти "единообразные требования" и "стратегия ИТ" - от них просто блевать хочется. все что законодатель или его сателлиты пытаются регулировать или стандартизировать они делают строго через жопу, привлекая к решениям и консультациям самых тупых и бездарных "специалистов" в IT отрасли. тьма тому примеров - лучше пусть сидят себе по лавкам и в носу ковыряют чем стратегии и требования пишут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2007, 11:46 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
Konstantin~не вижу связи что у гражданина только id. и тем что пасспорт/ФИО/етц можно поменять. В вышеприведённой схеме PK составной (id,timestamp), в случае замены ФИО добавляется новая запись с тем-же id но новым timestamp (ака datetime) . Tекущая запись достается SELECTом с ... WHERE ROWNUM <=1 ODER BY timestamp, a предыдущие остаются в качестве истории. для размера бд может иметь существенное значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 21:14 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
Short CircuitУСЗН - это вообще отдельная песня. даже под одним управлением, у каждой свой софт и свои правила предоставления ей цифровых данных по населению, согласно закона об оказании ком.услуг: подстраиваться приходиться под каждую. почему нет единообразных требований и ПО - спросить тоже не у кого. нет стратегии ИТ в данной сфере. ((( +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 21:15 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
eNose Konstantin~ .... скип ... Tекущая запись достается SELECTом с ... WHERE ROWNUM <=1 ODER BY timestamp, a предыдущие остаются в качестве истории. для размера бд может иметь существенное значение В данном случае это не принципиально. на первой странице оглашено ТЗ, откуда следует что кол-во записей сотни тысяч, те в таблице будет всего 2-3 млн. записей в худшем случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2007, 22:42 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
michael_is_98 -Рождение: запись акта о рождении, сообщение о рождении ребенка -Получение паспорта: листок прибытия с данными документа, удостоверяющего личность -Прибытие: листок прибытия с данными по регистрации прибытия -Перемена ФИО: листок прибытия, запись акта перемены ФИО, запись акта о браке, запись акта о расторжении брака, внесение изменений в запись акта о рождении -Смена документа:листок прибытия -Убытие: листок убытия, сообщение об убытии -Смерть: листок убытия, запись акта о смерти Сделай всё же этот список пополняемым, а то измениться законодательство и прикажут тебе ещё чего-нибудь регистрировать. Кстати, вдруг-таки случиться обещанная агломерация - как ты в рамках своей БД представляешь себе процедуру "переселения" ангарчан в Иркутск? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2007, 08:42 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
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 места рождения сразу же сделать в клиенте возможность обновлять это дерево данными кладр в итоге получится наверно ОЧЕНЬ большая таблица, и ОЧЕНЬ геморойно будет делать клиента... и надо отдельно что-то писать для переконвертирования старой БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2007, 15:51 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
Кифирчик возможно имеет смысл сделать отдельный справочники для имён, фамилий, и отчеств.. О, только не это!!! Кифирчик в итоге получится наверно ОЧЕНЬ большая таблица, и ОЧЕНЬ геморойно будет делать клиента... и надо отдельно что-то писать для переконвертирования старой БД Вот и я говорю, возми старую базу и сделай новую морду. Только то и надо сделать несколько новых отчетов. Ну и опять же извиняйте, ежели что. Мы ж ить академиев не кончали.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2007, 20:30 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
nosorogсовет чайника : я бы ввел поле СТАТУС гражданина 1. жив 2. умер 3. в розыске и т.д. имхо конечно же... э-э-э... мдя... эт ты дал стране угля с такими статусами перечти классиков - об этом очень хорошо высказался один видный теоретик "народный лекарь богомол" при консилиуме возле постели больного Буратино... "Одно из двух: либо пациент мертв, либо он жив... если он жив, он будет жить... или не будет жить ." жив или умер это разные (as boolean) значения одного и того-же атибута, который несет очень немного практического смысла - лучше тогда зарезервировать поле под значение "дата смерти" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2007, 00:59 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
Novise Кифирчик возможно имеет смысл сделать отдельный справочники для имён, фамилий, и отчеств.. О, только не это!!! это почему? я заинтригован по идее размеры в разы будут меньше, и вся таблица кроме поля ev_date получится в числах... а комп быстрее с циферками работает нежеле с varchar.... в чём проблема? вообще зря человека пугаете, задача вполне осуществимая, даже для одного чела... вот не напрягать его пару месяцев доставать жеваную бумагу из принтеров, чтоб только прогу писал, и всё он сделает... MSSQL в самый раз... как сделает, там в бюджете по такому сказочному случаю и денежка на сервачёк хороший найдётся... автору топика, можно посоветовать, найти какой-нить подобный диплом, и по аналогии разложить свою задачу по полочкам... в процессе все вопросы отпадут ИМХО будет больше проблем в синхронизации с КЛАДР и само создание адресного реестра.... надо как-то извратиться, чтобы он отвечал нужным требованиям (например можно было хранить историю названий, или был в виде дерева) и одновременно сохранялись все ID при синхронизации с КЛАДР.... также проблема будет в конвертировании старой базы в новую... надо быть на 100% увереным в том что ошибок не будет... и сам переход на использование новой базы и клиента будет мучительным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2007, 01:29 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
proposed amendmentлучше тогда зарезервировать поле под значение "дата смерти" :) планируемая дата смерти. фактическая дата сметри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2007, 14:31 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
Сергей Васкецов proposed amendmentлучше тогда зарезервировать поле под значение "дата смерти" :) планируемая дата смерти. фактическая дата сметри. угу... веселенькие такие атрибуты :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2007, 14:32 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
А как ваша структура будет отражать факт смены пола гражданина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2007, 15:21 |
|
||
|
Проектирование БД о населении
|
|||
|---|---|---|---|
|
#18+
ERROR MESSAGEА как ваша структура будет отражать факт смены пола гражданина? если это ко мне вопрос, то: Кифирчик ... идут разные события в жизнии, например получение свидетельства о рождении, где появятся его ФИО и родители, будет указан пол - это всё атрибуты, которые будут всегда, но могут меняться ) table2(id, men_id, men_name1...3, parents, sex ....) далее указываем вид события и связанный с ним документ..... в таблице table2 появится ещё одна строка, связанная с человеком, в которой будет другое поле sex, более поздняя дата, и возможно ссылка на новый паспорт или другой документ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2007, 15:56 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34996763&tid=1544072]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 391ms |

| 0 / 0 |
