Ho una tabella che memorizza le informazioni dell'utente, una colonna memorizza il loro ID. Avevo implementato quattro diversi attributi nella stessa tabella che memorizzavano un bit che indica quali operazioni di file l'utente poteva eseguire (leggi, crea, aggiorna, cancella).
Per fortuna, ho capito che era un'implementazione terribile e invece ho creato quattro diverse tabelle con una colonna (l'ID utente) che indicava quali azioni potevano eseguire. Mi preoccupa davvero il fatto che io sia infastidito dal numero esagerato di zeri. Fa risparmiare spazio, anche se è trascurabile.
Tuttavia, questo database viene anche interrogato da un'applicazione in un linguaggio OOP e uno degli oggetti creati di frequente è un utente. Questa classe memorizza naturalmente le operazioni sui file che l'utente può eseguire. Nella vecchia implementazione, questi campi oggetto (valore booleano) potevano essere rapidamente popolati dalla tabella utente, ma non ora.
Ora sono confuso su come dovrei popolare questi campi oggetto. Mi sento come se dovessi essere in grado di eseguire una singola query indicando quali tabelle di permessi l'utente appartiene, ma non riesco a trovare la sintassi di scrittura (se esiste anche).
Quindi la mia domanda è: esiste un modo per eseguire una singola query per capire quali tabelle (che consistono solo in una singola colonna) in cui si verifica un valore? O devo interrogare ogni tabella in modo indipendente per riempire questi campi oggetto?