26/01/2025 - Barsyk ha scritto:
sono tutte combobox.
ATTENTO a non fare l'errore dei principianti
UNA COSA sono i dati/informazioni
UNA COSA sono il formato di 'storicizzazione'/'memorizzazione' (stringa, record in una tabella, ...)
ED UN'ALTRA TOTALMENTE DIVERSA cosa e' come VISUALIZZI quei dati.
Da nessuna parte c'e' scritto che debbano neccessariamente essere delle combo.
Inoltre, da NESSUNA PARTE c'e' scritto (e NON AVREBBE NEMMENO SENSO) che PRIMA devi popolare la tabella degli autori.
Lo puoi fare MENTRE inserisci il libro:
controlli se e' gia presente nella tabella, se non c'e' ma c'e ne uno che gli assomiglia (errore di battitura) oppure non c'e' proprio e lo aggiungi.
Stessa cosa per le case editrici.
TUTTO automatico.
Come scritto precedentemente, SONO TUTTE cose opzionali.
.
Inoltre, la struttura a TAG la puoi estendere per supportare TAG con un valore.
In questo modo eviti quella 'spatafiata' di colonne SE nel 90% non sono popolate.
E magari anche l'autore puo' avere un 'ruolo': "autore" (colui che ha scitto il libro), "curatore", "collaboratore", "traduttore", ..
In questo modo non devi creare query diverse per cercare i libri che coinvolgono un 'autore' in uno specifico 'ruolo': la query e' sempre la stessa, parametrizzata sul 'ruolo'.
.
Comunque, il problema e' sempre il solito: dato un "problema", esistono innumerevoli soluzioni. Quale scegliere dipende INNANZITUTTO dalle proprie competenze/esperienze/conoscenze, e solo poi dai suggerimenti.
.
Ad esempio, la struttura gerarchica di By65Franco e' esattamente il tipo di informazione supportata dai TAG.
.
ASSIOMA: la struttura dei dati DIPENDE dal tipo di query che vorresti fare.
Quindi,
PER PRIMA COSA
si fa una lista delle interrogazioni che ragionevolmente si vorrebbero fare,
QUINDI,
si proggetta il database (insieme di tabelle e relazioni) che RENDONO SEMPLICE fare quelle interrogazioni,
SOLO ALLA FINE
si inizia l'implementazione.
.
Sono le stesse cose scritte da By65Franco!
Inoltre, se pensata bene, la struttura del database potrebbe essere semplificata di molto (POCHE tabelle, POCHE colonne per tabella)