Nenhuma descrição
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

README_merge.md 3.6KB

Merge Database IT e CH

Descrizione

Questo processo ha unito i dati delle province e comuni di Italia e Svizzera in un unico dataset, aggiungendo le colonne nazione_id, created_at e updated_at.

File Generati

1. provincia_merged.sql

  • Contenuto: Tutte le province IT e CH
  • Struttura: id, nome, sigla, created_at, updated_at, nazione_id
  • Statistiche:
    • Province IT: 111 (ID 1-111, nazione_id = 118)
    • Province CH: 26 (ID 112-137, nazione_id = 220)
    • Totale: 137 province

2. comune_merged.sql

  • Contenuto: Tutti i comuni IT e CH
  • Struttura: id, provincia_id, nome, codice_catastale, created_at, updated_at, nazione_id
  • Statistiche:
    • Comuni IT: 8.002 (ID originali 1-110014, nazione_id = 118)
    • Comuni CH: 2.136 (ID 110015-112150, nazione_id = 220)
    • Totale: 10.138 comuni

Logica di Merge

Province

  • IT: Mantengono gli ID originali (1-111)
  • CH: Rinumerate da 112 in poi (112-137)
  • Mappatura CH:
    • Zürich: 1 → 112
    • Bern: 2 → 113
    • Luzern: 3 → 114
    • Uri: 4 → 115
    • Schwyz: 5 → 116
    • Obwalden: 6 → 117
    • Nidwalden: 7 → 118
    • Glarus: 8 → 119
    • Zug: 9 → 120
    • Fribourg: 10 → 121
    • Solothurn: 11 → 122
    • Basel-Stadt: 12 → 123
    • Basel-Landschaft: 13 → 124
    • Schaffhausen: 14 → 125
    • Appenzell Ausserrhoden: 15 → 126
    • Appenzell Innerrhoden: 16 → 127
    • St. Gallen: 17 → 128
    • Graubünden: 18 → 129
    • Aargau: 19 → 130
    • Thurgau: 20 → 131
    • Ticino: 21 → 132
    • Vaud: 22 → 133
    • Valais: 23 → 134
    • Neuchâtel: 24 → 135
    • Genève: 25 → 136
    • Jura: 26 → 137

Comuni

  • IT: Mantengono gli ID originali (1-110014)
  • CH: Rinumerati da 110015 in poi (110015-112150)
  • Provincia_id: Aggiornati secondo la nuova numerazione delle province
  • Esempio: Comuni di Zürich ora hanno provincia_id = 112 invece di 1

Script Utilizzati

merge_comuni.py

  • Parsa i file comune.sql di IT e CH (gestisce tutte le query INSERT multiple)
  • Gestisce correttamente gli apostrofi nei nomi dei comuni (es. L’Aquila, Albiano d’Ivrea)
  • Genera il file comune_merged.sql
  • Aggiunge le colonne created_at, updated_at, nazione_id
  • Rinumera gli ID dei comuni CH partendo da 110015

merge_province.py

  • Parsa i file provincia.sql di IT e CH
  • Gestisce correttamente gli apostrofi nei nomi delle province (es. Valle d’Aosta, Reggio nell’Emilia, L’Aquila)
  • Genera il file provincia_merged.sql
  • Rinumera gli ID delle province CH
  • Aggiorna i provincia_id nei comuni CH (ID >= 110015)

Utilizzo

  1. Importare le province:
   SOURCE provincia_merged.sql;
  1. Importare i comuni:
   SOURCE comune_merged.sql;

Note Importanti

  • Tutti i valori created_at e updated_at sono impostati a NULL
  • I codici catastali sono preservati dove presenti
  • Le relazioni tra comuni e province sono mantenute corrette
  • Gli ID sono univoci e non ci sono conflitti
  • Le province CH sono rinumerate correttamente da 112 a 137
  • I comuni CH sono rinumerati da 110015 a 112150
  • I file originali contengono multiple query INSERT che sono state tutte processate
  • Gli apostrofi nei nomi dei comuni sono gestiti correttamente (es. L’Aquila, Albiano d’Ivrea)
  • Gli apostrofi nei nomi delle province sono gestiti correttamente (es. Valle d’Aosta, Reggio nell’Emilia, L’Aquila)

File Originali

  • it/provincia.sql - Province italiane originali
  • it/comune.sql - Comuni italiani originali (6 query INSERT)
  • ch/provincia.sql - Province svizzere originali
  • ch/comune.sql - Comuni svizzeri originali (4 query INSERT)