Ho realizzato un semplice WS per reperire informazioni sui comuni italiani. I dati sono sempre quelli di origine ISTAT di cui al post http://www.gerriquez.com/wp/rdbms/archivio-comuni-istat/

Nella tabella di seguito i dettagli del WS con la chiamata ed i parametri.

Request URL:http://www.gerriquez.com/comuni/ws.php?<parameter> 
Request Method:GET
Respons header Content-Type:application/json
Parameter:dencomune=<nome comune> 

(dencomune=Roma)

OR

Parameter:codistat=<codice ISTAT del comune> 

(codistat=015146)

OR

Parameter:regione=<nome regione> 

(regione=liguria)

Spesso negli anni mi sono imbattuto – nello svolgimento della mia attività lavorativa – in situazioni di “crisi” per la gestione delle anagrafiche dei comuni italiani.

Il mio consiglio (non sempre seguito 🙂 ) è sempre stato lo stesso: approfittare dell’ottimo ed aggiornato dataset messo a disposizione dall’ISTAT a questo indirizzo. È possibile reperire i dati sia in formato Excel, che CSV ed ogni campo è ben descritto nei commenti e/o nella legenda inserita nel file Excel.

Il contributo che voglio dare, sperando di fare cosa gradita, è di rendere disponibile una versione leggermente ritoccata (per evitare ridondanze di dati dove non necessario) e pronta per essere caricata sulla vostra base dati, semplicemente lanciando lo script.

Nell’immagine potete vedere il modello dati utilizzato e le tabelle con prefisso “GpE” sono quelle da me modificate. N.B.: Il modello ha una valenza logica, il che significa che l’integrità referenziale non è di tipo “strong” (i.e.: non troverete in base dati il corrispondente “fisico” delle relazioni visibili nel modello).

Le versioni saranno aggiornate non appena disponibili sul sito ISTAT.

AGGIORNAMENTI VARI

13 febbraio 2019: aggiunta tabella “comuni_cap” con i cap (prelevati via API Google). Poiché i codici “generici” (es.: 00100 per Roma) non sono più utilizzati, la struttura del record è così definita:

CodiceComuneAlfanumerico, CAP_DA, CAP_A 

13 gennaio 2019: struttura della tabella GpEElenco modificata sia in funzione delle modifiche effettuate da ISTAT su alcune entità nell’ultimo rilascio di gennaio 2019, sia in funzione di alcune revisioni “personali” (aggiunti i campi LATITUDE e LONGITUDE con le coordinate di geocoding prelevate via API Google; eliminati alcuni campi ridondanti/poco utili). Modificato anche lo schema ERD in figura sotto.

—————–

16 maggio 2018: qui una demo dell’utilizzo del dataset con alcune righe di codice.

26 maggio 2018: aggiunte DDL per Teradata

10 giugno 2018: aggiunti script e dati per SQL Server

9 giugno 2018: Modificata la struttura della tabella VARIAZIONIAMMINISTRATIVETERRITORIALIDAL01011991

AGGIORNAMENTI DATI

ULTIMO AGGIORNAMENTO : 13 febbraio 2018

Aggiornamento dati ISTAT al 01/02/2019. Riporto dal sito: Istituito il comune di Lu e Cuccaro Monferrato mediante fusione di Cuccaro Monferrato e Lu in provincia di Alessandria.

Il numero dei comuni passa da 7.920 a 7.919 unità.

AGGIORNAMENTO del 13 gennaio 2018

Aggiornamento dati ISTAT al 01/01/2019. Riporto dal sito: Dal 1° gennaio 2019, con le incorporazioni dei comuni di Riva Valdobbia (VC) Castellar (CN), Camo (CN), Valmala (CN), Ca’ d’Andrea (CR), Bigarello (MN) e la costituzione di 16 nuovi comuni per la fusione di 38 unità, il numero dei comuni passa da 7.954 a 7.926. 

AGGIORNAMENTO del 9 settembre 2018

03/06/2018 MONRUPINO adotta ‘REPENTABOR’ come “denominazione seconda lingua”

03/06/2018 SGONICO adotta ‘ZGONIK’ come “denominazione seconda lingua”

AGGIORNAMENTO del 9 giugno 2018

Dati della tabella VARIAZIONIAMMINISTRATIVETERRITORIALIDAL01011991 aggiornati


DOWNLOADS


VERSIONENOTE
CSVSEPARATORE: ';'
INTESTAZIONI NELLA PRIMA RIGA: sì
OracleDDL: sì
TABLESPACE UTILIZZATA: USERS (va modificata manualmente, se richiesto).
Lanciare gli script nell'ordine indicato dal prefisso 'STEPnn' nel nome dei file.
Lo script va lanciato dallo schema nel quale si vuole creare la struttura.
MySQLServer version: 5.6.38-log
ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4
COLLATE=utf8mb4_unicode_ci
Lanciare lo script dall'utenza nella quale si vuole creare la struttura.
PostgreSQLLo script crea struttura e dati nello schema PUBLIC.
SQLiteCopiare il file nel path desiderato.
Microsoft AccessMicrosoft Access (Office 365)
Decomprimere il file nel path desiderato.
Teradata SQLTeradata SQL
DDL: sì
DATA: no. Potete utilizzare LoadData (o ciò che preferite) per caricare i dati in formato CSV.
SQL ServerSQL Server
DDL: sì
DATA: sì