|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jul 2014
Messaggi: 5
|
[MySQL] Novizio in DB Management
Ciao a tutti! Sono nuovo del forum e sono contento di essere entrato a far parte di questa fantastica community.
Sto sviluppando una applicazione web che si deve appoggiare su di un Database. Fino ad adesso avevo fatto un uso di MySQL abbastanza modesto: ho seguito diverse guide ma non ho mai capito bene diversi concetti. Devo creare un Database che contenga le informazioni di numerosi utenti, ognuno dei quali ha un diverso 'status' (come l'ho chiamato io) con dei diversi permessi. Fin qui tutto bene: una tabella con nome cognome status e altre info standard, il problema è che ogni status ha delle impostazioni particolari inerenti al suo ruolo. Mi chiedevo quindi se fosse corretto fare una unica grande tabella con tutte le impostazioni di tutti gli status che possono venire utilizzate o meno. Chiarisco la situazione con un esempio estremamente semplificato: +---------+----------+----------------------+--------------------+ | userid | status | opzioni admins | opzioni users | +================================= + | pinco | admin | qualcosa | null | +---------+----------+----------------------+--------------------+ | pallo | user | null | qualcos'altro | +---------+----------+----------------------+---------------------+ Adesso vi chiedo se questa soluzione sia corretta o ne esista un'altra più leggera ed elegante . Inoltre vi chiedo di segnalarmi una ottima guida che mi possa chiarire le idee |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Oct 2013
Messaggi: 18
|
Io aggiungere anche altre informazioni tipo password (se eventualmente le riesci a codificare in hash).
Poi dipende da quanti livelli è composta la tua applicazione.. userid, user, password, dataregistrazione, dataultimalogin, tipo_account. Per me questa è la stratificazione essenziale, poi non so se vuoi portare altre informazioni sull'utente Mail, parola d'identificazione segreta dell'utente.. insomma tutte info che si basano sull'utente. per quanto riguarda lo status come lo definisci tu, i opterei per utilizzare dei flag del tipo: numero 1(amministra) 2 (utente avanzato) 3 (utente con funzioni medie) e bla bla Io così faccio di solito. Spero di essere stato d'aiuto |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Jul 2014
Messaggi: 5
|
Grazie
Ok grazie ho trovato una ottima soluzione
|
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Oct 2013
Messaggi: 18
|
Sono curioso.. condividi la soluzione :-)
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: Jul 2014
Messaggi: 5
|
Semplicemente c'è una tabella utenti dove ci sono tutti gli user con i vari status come ho scritto sopra, poi c'è un'altra tabella per ogni status dove ad ogni campo corrisponde una od una serie di opzioni e ad ogni riga ogni utente con quel preciso status. So che la cosa si può ottimizzare con le Foreign Keys e con InnoDB ma preferisco aspettare un po' di tempo per aggiornare il tutto (anche perché devo ancora entrare bene nella logica
) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:00.










. Inoltre vi chiedo di segnalarmi una ottima guida che mi possa chiarire le idee 
)








