gendesign/data/sql/43_anton_import.sql
2026-04-27 13:05:36 +03:00

193 lines
8.5 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Import unique tables from Anton's domrf.db (SQLite, 23.5MB).
-- Skipped duplicates: regions, federal_districts, mortgage_rates (empty),
-- escrow_banks, rc_classes/dev_size/city_pop, rc_dynamics_rf, egrn_deals
-- (we have raw rosreestr_deals — 4.97M rows, 32× larger).
-- developers (8 618) handled separately via merge into domrf_developers.
-- ── DOM.РФ /сервисы/api/kn/* — поквартирный прайс + ЖК ─────────────────────
CREATE TABLE IF NOT EXISTS domrf_kn_flats (
id BIGINT PRIMARY KEY,
ods_id TEXT,
flat_type TEXT,
flat_number TEXT,
is_studio BOOLEAN,
total_area NUMERIC,
living_area NUMERIC,
rooms INT,
status TEXT, -- free | booked | sold
price_rub BIGINT,
price_per_m2 NUMERIC,
floor INT,
num_floors INT,
obj_id BIGINT, -- FK target → domrf_kn_objects.obj_id
city TEXT,
region_cd INT,
obj_name TEXT,
snapshot_date DATE NOT NULL DEFAULT CURRENT_DATE
);
CREATE INDEX IF NOT EXISTS idx_kn_flats_obj ON domrf_kn_flats (obj_id);
CREATE INDEX IF NOT EXISTS idx_kn_flats_status ON domrf_kn_flats (status);
CREATE INDEX IF NOT EXISTS idx_kn_flats_region ON domrf_kn_flats (region_cd);
CREATE INDEX IF NOT EXISTS idx_kn_flats_rooms ON domrf_kn_flats (rooms);
CREATE TABLE IF NOT EXISTS domrf_kn_objects (
obj_id BIGINT PRIMARY KEY,
hobj_id BIGINT,
comm_name TEXT,
addr TEXT,
short_addr TEXT,
region_cd INT,
dev_id TEXT,
dev_name TEXT,
dev_inn TEXT,
floor_min INT,
floor_max INT,
flat_count INT,
square_living NUMERIC,
ready_dt DATE,
problem_flag TEXT,
site_status TEXT,
green_house BOOLEAN,
escrow BOOLEAN,
obj_class TEXT,
wall_type TEXT,
energy_eff TEXT,
latitude NUMERIC,
longitude NUMERIC,
obj_status INT,
is_prinzip BOOLEAN DEFAULT FALSE,
is_ekb BOOLEAN DEFAULT FALSE,
is_problem BOOLEAN DEFAULT FALSE,
snapshot_date DATE NOT NULL DEFAULT CURRENT_DATE
);
CREATE INDEX IF NOT EXISTS idx_kn_obj_dev ON domrf_kn_objects (dev_id);
CREATE INDEX IF NOT EXISTS idx_kn_obj_region ON domrf_kn_objects (region_cd);
CREATE INDEX IF NOT EXISTS idx_kn_obj_prinzip ON domrf_kn_objects (is_prinzip);
CREATE INDEX IF NOT EXISTS idx_kn_obj_ekb ON domrf_kn_objects (is_ekb);
-- ── ЦБ РФ ипотечная статистика (cbr.ru/statistics/bank_sector/mortgage/) ──
CREATE TABLE IF NOT EXISTS cbr_mortgage_files (
filename TEXT PRIMARY KEY,
size_kb INT,
description TEXT,
url TEXT
);
CREATE TABLE IF NOT EXISTS cbr_mortgage_series (
series_id TEXT NOT NULL, -- e.g. '02_05_Debt_ind_в_рублях'
region TEXT NOT NULL, -- 'rf' | 'sverdl'
period TEXT NOT NULL, -- 'Feb 2019', 'Mar 2026', ...
value NUMERIC,
title TEXT,
PRIMARY KEY (series_id, region, period)
);
CREATE INDEX IF NOT EXISTS idx_cbr_period ON cbr_mortgage_series (period);
CREATE INDEX IF NOT EXISTS idx_cbr_region ON cbr_mortgage_series (region);
-- ── Сбер ДомКлик DDF (PDF nov2025) — ключевые метрики ────────────────────
CREATE TABLE IF NOT EXISTS sber_ddf_metrics (
metric_key TEXT PRIMARY KEY,
region TEXT,
value_2019 NUMERIC,
value_2025 NUMERIC,
unit TEXT,
source TEXT
);
-- ── Yandex Realty ЕКБ ─────────────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS yandex_realty_zk (
yid BIGINT PRIMARY KEY,
name TEXT,
developer TEXT,
developer_id BIGINT,
finished_obj INT,
unfinished_obj INT,
price_from NUMERIC,
price_to NUMERIC,
address TEXT,
obj_class TEXT,
latitude NUMERIC,
longitude NUMERIC,
snapshot_date DATE NOT NULL DEFAULT CURRENT_DATE
);
CREATE TABLE IF NOT EXISTS yandex_realty_class_prices (
obj_class TEXT PRIMARY KEY,
total_sites INT,
price_per_m2_min NUMERIC,
price_per_m2_max NUMERIC,
snapshot_date DATE NOT NULL DEFAULT CURRENT_DATE
);
-- ── Geo Свердл/ЕКБ ─────────────────────────────────────────────────────────
CREATE TABLE IF NOT EXISTS ekb_districts (
district_name TEXT PRIMARY KEY,
population INT,
zk_count INT,
flat_count INT,
area_m2 NUMERIC,
median_price_per_m2 NUMERIC,
mean_price_per_m2 NUMERIC
);
CREATE TABLE IF NOT EXISTS ekb_metro (
station_name TEXT PRIMARY KEY,
zk_count INT,
median_price_per_m2 NUMERIC
);
CREATE TABLE IF NOT EXISTS sv_cities (
city_name TEXT PRIMARY KEY,
zk_count INT,
flat_count INT,
area_m2 NUMERIC,
median_price_per_m2 NUMERIC
);
-- ── Pre-aggregated Свердл developer rankings (топ-50, март 2026) ──────────
CREATE TABLE IF NOT EXISTS sv_dev_sales (
rank INT,
dev_id TEXT NOT NULL,
name TEXT,
total_square INT,
sold_perc NUMERIC,
unsold_perc NUMERIC,
unopened_perc NUMERIC,
rep_period TEXT NOT NULL, -- 'YYYY-MM' (e.g. '2026-03')
PRIMARY KEY (dev_id, rep_period)
);
-- ── Developer growth 2024→2025 (РФ + Свердл) ───────────────────────────────
CREATE TABLE IF NOT EXISTS domrf_dev_growth (
id BIGSERIAL PRIMARY KEY,
dev_id TEXT,
dev_name TEXT NOT NULL,
area_2024 NUMERIC,
area_2025 NUMERIC,
delta_pct NUMERIC,
region TEXT, -- 'rf' | 'sverdl'
UNIQUE (dev_name, region)
);
-- ── Росреестр rent deals Свердл (1071 договоров аренды) ──────────────────
CREATE TABLE IF NOT EXISTS rosreestr_rent_deals (
id BIGSERIAL PRIMARY KEY,
quarter TEXT NOT NULL, -- 'Q1 2026'
obj_type TEXT, -- '002001001000' и т.п.
cad_quarter TEXT, -- '66:02:1401003'
area NUMERIC,
rent_rub NUMERIC,
rent_per_m2 NUMERIC,
duration_months INT,
region_cd INT DEFAULT 66
);
CREATE INDEX IF NOT EXISTS idx_rent_quarter ON rosreestr_rent_deals (quarter);
CREATE INDEX IF NOT EXISTS idx_rent_cadq ON rosreestr_rent_deals (cad_quarter);
CREATE INDEX IF NOT EXISTS idx_rent_region ON rosreestr_rent_deals (region_cd);
COMMENT ON TABLE domrf_kn_flats IS 'DOM.РФ /сервисы/api/kn/flats per-flat catalog. 27 563 квартир РФ status=free/booked/sold с ценами. Источник: Anton domrf.db imported 27.04.2026.';
COMMENT ON TABLE domrf_kn_objects IS 'DOM.РФ /сервисы/api/kn/object — реестр ЖК Свердл. 1 516 объектов с GPS, классом, эскроу-флагом. is_prinzip flag для 28 PRINZIP ЖК. Источник: Anton.';
COMMENT ON TABLE cbr_mortgage_series IS 'ЦБ РФ статистика по ипотеке (XLSX cbr.ru/statistics/bank_sector/mortgage/). 47 серий × {rf|sverdl} × месяцы 2019-2026. Свердл Фев-2026: ставка 11%, +318 б.п. за месяц.';
COMMENT ON TABLE sber_ddf_metrics IS 'Сбер ДомКлик DDF nov2025 PDF: affordability, demand index, миграция, повторные ипотечники, price gap 79/21%, quality shift.';
COMMENT ON TABLE yandex_realty_zk IS 'Yandex Realty snapshot — 12 ЖК ЕКБ из INITIAL_STATE с классами/ценами. Полный snapshot пользовательских listings.';
COMMENT ON TABLE rosreestr_rent_deals IS 'Договоры аренды Свердл Q1 2026 (1071) из Росреестра data-sets.';