Анализ базы данных Архивный ФОНД 3 (три)

После экспорта данных из DBF файлов в реляционную Mysql я решил посмотреть на сколько хороша была организована база в Архивном Фоне №3 и пришёл в ужОс, видимо это работа какого то студента на курсаче

for t in *DBF; do dbf_dump --info --SQL $t ; done |grep "create table" | wc -l
38  - таблиц
for t in *DBF; do dbf_dump --info --SQL $t ; done |grep -v "create table" |wc -l
722 поля

И только в главное таблице 142 поля, с характерными именам KOD A10,A100,... . Но нужно отметить, что все поля, назначение, тип и размер, документированы, а то было совсем убийственно

Теперь черты отличающие школьников - однотабличная база, тоесть база в которой не используются связанные таблицы. Например

mysql> select A13 as F,count(KOD)as cnt from FOND group by F order by F;
+---------------------------------------------------------------------------------------------------------------+------+
| F                                                                                                             | cnt  |
+---------------------------------------------------------------------------------------------------------------+------+
|                                                                                                               |   18 |
| дарение                                                                                                   |   15 |
| дарение, расп. АО                                                                                     |    7 |
| депозит, расп. АО                                                                                     |    1 |
| исетчение ведомств. срока хран.                                                            |    1 |
| истеч. вед. срока хран.                                                                          |    8 |
| истеч. вед.срока хран.                                                                           |    1 |
| истеч.вед. срока хран.                                                                              |    1 |
| истечение вед. срока хран.                                                                        | 1273 |
| истечение вед. срока хран., ликв. учр. без правопреемника                           |    2 |
| истечение вед. срока хран., ликв. учр. при правопреемнике                           |    1 |
| истечение вед. срока хран., расп. АО                                                           |   35 |
| истечение вед. срока хранения                                                                                 |    1 |
| истечение ведомств. срока хран.                                                                               |    1 |
| истечение ведомственного срока хранения                                                                       |    1 |
| Ликв. учережд. без правопреемника                                                                             |    1 |
| ликв. учр. без правопреемника                                                                                 |   60 |
| ликв. учр. без правопреемника, расп. АО                                                                       |    4 |
| ликв. учр. без правоприемника                                                                                 |    1 |
| ликв. учр. при правопреемнике                                                                                 |   98 |
| ликв. учрежд. без правопреемника                                                                              |    1 |
| Ликв. учреждения без правопр.                                                                                 |    1 |
| ликв.учр.при правопреемнике                                                                                   |    1 |
| ликвид. орган.                                                                                                |    1 |
| ликвидация учреждения без правопреемника                                                      |    5 |
| Научно-технич. переработка                                                                             |    6 |
| научно-техническая обработка,
уточнение фондообразователя                                                     |    9 |
| научно-техническая обработка, уточнение фондообразователя                              |    2 |
| Научно-техническая переработка                                                                       |    3 |
| расп. АО                                                                                                      | 2692 |
| расп.АО                                                                                                       |    1 |
| Распор. АО                                                                                                    |    1 |
+---------------------------------------------------------------------------------------------------------------+------+
select A12 as F,count(KOD)as cnt from FOND group by F order by F;
+------------------------------------------------------+------+
| F                                                    | cnt  |
+------------------------------------------------------+------+
|                                                      |    1 |
| 5госуд. структ.                                      |    3 |
| 5осуд. структ.                                       |    1 |
| 7госуд. структ.                                      |    1 |
| 9госуд. структ.                                      |    1 |
| гос. структ.                                         |    3 |
| гос. структура                                       |    1 |
| гос.структ.                                          |    1 |
| гос.структуры                                        |    1 |
| госуд. структ.                                       | 3785 |
| госуд. структ., др. госархив                         |    6 |
| госуд. структ., др. фонд                             |    4 |
| госуд. структ., негос. структ.                       |    1 |
| Госуд. структур.                                     |    1 |
| госуд. структура                                     |    2 |
| госуд. структуры                                     |    1 |
| ГОУ "ГАСПИ КО"                                       |    2 |
| др. госархив                                         |  248 |
| др. госархив, др. фонд                               |    2 |
| др. фонд                                             |   52 |
| др. фонд, неучт.                                     |    5 |
| ёгосуд. структ.                                      |    1 |
| негос. структ.                                       |   64 |
| негос. структ., др. госархив                         |   40 |
| негос. структура                                     |    5 |
| негосуд. структ.                                     |    1 |
| от граждан                                           |    1 |
| част. лицо                                           |   13 |
| част. лицо, др. госархив                             |    1 |
| Частное лицо                                         |    5 |
+------------------------------------------------------+------+

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

Может кому то ещё понадобится выкладываю структуру базы данных Архивный фонд 3

Описание полей базы данных АФ3

Идёт разработка открытой альтернативы БД «Архивный Фонд»

Обсуждение структуры БД «Архивный Фонд»

Об авторе
Илья Илья

меня можно найти тут