КЛАДР
Сочетание КЛАДР означает сокращение от «классификатор адресов».
Первичные источники: КЛАДР (проверено июль 2021, действует версия 4.0 до 31.12.2019) и ФИАС.
По всей вероятности обсуждаться будет только последняя, так как именно она определена в качестве действующей федеральной законодательно.
Обсуждены таблицы по состоянию на 05.05.2014.
Обозначения: Таблица ИМЯ ФАЙЛА (смысл содержания таблицы) [число записей] {размер файла, байт}
Таблица KLADR.DBF (населенные пункты) [216816] {19 513 730}
Наименование | Поле | Примечание | Комментарий |
NAME | C(40) | Наименование объекта | Из 119 названий, около половины не поместились в 40 знаков |
SOCR | C(10) | Сокращение типа | 10 символов занимают такие, как "автодорога" или "ж/д_казарм" |
CODE | C(13) | Ключ (ID объекта) | СС РРР ГГГ ППП АА: субъект РФ, район, город, пункт, актуальность [“00” — актуальный объект] |
INDEX | C(6) | Почтовый индекс | 5824 записи не имеют значения |
GNINMB | C(4) | Код ИФНС (ГНИ) | |
UNO | C(4) | Код территориального участка ИФНС | |
OCATD | C(11) | Общероссийский классификатор объектов административно-территориального деления (ОКАТД) | 1431 запись не имеет значения |
STATUS | C(1) | "Статус объекта" (признак центра) | Цифра от 0 до 4 |
Примечания:
Перевод типа ключа в Integer потребовал бы 6 байтов для поля, что имеется далеко не во всех СУБД (нестандарт).
Поскольку коды цифровые, ГГГ означает 1000 городов. То есть описание подчиняется жесточайшей иерархии.
Актуальность в коде означает принципиальную невозможность его использования для долговременного хранения (может в любой момент исчезнуть, став неактуальным).
Индекс, с учетом числового формата должен иметь тип Integer(3) с точки зрения объема хранения.
Таблица ALTNAMES.DBF (справочник измененных кодов) [44735] {1 789 530}
Наименование | Поле | Примечание | Комментарий |
OLDCODE | C(19) | Старый код | |
NEWCODE | C(19) | Новый код | |
LEVEL | C(1) | Преобладают 4, 5 |
Таблица DOMA.DBF () [2 158 931] {226 688 045}
Наименование | Поле | Примечание | Комментарий |
NAME | C(40) | Тупые перечни номеров через запятую | |
KORP | C(10) | Везде пустое | |
SOCR | C(10) | Везде "ДОМ" | |
CODE | C(19) | Ключ | |
INDEX | C(6) | ||
GNINMB | C(4) | ГНИ | |
UNO | C(4) | Почти пусто | |
OCATD | C(11) | ОКАТД |
Таблица SOCRBASE.DBF (сокращения для всего) [165] {8082}
Наименование | Поле | Примечание | Комментарий |
LEVEL | C(5) | Цифры от 1 до 5 | |
SCNAME | C(10) | Сокращение | |
SOCRNAME | C(29) | Полное название | |
KOD_T_ST | C(3) | Трехзначное число |
Таблица STREET.DBF (улицы) [1 024 221] {95 252 811}
Наименование | Поле | Примечание | Комментарий |
NAME | C(40) | Название | Длина недостаточна |
SOCR | C(10) | Сокращение вида | ул, пер... |
CODE | C(17) | Ключ | |
INDEX | C(6) | ||
GNINMB | C(4) | ГНИ | |
UNO | C(4) | ||
OCATD | C(11) |
Таблица FLAT.DBF (квартиры, не используется) [0] {225}
Наименование | Поле | Примечание | Комментарий |
NAME | C(20) | Номер, наверно | |
CODE | C(23) | Ключ | |
INDEX | C(6) | ||
GNINMB | C(4) | ГНИ | |
UNO | C(4) | ||
NP | C(4) |
ФИАС
ФИАС — федеральная информационная адресная система.
ГАР ФИАС — Государственный адресный реестр ФИАС — систематизированный свод актуальных адресных сведений, истории их изменения.
Юридическое основание определяет Закон от 28 декабря 2013 г. N 443-ФЗ «О федеральной информационной адресной системе и о внесении изменений в Федеральный закон "Об общих принципах организации местного самоуправления в Российской Федерации"»
Вся изложенная далее информация устарела, так как с 2021 года применяется новый формат. При этом, даже не зная сути, возьмусь утверждать, что все до единой ошибки, имевшиеся и упомянутые, сохранились.
На 20.07.2021 объем базы из 443 файлов достиг 90 ГБ (архив 8,9 ГБ), удвоившись за 7 лет.
....
Полное впечатление, что это делал ребенок, вчера освоивший Access и с поставленным ему диагнозом умственной отсталости. Надеюсь, возможное возмущение разработчиков данного очередного «шедевра» многократно загасится фактами их грубейших и недопустимых ошибок.
Огромные расхождения как по заявленной размерности полей, так и массовое их отсутствие в БД относится к ключевой характеристике данного информационного массива.
Самое важное поле — AOID (36 знаков, символьный тип) заведомо полностью и до основания уничтожает все принципы нормализации БД.
Количество потенциально кодируемых этим идентификатором объектов описывается числом:
4,9732323640978664215538224814682·1086 (25636), которое никогда не сможет не только осознать, но и прочитать ни один из программистов данной базы.
Но это крайне важно: если вы хотите создать в своей БД ссылку на однозначный федеральный адрес (объект ФИАС), то надо создать поле C(36). Называть его я рекомендовал бы также (AOID), либо совершенно иначе с точки зрения безопасности.
Принципиально важным является то, что внутри идентификатора закодированы информационные объекты. Таким образом нарушена первая(!) нормальная форма.
Для скептиков сообщу, что знаю, для чего это сделано, но пока обсуждать не буду, чуть позже.
Таблицы ADDROB##.DBF (86 файлов) () [2 305 711 / 2 596 419 082] {}
Доступ к этим материалам предоставляется только зарегистрированным пользователям!
Таблица SOCRBASE.DBF (сокращения для всего) [254] {}
Наименование | Поле | Примечание | Комментарий |
LEVEL | C(5) | Уровень адресного объекта | В наличии 10 значений: 1-8, 90, 91 |
SOCRNAME | C(50) | Полное наименование типа объекта | Самое длинное поле — 32 знака |
SCNAME | C(10) | Краткое наименование типа объекта | |
KOD_T_ST | C(4) | Все = 0 |
Вот ведь вы не знаете, как сократить слово Чувашия: Чувашия. А часть материала повторена два-три раза: для разных уровней (или для увеличения числа ошибок). «Дом» сокращается не как «д», а как «ДОМ» (прямо так, заглавными).
Таблица NDOCTYPE.DBF (типы нормативных документов) [16] {7 118}
Наименование | Поле | Примечание | Комментарий |
NDTYPEID | N(19,5) | ID | Использованы только целые числа!!! |
NAME | C(250) | Название типа | Самое длинное поле — 67 знаков!!! |
....
Базовое обсуждение темы предполагается здесь.