Per un database che formi un Catalogo bibliografico

di il
9 risposte

Per un database che formi un Catalogo bibliografico

Sto realizzando un database per formare il catalogo dei libri che ho in casa e l'ho già strutturato come segue: (Continua sotto la foto)

Mi sembra che vada bene perché si parte dall'Autore, si va al Titolo e - eventualmente - a Comprende. Lasciamo perdere Comprende che è una cosa mia (più o meno), cosa ci trovate di sbagliato, di poco logico o addirittura di totalmente illogico in questa struttura? Le biblioteche funzionano così. Però dite la vostra, aspetto Sishandrea per esempio, che mi spieghi ciò che ha messo nel Forum e che sinceramente non ho capito (potrebbe essere una soluzione perfetta, ma riportata così mi è del tutto incomprensibile anche nella logica). Per quanto riguarda i libri scritti da due o più Autori si procede così: se il libro ha due o al massimo tre Autori, si scheda sotto al primo, e si fanno schede secondarie del secondo o del secondo e del terzo; se invece gli Autori sono più di tre, si scheda sotto al Titolo e si fanno comunque schede secondarie di ogni Autore.

Ora, chiarito questo, i miei "problemi" riguardano soprattutto:  

1) la futura Ricerca (per Titolo innanzitutto, come avrete capito ieri, ma non soltanto per Titolo); la casella di ricerca dovrebbe funzionare esattamente come quella che c'è in Access in basso, quella piccola;

2) la possibilità di catalogare per Titolo nel caso ci fossero più di tre Autori;

3) la possibilità di rendere visibile il campo Comprende (che qui ancora non c'è, c'è solo la tabella) SOLO nel caso in cui il Titolo contenga altri titoli.

So bene di non essere stato molto chiaro per i punti 2) e 3), pertanto vi invito a visitare l'OPAC della Sormani e di fare qualche ricerca; vi indico io stesso un Titolo sopra a tutti perché è un esempio perfetto per quanto concerne entrambi questi punti: cercate La Storia e scorrete con attenzione il tutto.

Intanto grazie.

9 Risposte

  • Re: Per un database che formi un Catalogo bibliografico

    Non si vede l'immagine (link "broken").

    Comunque: un libro

    1. ha un titolo univoco. Piu' o meno. 
      Ho dei casi in cui libri diversi hanno lo stesso titolo, MA, diciamo, sono casi rari. COMUNQUE da tenere sottocontrollo.
      Puo' avere dei "sottotiloli". Per esempio:  Neural Networks: teoria e applications
      Titolo:  "Neural Networks"
      Sottotitolo: "teoria e applicazioni".
      Puoi avere un campo "sototitolo" Oppure una colonna "Note"/"Commenti" per questi casi "strani".
    2. ha UNA casa editrice. 
      Ci sono casi in cui la casa editrice non c'e', o non si conosce. In questo caso si puo' usare una casa editrice "anonima" (o l stringa vuota)
    3. ha UNO o piu' autori. 
      Ho dei casi in cui l'autore non si sa, anche in questo caso si puo' usare un autore "anonimo"
    4. ci potrebbe essere una tabella delle case editrici: in questo caso non si rischia di scrivere il nome della casa editrice in modo errato
      OPZIONALE
    5. ci potrebbe essere una tabella degli autori: come sopra, utile per evitare di scrivere il nome dell'autore in modo errato
      OPZIONALE
    6. ha associato ZERO o PIU' TAG (delle semplici stringhe SENZA spazi o caratteri strani): questo e' un meccanismo "INTERESSANTE" per poter "classificare" in modo flessibile un libro.
      Per esempio, potresti avere i tag: fantascienza, astronavi, buchineri.
      A seconda dei tag che scegli, puoi "pescare" i libri che ti interessano di piu ;-)
      OPZIONALE
    7. i TAG potrebbero avere una struttura gerarchica. Il TAG "astrofisica" CONTIENE il TAG "buchineri"
      OPZIONALE
    8. I TAG potrebbero essere "testo libero", MA e' meglio avere una lista PREDEFINITA, 
      che magari puo' allungarsi nel tempo, in modo da NON USARE TAG che NON esistono

    .

    A "stima" il TAG e' il tuo "Contiene". Forse.

    26/01/2025 - Barsyk ha scritto:

    Per quanto riguarda i libri scritti da due o più Autori si procede così: se il libro ha due o al massimo tre Autori, si scheda sotto al primo, e si fanno schede secondarie del secondo o del secondo e del terzo; se invece gli Autori sono più di tre, si scheda sotto al Titolo e si fanno comunque schede secondarie di ogni Autore.

    TERRIBILE!
    Soluzione BANALE:

    Libri[idLibro, Titolo, DataPubblicatione, CasaEditrice, Note, ...]
    Autori[idLIbro, Autore, ...]

    relazione 1:N tra Libri e Autori

    In "Autori" ogni libro ha una riga per OGNI autore. In questo modo puoi modellare in modo SEMPLICE ed UNIFORME libri con da 0 a MILIONI di autori (e anche di piu'!)

    Stesso approccio per i TAG:

    TAGs[idLibro, TAG]

    relazione 1:N tra Libri e TAGs

    Nota: diventa BANALE aggiungere/togliere TAG ad un libro

  • Re: Per un database che formi un Catalogo bibliografico

    Riprovo a mettere la foto

    Migliorabile: ciò che tu chiami TAG per me sono Classe, Sottoclasse e Soggetto. Editore, Collana, Classe, Sottoclasse, Traduttore sono tutte combobox. Fare una combobox per gli Autori non mi sembra adeguato, dovrei inserire prima tutti gli autori (sono più di mille, e poi l'errore può comunque esserci).

  • Re: Per un database che formi un Catalogo bibliografico

    26/01/2025 - Barsyk ha scritto:

    cosa ci trovate di sbagliato, di poco logico o addirittura di totalmente illogico in questa struttura?

    Se vai in biblioteca non chiedi un libro di schifen kong.. (per non fare pubblicità)

    Chiedi 'il collezionista di francobolli ' (sempre per non fare pubblicità).

    26/01/2025 - Barsyk ha scritto:

    Ora, chiarito questo, i miei "problemi" riguardano soprattutto:  

    1) la futura Ricerca (per Titolo innanzitutto, come avrete capito ieri, ma non soltanto per Titolo); la casella di ricerca dovrebbe funzionare esattamente come quella che c'è in Access in basso, quella piccola;

    Ti avevo scritto (anzi chatgpt ha scritto) la query in visualizzazione/consultazione nell'altro post...

    Parti da libri (titoli) è quella la tabella master.

    Cerchi un tutolo? Nei criteri metti il titolo che cerchi.

    Se usi sql parametrica Parametro=imputbox(...)

    Cerchi un autore? Usa i parametri o i filtri

    Idem per ogni campo di ricerca...

    26/01/2025 - Barsyk ha scritto:

    2) la possibilità di catalogare per Titolo nel caso ci fossero più di tre Autori;

    Usa la molti a molti

    26/01/2025 - Barsyk ha scritto:

    3) la possibilità di rendere visibile il campo Comprende (che qui ancora non c'è, c'è solo la tabella) SOLO nel caso in cui il Titolo contenga altri titoli.

    Non so se uno a molti o molti a molti

    Nel dubbio metti una molti a molti.

  • Re: Per un database che formi un Catalogo bibliografico

    Io farei una cosa di questo tipo partendo dalle informazioni che si voglio trattare, organizzare, ricercare e tanto altro possa piacere realizzare.

    Prendendo spunto da un sito Web, Esempio per presentare un opera con alcune informazioni base: (rappresenta il risultato alla fine di una ricerca)

    Opera :

    Dettaglio Opera :

    per altri dettagli vedere quanto esposto da sihsandrea e migliorabile

    Potrebbe esse un discreto punto di partenza.

  • Re: Per un database che formi un Catalogo bibliografico

    26/01/2025 - migliorabile ha scritto:

    Comunque: un libro

    1. ha un titolo univoco. Piu' o meno. 
      Ho dei casi in cui libri diversi hanno lo stesso titolo, MA, diciamo, sono casi rari. COMUNQUE da tenere sottocontrollo.
      Puo' avere dei "sottotiloli". Per esempio:  Neural Networks: teoria e applications
      Titolo:  "Neural Networks"
      Sottotitolo: "teoria e applicazioni".
      Puoi avere un campo "sototitolo" Oppure una colonna "Note"/"Commenti" per questi casi "strani".

    Ottimo ottimo... nel caso di titolo uguale  potrebbe essere utile l'Ean da utilizzare come codice univoco e/o in assenza di esso un proprio codice identificativo.

  • Re: Per un database che formi un Catalogo bibliografico

    Ciao... migliorabile , sihsandrea

    approfondendo per Titolo per esempio ho trovato che con lo stesso titolo "Orgoglio e pregiudizio" si hanno almeno191 Opere con lo stesso autore ma con editori diversi etc etc ... 

    Un esempio tratto da questo sito: https://www.ubiklibri.it/catalogo.html?q=orgoglio+e+pregiudizio&type=title

  • Re: Per un database che formi un Catalogo bibliografico

    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)

  • Re: Per un database che formi un Catalogo bibliografico

    Io propongo (per ripartire) la seguente struttura tabelle (per il momento ignoro Comprende):

    Artisti
    IDArtista (PK)
    Artista

    Titoli
    IDTitolo (PK)
    Titolo
    IDEditore (FK)
    ...tutti gli altri campi che hai messo, tranne Traduttore, Curatore, Collaboratore

    RuoliArtisti
    IDRA (PK)
    IDArtista (FK)
    Ruolo (qui ci scrivi se si tratta di Autore, Traduttore, Curatore, Collaboratore...per il libri con le immagini, Immagini...)
    IDTitolo (FK)

    Editori
    IDEditore (PK)
    Editore

    Relazioni:
    Artisti.IDArtista uno-a-molti RuoliArtisti.IDArtista
    Titoli.IDTitolo uno-a-molti RuoliArtisti.IDTitolo
    Editori.IDEditore uno-a-molti Titoli.IDEditore

    Riguardo Comprende...gli esempi che hai più volte riportato non li ho capiti. Provo a proporre altro a parole mie.
    Ad esempio il libro Cuore contiene i suoi Capitoli, ogni capitolo ha un Titolo specifico vero e proprio. Tu vuoi tracciare anche i singoli Capitoli di questo libro?
    Altro esempio, hai un libro (invento) di "Atti dal convegno studi sulla vita di Giuseppe Verdi - Aggiornamenti". Il libro contiene n interventi di vari relatori, ogni intervento ha un proprio Titolo. Tu vuoi tracciare questi Titoli?

  • Re: Per un database che formi un Catalogo bibliografico

    @Osvaldo, un esempio banale: i libri pubblicati a fronte di 'convegni' (il convegno sulle biotecnologie, sull'intelligenza artificiale, sulla robotica, ...) contengono la raccolta degli articoli di ricerca presentati al convegno. 

    Ogni articolo e' un capitolo del libro, ed ogni articolo e' scritto da 1 o piu' autori.

    eccolo li' il pasticcio.

    Pero' e' una struttura con SOLO 2 livelli: libro (insieme di capitoli) E capitolo.

Devi accedere o registrarti per scrivere nel forum
9 risposte