Campo FORMATO libro

di il
12 risposte

Campo FORMATO libro

Gentilissimi,
ho costruito un DB dove una tabella è costituita da Record che in pratica sono dei titoli di libri utilizzati dai corsi della scuola dove lavoro.
Dovrei aggiungere nel DB l'informazione che il volume X (Record X) è stato acquistato in formato:
SOLO CARTACEO oppure
SOLO DIGITALE oppure
IN ENTRAMBI I FORMATI
Domanda banale:
Qual'è il modo migliore in Access per gestire questa piccola informazione in termini di tipo di dato, proprietà e formato?
Grazie mille

12 Risposte

  • Re: Campo FORMATO libro

    Facendo l'analisi specifica ti direi 2 campi Booleani credo sarebbe comodo e funzionale.

    In senso tecnico se ci fossero più opzioni e se queste fossero da rendere flessibili... la strada sarebbe diversa... ma non è questo a mio avviso il caso.
  • Re: Campo FORMATO libro

    Due campi? Non è suffficiente utilizzarne uno solo?
    Che vantaggi offre la soluzione di utilizzo di 2 campi?
    Grazie @Alex
  • Re: Campo FORMATO libro

    Tutto è fattibile anche sbagliare o sottovalutare...
    Con 1 solo campo tu come faresti a gestire entrambi i formati...?
    Con il descrittivo in maiuscolo che hai scritto sopra....?
    Dove pensi di memorizzare quel testo...? Se pensi di farlo digitare non troverai più nulla... quindi va memorizzato.
    Per memorizzato serve aggiungere una tabella.
    A quel punto devi distinguere il testo descrittivo dal campo chiave relazionale che ti suggerirei un Counter per tua semplicita quindi non dovresti usare il testo ma gli indici perché sono piu flessibili e veloci del testo...
    A quel punto vigono le regole relazionali... il fb ragiona a numeri ma l'utente deve vedere il testo... serve quindi usare sempre delle combo nel campo relativo... ecc...
    Sicuramente se hai le idee chiare tutto questo ti è già chiaro quindi superflua perdita di tempo.

    Questo tuttavia è un compromesso che poi richiede tu sia consapevole che se uno cerca libri Cartacei non devi cercare SOLO CARTACEI ma devi cercare 2 opzioni CARTACEI OR ENTRAMBI... e così per l'altra opzione...

    Se domani quello che chiami digitale viene scomposto in digitale web o portable che ovviamente è plausibile ma è solo un esempio... ecco che inizi ad avere problemi...

    La soluzione giusta è questa semplice con 2 campi se non hai una grande dimestichezza, altrimenti se ho sottovalutato devi optare per relazione Molti a Molti ela cosa quindi come saprai si complica e servono altre 2 tabelle...

    Ecco hai le 3 opzioni... vedi tu ora quale usare in base alle tue esperienze.
  • Re: Campo FORMATO libro

    Potresti anche utilizzare solo 1 campo (byte) utilizzando i bit come flag.
    Esempio (deliberatamente espresso in decimale e NON in binario) :
    0 - Nessun Formato (sempre che sia una casistica ammessa)
    1 - Solo Cartaceo
    2 - Solo Digitale
    3 - Cartaceo e Digitale (3=2+1)
    4 - Web
    5 - Cartaceo e Web (5 = 4+1)
    6 - Digitale e Web (6=4+2)
    7 - Cartaceo, Digitale e Web (7 = 4+2+1)
    e via di seguito .....
  • Re: Campo FORMATO libro

    Grazie ma potreste gentilemente dirottarmi su qualche esempio sul Web?
    Per l'uso dei bit come flag forse mi capitò anni fa quando feci un excursus nel mondo della programmazione,
    ma adesso sono arruginito e non riesco a vedere la cosa implementata con Access....
  • Re: Campo FORMATO libro

    Io ho la sensazione che strambotto non conosca i campi di tipo Sì/No (altrimenti detti FLAG o BOOLEAN durante questa discussione). Si tratta di appena 2 piccoli quadratini sui quali metterci la spunta: nulla di traumatico. E mi sembra (per ora) la soluzione più pratica/conveniente in termini di facilità/benefici.

    Per i cocciuti più cocciuti di me...allora giocati un solo campo di tipo Testo breve con "casella combinata" e le proprietà:
    - Tipo origine riga: Elenco valori
    - Origine riga: "SOLO CARTACEO"; "SOLO DIGITALE"; "IN ENTRAMBI I FORMATI"

    In tutti gli altri casi, ti sono state già fornite le soluzioni.
  • Re: Campo FORMATO libro

    Il suggerimento di Max è in ogni caso da implementare con 1 Tabella aggiuntiva, altrimenti visualizzerai i numeri al posto delle Descrizioni, oppure dovrai disseminare le Query ed il codice di conversioni...
    Questo significa che la tabella da creare invece di avere come PK un Counter avrà un Byte che valorizzi secondo la tabella che ha suggerito MAX e nel campo Descrittivo inserirai il Descrittivo...

    Per poi Filtrare i dati ti basterà usare l'operatore Logico di Mascheratura dei BIT che in SQL è BAND ed andrai a mettere il valore del Campo in BAND con il valore selezionato...

    Cioè se vuoi solo i libri con Cartaceo+Digitale (Key=5)... farai una cosa simile
    
    SELECT * FROM Tabella WHERE TipoSupporto BAND 5
    Ovviamente quel valore dovrai prenderlo da una ComboBox di selezione con Origine RIga la Tabella con i valori.

    Fai attenzione che questo metodo impone che ogni BIT sia un Formato... quindi in Logica Booleana se usiamo un Tipo di Campo Numerico BYTE=255 significa 8 Bit, che significa 8 Tipi di formato... e dovrai assegnare Valori e Descrizioni sviluppando la Tabella della verità... per chi ha fatto elettronica.
  • Re: Campo FORMATO libro

    strambotto ha scritto:


    Grazie ma potreste gentilemente dirottarmi su qualche esempio sul Web?
    No. Hai avuto sufficienti informazioni per provare a fare qualcosa .....

    strambotto ha scritto:


    .... ma adesso sono arruginito .....
    Per questo problema esistono rimedi naturali
  • Re: Campo FORMATO libro

    max.riservo ha scritto:


    strambotto ha scritto:


    .... ma adesso sono arruginito .....
    Per questo problema esistono rimedi naturali
    Mio nonno diceva olio di gomito...
  • Re: Campo FORMATO libro

    @Alex ha scritto:


    Il suggerimento di Max è in ogni caso da implementare con 1 Tabella aggiuntiva, altrimenti visualizzerai i numeri al posto delle Descrizioni, oppure dovrai disseminare le Query ed il codice di conversioni...
    Questo significa che la tabella da creare invece di avere come PK un Counter avrà un Byte che valorizzi secondo la tabella che ha suggerito MAX e nel campo Descrittivo inserirai il Descrittivo...

    Per poi Filtrare i dati ti basterà usare l'operatore Logico di Mascheratura dei BIT che in SQL è BAND ed andrai a mettere il valore del Campo in BAND con il valore selezionato...

    Cioè se vuoi solo i libri con Cartaceo+Digitale (Key=5)... farai una cosa simile
    
    SELECT * FROM Tabella WHERE TipoSupporto BAND 5
    Ovviamente quel valore dovrai prenderlo da una ComboBox di selezione con Origine RIga la Tabella con i valori.

    Fin qui tutto chiaro ... Sul seguito quando parli di Formato non ti seguo ("ogni BIT sia un Formato")

    Fai attenzione che questo metodo impone che ogni BIT sia un Formato... quindi in Logica Booleana se usiamo un Tipo di Campo Numerico BYTE=255 significa 8 Bit, che significa 8 Tipi di formato... e dovrai assegnare Valori e Descrizioni sviluppando la Tabella della verità... per chi ha fatto elettronica.
  • Re: Campo FORMATO libro

    Se non hai compreso la progressione numerica proposta da MAX credo sia dovuta alla tua non conoscenza dell'algebra booleana...?

    Per come si sviluppa un numero 8 bit, significa che i singoli Bit sono le singole ipzioni(Pdf,Carta, Wwb...) mentre lo sviluppo della tabella sono la combinazione degli 8 bit 2^8=256(0÷255) rappresenta il numero di tutte le combinazioni gestibili.
    Se nel tuo caso hai 2 opzioni base ed 1 combinata userai solo 2Bit degli 8... i primi 2 che da origine a 2^2=4 combinazioni(0÷3)
    Ma l'importante è capire
    N°OpzioniBase=N Bit
    N°OpzioniCombinate=2^N-N

    Quindi nel tuo caso:
    00000000 =0 Nessuna
    00000001 =1 Pdf
    00000010 =2 Cartaceo
    00000011 =3 Pdf+Cartaceo
    Se fossero 3 opzioni base avresti bisogno del 3°Bit...(0÷7)
    00000100 = 4 Web
    00000101 = 5 Web+Pdf
    00000110 = 6 Web+Cartaceo
    00000111 = 7 Web+Pdf+Cartaceo

    Come vedi il formato Singolo occupa un Bit singolo...

    Quindi nella tua tabella avrai 2^Nbit Records da inserire... fino ad un massimo di 8Opzioni e 256 Records(8 base+248 combinazioni) se usi un campo Byte
    Se.usi un campo integer arrivi fino a 16 Opzioni base e 65520 combinazioni... 65536records(0÷65535)

    https://it.m.wikipedia.org/wiki/Potenza_di_du

    P.s. l'algebra booleana è una base scolastica su cui direi che oltre a quanto ti ho esposto non andiamo nel forum lasciando a te l'approfondimento ed eventualmente lo studio.
  • Re: Campo FORMATO libro

    Grazie Alex, adesso ho davvero un po' di materiale su cui lavorare approfittando della quarentena forzata. Non sono informatico di professione e nemmeno per passione ma ci sono situazioni che impongono di doversi arrangiare e l'automazione è essenziale per razionalizzare operazioni di lavoro altrimenti monotone e ripetitive (per quanto si riesca a fare in contesti dove si investe poco in innovazione)
Devi accedere o registrarti per scrivere nel forum
12 risposte