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
- Importare le province:
SOURCE provincia_merged.sql;
- 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)