Sto scrivendo la mia prima app Web e conosco abbastanza bene i database per sapere che lo schema è importante ma non abbastanza da sapere come scrivere effettivamente uno buono.Si dovrebbe creare una nuova tabella per ogni utente su un'app Web?
Esiste un protocollo standard per la gestione delle informazioni memorizzate in ciascun account utente? Il mio istinto è di avere una tabella che memorizza la chiave dell'utente e le informazioni di accesso e un handle per la loro tabella (probabilmente la chiave?), E quindi avere una tabella per ogni utente.
Ma mi chiedo se ci sono problemi di prestazioni intorno al tavolo per ogni utente o se questo sembra un modo incredibilmente stupido per farlo. Sembra che dovrebbe essere un "problema risolto" poiché praticamente tutte le app web hanno account utente, ma non sono stato in grado di trovare nulla tramite la ricerca. Ci sono risorse con schemi "risolti" per archiviare vari tipi di dati web?
Conosco questo tipo un po 'vecchio ma stavo pensando allo stesso modo per motivi di sicurezza. ad esempio per evitare che altri utenti raggiungano altri tavoli tranne il loro. –
@SalemF Quindi sì, ci sono potenziali problemi di sicurezza in questo modo, ma ci sono anche problemi di sicurezza BIGGER con tabelle separate. In poche parole, non vuoi che la tua app Web crei tabelle al volo. Si desidera solo aggiungere o rimuovere dati nella tabella. Aggiungere e creare tabelle è un livello di autorizzazioni superiore rispetto all'aggiunta e all'eliminazione di righe. E non vuoi che la tua app Web abbia le autorizzazioni per creare o eliminare tabelle. Questo è il modo in cui si finisce per avere l'intero database cancellato o copiato da un hacker. Ci sono altri motivi, ma questa è la ragione della sicurezza. – araneae
@aranesa hai ragione è sul livello di autorizzazione, avvizzire modo se gli utenti possono accedere ad altri raw è possibile accedere ad altre tabelle. ma l'idea era di mantenere gli utenti sul proprio tavolo solo e non fornire alcuna autorizzazione per eliminare o creare nuove tabelle.Entrambe le modalità con cui l'hacker guadagna il controllo su DB, farà ciò che vuole. –