[Gfoss] Spatialite vista materializzata

a.furieri a lqt.it a.furieri a lqt.it
Lun 8 Gen 2018 18:00:28 CET


On Mon, 8 Jan 2018 17:36:32 +0100 (CET), falcerisimone a inwind.it wrote:
> Ciao a tutti!
> Ho appena scaricato il mitico spatialite 4.4. da
> http://www.gaia-gis.it/gaia-sins/windows-bin-amd64-test/
>
> Volevo sapere gentilmente se รจ possibile creare con spatialite una
> vista materializzata, in modo da semplificare il lavoro di 
> inserimento
> dei dati da parte di utenti meno esperti.
>

ciao Simone,

spatialite non supporta le viste materializzate per un motivo
molto semplice; perche' SQLite non le supporta.

spatialite e' semplicemente un'estensione Spatial che estende
le capacita' base di SQLite in modo tale da aggiungere la
capacita' di gestire il data-type Geometry, ma non puo' mai
in nessun modo uscire fuori dal perimetro del supporto SQL
cosi' come viene reso disponibile dallo stesso SQLite.

hint: prima ancora di metterti ad usare SpatiaLite e' sempre
bene studiarsi a fondo cosa offre realmente SQLite in termini
di funzionalita' SQL standard:

https://www.sqlite.org/lang.html

nota bene: anche su SQLite e' comunque possibile realizzare
delle "writable views", cioe' delle VIEW in grado di accettare
operazioni di INSERT, UPDATE e DELETE, che e' qualcosa che si
avvicina molto al classico concetto di vista materializzata.

ma per ottenere una "writable view" su SQLite e' indispensabile
scriversi (a mano) tutta una serie di Triggers; il che, detto
per inciso, e' un lavoro abbastanza complicato che richiede una
comprensione ed una familiarita' abbastanza spinte con gli aspetti
piu' complessi ed esoterici del linguaggio SQL.
insomma, scordati "da parte di utenti meno esperti"; e' qualcosa
che puo' funzionare ragionevolmente bene solo se viene pianificato
ed implementato accuratamente "da parte di utenti particolarmente
esperti".

------

se vuoi iniziare a studiarti come funzionano le "writable views"
su SQLite/SpatiaLite puoi cominciare da qua:

https://www.gaia-gis.it/fossil/libspatialite/wiki?name=writable-view

se usi spatialite_gui troverai che esiste un wizard grafico che
semplifica di molto la creazione di una "writable view" rendendola
un lavoro praticamente automatico.

ciao Sandro


Maggiori informazioni sulla lista Gfoss