Описание БД
Объекты в схеме [adm] используют административную иерархию, в [mun] муниципальную иерархию. Объекты в схеме dbo не зависят от иерархии(но это не точно ¯\_(ツ)_/¯)
*.A_IndexRegistry
#
Основная таблица БД, является реестром содержащим все объекты.
Имеет полнотекстовый индекс на столбце AddressFull
для быстрого поиска.
ParentGUID
- GUID родителяObjectGUID
- GUID объектаLevel
- Уровень изOBJECT_LEVELS.LEVEL
Type
- Тип объекта изADDR_OBJ_TYPES.SHORTNAME
Name
- Наименование объектаNameFull
-{Type} {Name}
AddressFull
- Полный адрес начиная с субъекта РФ
Процесс заполнения#
Процедура *.UP_RefreshRegistry
заполняет таблицу в два этапа:
- На основе данных из выгрузки заполняются все столбцы кроме
AddressFull
. - Для каждого объекта заполняется
AddressFull
.
Адрес берётся из*.SUF_AddressFull
, которая выбирает строку с полным адресом из*.UF_Hierarchy
*.UF_Hierarchy
#
Рекурсивная функция которая использует данные из *.[A_IndexRegistry]
для создания иерархи в следующем формате.
GUID | Level | Type | Name | NameFull |
---|---|---|---|---|
67263e8b-63f6-4b74-8eed-536eca53959c | 10 | стр. | 31 | стр. 31 |
179c5f01-4f55-4611-b6a0-b9925c2cf880 | 8 | ул | Данилы Зверева | ул Данилы Зверева, стр. 31 |
2763c110-cb8b-416a-9dac-ad28a55b4402 | 5 | г | Екатеринбург | г Екатеринбург, ул Данилы Зверева, стр. 31 |
92b30014-4d52-4e2e-892d-928142b924bf | 1 | обл | Свердловская | обл Свердловская, г Екатеринбург, ул Данилы Зверева, стр. 31 |
NameFull
в данном случае представляет собой относительный адрес, где у субъекта РФ он будет равен полному адресу объекта.