Newsgroup: it.comp.software.database
Titolo: Come impostare al meglio delle tabelle specifiche di utente.

Utilizzo sqlite con python.
Vorrei sapere qual'è il miglior modo per impostare un DB che contenga:
- un insieme di tabelle di interesse generale
- n insiemi di tabelle di pertinenza di ognuno degli utenti che può usare 
l'applicazione
Ovvero, ogni utente deve poter accedere ad un suo sottoinsieme privato di 
tabelle, identico per struttura a quello degli altri utenti, ma 
contenente i suoi dati privati.
L'applicazione può occuparsi autonomamente di gestire l'autenticazione, 
quello che non so come fare è la creazione di n tabelle uguali a gruppi e 
renderle operative ad un gruppo per volta.
Mi aiutate?
grazie
Licia

 renderle operative ad un gruppo per volta.
Crei le tabelle che ti servono (non una per ogni utente bensì una per 
ogni insieme coerente di informazione che vuoi archiviare) e ci collochi 
un campo "utente" che funge da chiave esterna verso la tabella utenti (o 
un campo gruppi, se ti è più comodo. Di solito è così).
Se ho capito correttamente quello che vuoi ottenere...
Ciao.

 usare l'applicazione
In sostanza come la soluzione di Xon, credo che a meno che il
requisito di avere tabelle separate sia da prendere alla lettera(*),
operativamente, e` altamente consigliabile creare una
sola volta le tabelle, e discriminare in base ai permessi
dell'utente (basti pensare a quanto piu` facile risulteranno le
query, la manutenzione, etc...).
Anche per la teoria, se si tratta dello stesso db, tabelle con
header uguali DEVONO essere conglobate in una soltanto; la gestione
dei permessi e` meglio gestita dal motore del dbms anziche` a
livello logico.
In mancanza di tali apposite funzioni, e specialmente tenendo conto
che l'applicazione puo` occuparsi autonomamente di gestire
l'autenticazione, una colonna "User" fara` da discriminante.
(*) Potrebbe essere che sia letteralmente cosi, ad esempio nel
caso di hosting e` raccomandabile creare un db per utente pagante
in modo da manutenerlo separatamente (backup, quote disco, sequestri
etc).
Pertanto per essere sicuri bisogna sapere a quale uso sara`
destinato il db, quali saranno le query etc.

 db, quali saranno le query etc.
Effettivamente questa è la mia necessità.
Non ho un DB molto grosso né un'applicazione molto 'sensibile' (è la 
gestione di un diario alimentare 
http://dieta.sw.googlepages.com/
).
E' un'applicazione interattiva che gira su PC, dove prevedo multi-utenti, 
ma non multi-utenza (ovvero più utenti la usano ma solo 1 x volta).
Mi sembrava un'impostazione 'pulita' quella di installare con il 
programma un 'DB' generale contenete le descrizioni degli alimenti (che 
sono le stesse per tutti) e poi nella `home` di ognuno il suo 'DB' 
specifico con le tabelle personali (diario alimentare, registrazioni 
peso, ecc...).
Mi rendo conto benissimo che se le due strutture dati non procedono di 
pari passo avviene un disastro totale, ed è proprio per questo che ho 
chiesto aiuto per l'impostazione della struttura dati.
Forse copiare avanti e indietro tra db utente e db centrale le tabelle 
private ad apertura e chiusura dell'applicazione può essere una 
soluzione??
Grazie per la risposta, spero in un seguito
Ciao
Licia

 soluzione??
Hum macchinosa ed esposta ad errori.
bye