Salve,
Sto cominciando a seguire i video per imparare l’uso di Xojo con i DB. Comodissimo SQLite, buono, ben fatto, ma…
Io provengo dall’ambiente VBA ed ho usato molto SQL Server nel quale riesco a muovermi decentemente.
La prima cosa che vorrei chiedervi su SQLite. vero che piuttosto complicato gestire gli accessi utente? Io avrei bisogno di gestire user/password e la gestione dei permessi (esclusione/lettura/completo). Con SQL Server non ci sono problemi, la sicurezza gestita molto facilmente. Con SQLite a me non risulta, se non in modo pi complicato. Vero?
Se dovessi passare ad un altro RDBMS, quale scegliere? Naturalmente qualcosa di free, penserei a Postgresql o MySQL. La mia domanda questa: Non conoscendoli, quale pi documentato su Xojo? Quale la soluzione migliore?
Grazie per l’aiuto.
Opzioni e livelli di approccio diversi.
MSSQL, Postgres e MySQL hanno il concetto di utente, e quindi di permessi rivolti alle tabelle, campi, funzionalit; ma hai bisogno di un server separato per gestire il tutto.
SQLite non ha questi concetti (almeno non direttamente, possono esserci estensioni e/o compilazioni che lo possono permettere) ma hai un db veloce e presente direttamente nella tua applicazione (ad esempio anche su iOS)
SQLite non un database multiutente (non avendo un server), anche se in una app web possibile usarlo “cum grano salis”
Quindi?
Dipende da quello che la tua app deve fare, dal numero di utenti (contemporanei), dal tipo di dati che vuoi gestire, dalla tua esperienza.
Se sai gestire, per esperienza, gli utenti ti conviene usare Postgres o MySql (tutto sommato sono simili da questo punto di vista)
Se il numero di utenti contemporanei te lo permette e la divisione degli utenti solo per regole di utilizzo puoi utilizzare anche SQLite trasferendo la logica all’applicazione (e visto che non hai un server in questo caso chiaramente un tipo di logica che devi trasferire dallo strato del DB alla app)
Dal punto di vista pratico, potresti anche valutare di utilizzare SQLite per iniziare lo sviluppo utilizzando sempre la classe Database come riferimento. Xojo ti permette in questo modo di virtualizzare in un certo senso il db a cui accedi (nel senso che accedi ad un db di tipo specifico, ma poi operi con operazioni comuni). Per la stragrande maggioranza delle applicazioni e necessit sufficiente.
Poi puoi decidere in un secondo momento se appoggiarti o meno a un server. Ovviamente i tempi di risposta di un server che potrebbe non essere sulla stessa macchina sono diversi rispetto a quelli di SQLite, quindi evita trasferimenti massivi di dati.