Ricerca selezionando più colonne

di il
40 risposte

40 Risposte - Pagina 2

  • Re: Ricerca selezionando più colonne

    18/08/2023 - oregon ha scritto:


    Intanto non dovrebbe esistere una tabella ‘principale’ e comunque non chiamarla dati che non significa nulla. Dai un nome preciso.

    Poi come prima cosa non duplicare dari che hai già.

    Poi non itilizzare campi uguali nella stessa tabella ma usa una terza tabella dove aggiungi un record per ogni campo, ovvero

    tabPdofumi

    Idprofumo descrizione

    tabEssenze

    IdEssenza descrizione 

    tabProfEss

    IdProfumo idEssenza 

    e così via per ogni tabella accessoria seguendo le regole della normalizzazione che puoi sempre studiare

    Perfetto ora dati la scorporo in più tabelle, in maniera da avere su di esse solamente i dati relativi alla chiave primaria

  • Re: Ricerca selezionando più colonne

    18/08/2023 - sihsandrea ha scritto:


    18/08/2023 - snasa ha scritto:


    L'essenza viene identificata con il suo id nella tabella essenze (idessenza, essenza, idtipologia, tipologia), creata per una casella combinata che filtra da una query per tipologia.

    ma anche nella tabella dati, dove idn è la chiave primaria associata al profumo, l'essenza viene suddivisa in trenta campi, considerando che un profumo ha da 1 a 10 essenze per il campo testa, da 1 a 10 per il campo cuore, da 1 a 10 per il campo fondo. qui attraverso una query raggruppo 3 gruppi da 10 (testa, cuore e fondo) così nella maschera visualizzo e cerco un profumo per n o per marchio o per famiglia e mi compare la descrizione completa compresi i tre campi che raggruppano le essenze.  

    Scusa, mi sono espresso male.

    Che valori metti su testa da 1 a 10, su cuore da 1 a 10 e su fondo da 1 a 10?

    Sono ingredienti della composizione dell'essenza?

    Può succedere che “notte tempestosa” abbia testa da 1 a 4 e da 8 a 9 ma non abbia testa da 5 a 7? Tipo: speziato, dolce, agrumato ecc..

    Ecco, la mia domanda è l'essenza di gelsomino, come va identificata? Cosa è testa, cosa cuore e cosa fondo?

    Poi, cosa è €?

    Insomma, cosa sono e ache servono tutti gii altri campi che hai creato?

    Allora spiego meglio in effetti ho omesso molti passaggi, ogni profumo (articolo) è composto da più essenze divise in tre categorie (testa1.., cuore 1..e fondo1..) ogni essenza ha una tipologia;
    esempio
    articolo: notte tempestosa
    testa1: bergamotto (tipologia agrumi)
    testa2: iris (tipologia fiori)
    testa3: cannella (tipologia spezie)
    testa4: cardamomo (tipologia spezie)
    testa5: tulipano (tipologia fiori)
    testa6: rosa (tipologia fiori)
    cuore1: arancia (tipologia agrumi)
    cuore2: vaniglia (tipologia fiori dolci)
    fondo1: fava tonka (tipologia ambre)
    fondo2: incenso (tipologia fumi)
    fondo3: labdano (tipologia resine)
    fondo4: oud (tipologia legni)

    l'articolo, inoltre ha uno o più inventori (naso), ha un settore olfattivo (famiglia), un marchio (marchio), un codice (n) ha un prezzo (€), una capacità (ml)
    esempio
    naso: alessandro gualtieri
    famiglia: chypre
    marchio: naso matto
    codice: 0002
    €: 130
    ml: 30

  • Re: Ricerca selezionando più colonne

    18/08/2023 - fratac ha scritto:


    Quindi in realtà la tabella dati, è quella che contiene i profumi?

    Comunque il database  andrebbe rifatto completamente, solo che naturalmente hai già tutti i dati inseriti.

    Secondo me la soluzione è costruire nello stesso database, altre tabelle collegate tra di loro ed usare quelle già presenti come fonte dati per riempire mano a mano le nuove tabelle.

    Creare delle query  su questo database, sarebbe anche possibile, ma ne dovresti fare una per ogni essenza, testa e fondo.

    Però diventerebbe un lavoro immane, confusionario e ripetitivo.

    Sta a te decidere se continuare con quello che hai già realizzato, oppure tentare di costruire un nuovo database seguendo le regole della normalizzazione.

    Sì certo nella tabella dati è quella diciamo da rivedere e scorporare.

    sono dispostissima a rifarlo anche da zero avendo già tutti i dati.

  • Re: Ricerca selezionando più colonne

    18/08/2023 - fratac ha scritto:


    18/08/2023 - snasa ha scritto:


    Quindi tenere buona la tabella dati contenente le informazioni ma senza le essenze.
    poi devo portare il campo idn (la chiave primaria della tabella dati) nella nuova tabella (es.essenzeprofumo), compilare la tabella manualmente creando 30 campi id (prendendoli dalla tabella essenze) e 30 campi testo, dove ad ogni idn corrispondano da 3 a 10 id.. ho capito male?

    Non è che hai capito male, ma ragioni come se stessi lavorando con excel, dove sei costretta a creare delle celle per ogni essenza.

    I database hanno una logica diversa. Ogni tabella deve contenere per prima cosa, solo una categoria di dati appartenente ad un gruppo.

    E se un profumo è composto da più di una essenza, non c'è bisogno che crei un campo per ogni essenza, si attua una procedura diversa.

    Si creano due tabelle. Collegate tra di loro con delle relazioni uno a molti, dove nella prima ci sarà il nome del profumo, nell'altra tutti i record con le essenze che compongono il profumo.

    Quindi nella prima tabella avrai tutta l'anagrafica del profumo, ad esempio:

    ID_profumo
    Nome_profumo
    Valore_commerciale

    nella seconda tabella avrai

    ID_Essenze
    Nome_essenza
    ID_profumi

    Collegando con una relazione ID_Profumo e ID_profumi nel momento che andrai ad immettere un nuovo profumo:

    Nella prima tabella verrà creato un record con il nome del profumo e nella seconda tabella potrai creare mille mila record contenenti le essenze, senza andare a creare un campo per ogni essenza. 
    Quindi ad ogni record nella tabella profumo, avrai più record corrispondenti nella tabella essenze, collegati con i numeri ID


    Se crei due tabelle, crei la relazione e poi selezioni la tabella dei profumi e usi “Crea maschera” capirai subito come funzionano i database.

    Eh sì hai proprio ragione, sono partita due anni fa con la creazione di questo db, conoscendo un po' excel, ma solo ora mi accorgo che avrei dovuto normalizzarlo fin dal principio..

    quindi oltre le due tabelle che mi hai consigliato di fare, tengo buone tutte le altre diciamo secondarie (composte solo da un campo per la chiave primaria e un campo testo) ?

  • Re: Ricerca selezionando più colonne

    18/08/2023 - fratac ha scritto:


    in teoria questo database non può più essere normalizzato

    Non intendo dire che il db possa essere trasformato in normalizzato. Intendo dire costruirne uno da zero e una volta capito il meccanismo, con la santa pazienza reinserire i dati presenti nel db non normalizzato.

  • Re: Ricerca selezionando più colonne

    18/08/2023 - snasa ha scritto:


    quindi oltre le due tabelle che mi hai consigliato di fare, tengo buone tutte le altre diciamo secondarie (composte solo da un campo per la chiave primaria e un campo testo) ?

    Le due tabelle che ti ho consigliato di fare sono solo un esempio per mostrarti come funzionano i database relazionali e come access costruisce in automatico le maschere per l'immissione dei dati, in base alle relazioni.

    Non so se è effettivamente quello che potrebbe servirti.

    Per quanto riguarda le tabelle che puoi tenere intatte, non conoscendo l'attuale struttura la risposta è:

    Boh….

    DIciamo che in linea di massima, tutte quelle tabelle, che abbiano un ID e che contengano dati di base, paragonabili ad una anagrafica, possono essere tenute ed usate per l'inserimento dei dati nella tabella che conterrà la composizione dei profumi.

    Ad esempio, se hai delle tabelle che contengono tutti i nomi delle essenze e la loro descrizione, oppure hai una tabella che contiene solo i nomi dei maestri profumieri, in teoria, non c'è bisogno di riscriverle, ma possono essere usate per immettere i dati nelle nuove tabelle che andranno a contenere il collage dei dati che andranno a formare il profumo.

    Sicuramente la tabella che chiami dati e che contiene i profumi, andrà riscritta e ripopolata manualmente.

    Un consiglio che ti do è di non toccare assolutamente l'attuale database, ma di crearne uno nuovo ed importare nel nuovo database, tutte le tabelle che ritieni di poter riutilizzare, seguendo queste istruzioni Importare tabelle in access.

    Ma una curiosità. Ora come immetti le varie essenze nella tabella dati?
    Le scrivi manualmente di volta in volta, oppure per ogni testa, fondo e cuore, hai una combobox, collegata con un'altra tabella che contiene i nomi della testa, del fondo e del cuore?

  • Re: Ricerca selezionando più colonne

    Prova a postare un database di esempio su un sitodi condivisione  come Dropbox o simili in modo da rendere più semplice un aiuto.

  • Re: Ricerca selezionando più colonne

    18/08/2023 - fratac ha scritto:


    18/08/2023 - snasa ha scritto:


    quindi oltre le due tabelle che mi hai consigliato di fare, tengo buone tutte le altre diciamo secondarie (composte solo da un campo per la chiave primaria e un campo testo) ?

    Le due tabelle che ti ho consigliato di fare sono solo un esempio per mostrarti come funzionano i database relazionali e come access costruisce in automatico le maschere per l'immissione dei dati, in base alle relazioni.

    Non so se è effettivamente quello che potrebbe servirti.

    Per quanto riguarda le tabelle che puoi tenere intatte, non conoscendo l'attuale struttura la risposta è:

    Boh….

    DIciamo che in linea di massima, tutte quelle tabelle, che abbiano un ID e che contengano dati di base, paragonabili ad una anagrafica, possono essere tenute ed usate per l'inserimento dei dati nella tabella che conterrà la composizione dei profumi.

    Ad esempio, se hai delle tabelle che contengono tutti i nomi delle essenze e la loro descrizione, oppure hai una tabella che contiene solo i nomi dei maestri profumieri, in teoria, non c'è bisogno di riscriverle, ma possono essere usate per immettere i dati nelle nuove tabelle che andranno a contenere il collage dei dati che andranno a formare il profumo.

    Sicuramente la tabella che chiami dati e che contiene i profumi, andrà riscritta e ripopolata manualmente.

    Un consiglio che ti do è di non toccare assolutamente l'attuale database, ma di crearne uno nuovo ed importare nel nuovo database, tutte le tabelle che ritieni di poter riutilizzare, seguendo queste istruzioni Importare tabelle in access.

    Ma una curiosità. Ora come immetti le varie essenze nella tabella dati?
    Le scrivi manualmente di volta in volta, oppure per ogni testa, fondo e cuore, hai una combobox, collegata con un'altra tabella che contiene i nomi della testa, del fondo e del cuore?

    Grazie mille in questi giorni mi sono studiata bene il sistema di normalizzazione e soprattutto le relazioni molti a molti e le tabelle joint ho provato anche con i campi multi-valori che avrebbero potuto fare al caso mio ma poi ho capito che sarei uscita dal sistema normalizzato e quindi ho lasciato in partenza .

    Diciamo che per ora sono in fase di progettazione/studio ma sicuramente aggiornerò il mio lavoro a breve.

    Ti rispondo anche se un bel po' in ritardo: nella tabella dati solo le essenze le immettevo manualmente.

  • Re: Ricerca selezionando più colonne

    19/08/2023 - Stifone ha scritto:


    Prova a postare un database di esempio su un sitodi condivisione  come Dropbox o simili in modo da rendere più semplice un aiuto.

    Grazie del tuo consiglio, ora metto insieme il tutto e quando finisco la fase progettazione, cioè capire come usare al meglio le relazioni molti a molti, creare delle joint table fatte su misura, poi sicuramente  metterò degli allegati. 

  • Re: Ricerca selezionando più colonne

    Ciao a tutti finalmente ho finito la struttura normalizzata (spero che lo sia) . 

    Secondo voi, innanzitutto, è la forma corretta?

    Ho un dubbio su l'ultima relazione molti-a-molti Essenza-TipoNota. Allora nella tabella Essenza ci sono tutte le essenze, queste ultime possono essere Note di Testa, Note di Cuore o Note di Fondo, infatti c'è la tabella TipoNota che contiene questi tre record. Quindi un profumo ha molte essenze e a sua volta queste essenze possono avere molte note.

    Ora se tutto fosse perfetto, devo obbligatoriamente scegliere di collegare i fogli secondari (intendo nelle tabelle Profumo ed Essenza dove gli ID si dividono in due) o posso semplicemente agire con le query delle maschere per effettuare delle ricerche?

    Grazie mille!!

  • Re: Ricerca selezionando più colonne

    La struttura relazionare può andare bene,

    Se posti il database è possibile controllare anche come hai gestito le proprietà dei campi nelle tabelle, cosa molto importante specialmente per gente inesperta al fine di evitare salvataggio dei record spesso incongruente.

  • Re: Ricerca selezionando più colonne

    18/08/2023 - snasa ha scritto:


    Allora spiego meglio in effetti ho omesso molti passaggi, ogni profumo (articolo) è composto da più essenze divise in tre categorie (testa1.., cuore 1..e fondo1..) ogni essenza ha una tipologia;
    esempio
    articolo: notte tempestosa
    testa1: bergamotto (tipologia agrumi)
    testa2: iris (tipologia fiori)
    testa3: cannella (tipologia spezie)
    testa4: cardamomo (tipologia spezie)
    testa5: tulipano (tipologia fiori)
    testa6: rosa (tipologia fiori)
    cuore1: arancia (tipologia agrumi)
    cuore2: vaniglia (tipologia fiori dolci)
    fondo1: fava tonka (tipologia ambre)
    fondo2: incenso (tipologia fumi)
    fondo3: labdano (tipologia resine)
    fondo4: oud (tipologia legni)

    l'articolo, inoltre ha uno o più inventori (naso), ha un settore olfattivo (famiglia), un marchio (marchio), un codice (n) ha un prezzo (€), una capacità (ml)
    esempio
    naso: alessandro gualtieri
    famiglia: chypre
    marchio: naso matto
    codice: 0002
    €: 130
    ml: 30

    ok.

    articoli: idarticolo (pk); detailteste (fk); detailcuori (fk); detailfondi (fk) 

    (puoi scrivere le pk e fk come credi tanto non le mostrerai servono per la struttura delle relazioni)

    Teste: Idtesta (pk); descrizione (agrumi, fiori, ecc..)

    idem per cuori e fondi

    detailteste: idtesta; idarticolo

    idem per detailcuori e detailfondi 

    relazioni: articoli m>teste m  idem con cuori e fondi

                     articoli >> detailTeste >>Teste  idem cuori e fondi

    risultato:

    elenco1                           elenco2           elenco3                elenco4

    Notte tempestosa >>> testa1  >>>>> cuore 5  >>>>>> fondo0

                                             testa2 >>>>> cuore 10 >>>>>> fondo 7

                                                                                                    fondo 9

    tramonto rosso 

    ecc…

    man mano che scorri l'eleco 1 (aricoli) si popolano elenco2, 3 e 4 in base ai valore dell'articolo selezionato

    invece per: 

    naso: alessandro gualtieri
    famiglia: chypre
    marchio: naso matto
    codice: 0002
    €: 130
    ml: 30

    abbiamo:

    detailspecifiche: idspecifica (pk); idarticolo (pk)

    specifiche: idspecifica (pk); codice; unitmisura (ml, gr, ecc…); listino, naso; famiglia; marchio;

    unitmisura , naso; famiglia; marchio puoi prenderle da tabelle a parte

    nasi: idnaso (pk); descrizione;

    idem per unitmisura, famiglie e marchi

    magari, man mano che procedi, si vede come impostare il layout e le relazioni singole o le query.

  • Re: Ricerca selezionando più colonne

    29/08/2023 - Stifone ha scritto:


    La struttura relazionare può andare bene,

    Se posti il database è possibile controllare anche come hai gestito le proprietà dei campi nelle tabelle, cosa molto importante specialmente per gente inesperta al fine di evitare salvataggio dei record spesso incongruente.

    ecco il link grazie!

    PROFUMO ULTIMATE - TESTING.accdb

  • Re: Ricerca selezionando più colonne

    Come da immagine allegata dovresti gestire per le tabelle le proprietà:

    • Richiesto (per obbligare l'utente a inserire il dato)
    • Consenti lunghezza zero  (per obbligare l'utente a non ammettere un vuoto, che è diverso da nullo)
    • Indicizzato (per impedire di creare doppioni)

  • Re: Ricerca selezionando più colonne

    Ricordiamoci di questa conversazione come spunto da indicare per il futuro a tutti colore che vorranno spacciare un foglio excel per database. 

Devi accedere o registrarti per scrivere nel forum
40 risposte