Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Strutturare Directory e Sottodirectory

    Ciao,
    Sto montando la struttura per creare delle categorie all'interno di una applicazione.
    Il mio dubbio é, non sará molto pesante la query di consulta se ci saranno tantissimi records?

    La struttura é questa:

    codice:
    categoria_id     categoria_nome      categoria_padre
    01                   Alimenti                
    02                   Cereali                   01
    03                   Orzo                      02
    04                   Ortaggi                  01
    05                   Peperoni                04
    O c'é percaso un modo più solido per realizzarla?

    Grazie per l'aiuto.

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Questa e' una bella struttura di una tabella ricorsiva.

    Devi indicizzare opportunamente e quindi scrivere le dovute procedure ricorsive di estrazione dati. E si potrebbero essere pesanti, ma se isoli correttamente gli use-case non dovresti avere troppi problemi...

    Diciamo che eventualmente potresti pensare di mettere le relazioni in una tabella esterna cosi0 da normalizzare il tutto.

    Poi vedi te.

  3. #3
    Hummm dici le relazioni su un altra tabella in questo modo?


    CATEGORIE
    categoria_id, categorie_nome

    RELAZIONI
    relazioni_id, relazioni_categoria_id, relazioni_padre

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    una cosa del genere appunto

    ma attenzione che puoi fare in modo da avere molti tipi di relazioni differenti


    table categories

    id , label , description


    table categories_relations

    id_category_from
    id_category_to

    relation_type int

    primary key( id_category_from , id_category_to , relations_type )


    pensa che cosi' ti fai pure i grafi

  5. #5
    vedo do studiarmela nei prossimi giorni...
    grazie 1000 per l'aiuto.

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    No prob facci sapere come va

    P.S.
    e cmq le procedure ricorsive non te le toglie nessuno in entrabe le situazioni. Sono una buona soluzione , abb elegante e flessibile

    Considera che in base al tipo di relazione puoi inserire tipologie differenti di correlazione tra le categorie e non solo relazioni parentali ( padre-figlio fratelli nonni ziii cuggini etc)

    ma anche relazioni del tipo hai visitato questa categoria allora suggeriamo anche questa... etc.. etc..c etc. Ovviamente dipende sempre da che profonidtà vuoi raggiungere.

    Ma la tabella di relazione ti darà una struttura su cui puoi fare quello che vuoi.

    UNICO ED IMPORTANTISSIMO accorgimento e' la corretta gestione delle chiavi esterne, in modo che se cancelli o operdi dugli id delle categorie nella tabella principale le modifice vengano apprtate a CASCATA anche sulla tabella di relazione onde evitare di ottenere dati incoerenti.

  7. #7
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    La soluzione da te postata originariamente cris è la migliore da usare nel caso di specie perché ti da la maggiore flessibilità soprattuto nel caso in cui tu abbia sotto categorie multiple ed innestate.

    L'estrazione dei può diventare pesante solo se il quantitativo dei dati è consistente, decine di migliaia di record, scenario decisamente improbabile a mio avviso, nel tuo caso al massimo arriverai a malapena ad 50 - 100 righe in quella tabella.

  8. #8
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Se non devi fare cose troppo complesso e' ok ma se vuoi aggiungere relazioni non di tipo parentale ?

    Vabbe poi ovviamente va scelta la soluzione che si reputi migliore.

  9. #9
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Data la domanda, e dato l'esempio di categorie che deve gestire sembra ovvio che stia gestendo categorie prodotti... quindi quella soluzione va bene nel suo caso.

  10. #10
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Si certamente anche io in casi simili ho adottato una soluzione simile.

    Ovviamente il mio appunto era rivolto al caso in cui si volesse estendere la gestione dei riferimenti oltre una normale situazione di riferimento parentale.

    Cmq in ogni vaso via di ricorsione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.