Dubbi su relazioni Fra Tabelle

di il
21 risposte

21 Risposte - Pagina 2

  • Re: Dubbi su relazioni Fra Tabelle

    22/11/2025 - Sarri ha scritto:

    Casa

    GestioneAttività

    tasse

    Spese per la Attività

    Spese personali

    auto

    quindi cuando inserisco dico:

    Categoria auto, Sottocategoria Assicurazione, importo, data etc

    categoria auto, Sottocategoria CommissioneDiPagamento, etc

    ma quell'comissione di pagamneto che puo essere abbinato alla categoria Auto, o Casa, o GestioneAttività, non capisco come gestirlo

    Comprendo la tua confusione di idee. I dati appaiono disomogenei, ma sta a te cercare di minimizzare i danni più che altro "psicologici".

    Di fronte a questa lista di valori, io mi giocherei le tabelle così:

    TipiSpese
    IDTipoSpesa (PK)
    Categoria
    Sottocategoria

    Spese
    IDSpesa (PK)
    DataSpesa
    IDTipoSpesa (FK)
    Importo

    Relazione TipiSpese.IDTipoSpesa uno-a-molti Spese.IDTipoSpesa

    Si poteva fare anche su più tabelle, ma io punterei l'attenzione su IDTipoSpesa che sfrutta la combinazione campi Categoria-Sottocategoria che accoppiati selezionano in un colpo solo quello che tu vuoi descrivere nel campo Spese.IDTipoSpesa.

  • Re: Dubbi su relazioni Fra Tabelle

    23/11/2025 - OsvaldoLaviosa ha scritto:

    punterei l'attenzione su IDTipoSpesa che sfrutta la combinazione campi Categoria-Sottocategoria che accoppiati selezionano in un colpo solo quello che tu vuoi descrivere nel campo Spese.IDTipoSpesa.

    Ma in questo modo non sarà obbligato a duplicare sulla tabella i nomi delle categorie per accoppiarli ai vari tipi di spesa?
    Se non ho completamente frainteso, credo sia ridondante in questo modo.

    Probabilmente il sistema più corretto è questo:

    Appartamenti
    IDAppartamento (PK)
    DescrizAppartamento
    ... altri dati

    CategoriaSpese
    IDCategoriaSpesa (PK)
    DescrizioneCategoria

    TipiSpese
    IDTipoSpesa (PK)
    rifIDCategoria (FK)
    Sottocategoria

    Spese
    IDSpesa (PK)
    DataSpesa
    rifIDAppartamento (FK) -> Riferimento all'appartamento 
    rifIDCategoriaSpesa (FK) 
    rifIDTipoSpesa (FK) 
    Importo

    E' vero che c'è una tabella in più, ma almeno si evita la ridondanza della categoria nella TipiSpese e, nel caso dovessero aggiungersene basta farlo nella tabella adeguata (CategoriaSpese)

    TheTruster

  • Re: Dubbi su relazioni Fra Tabelle

    24/11/2025 - TheTruster ha scritto:

    Spese
    IDSpesa (PK)
    DataSpesa
    rifIDAppartamento (FK) -> Riferimento all'appartamento 
    rifIDCategoriaSpesa (FK) 
    rifIDTipoSpesa (FK) 
    Importo

    rifIDCategoriaSpesa (FK)  è riferito a rifIDTipoSpesa (FK) 

    categoria1>>> tipospesa1; tipospesa2; ecc... (per come hai gestito categoria e tipo di spesa)

    CategoriaSpese
    IDCategoriaSpesa (PK)
    DescrizioneCategoria
    
    TipiSpese
    IDTipoSpesa (PK)
    rifIDCategoria (FK)
    Sottocategoria

    non dovrebbe esistere categoria2>>>tipospesa2 (manutenzione>>>IMU e imposte e tasse>>>IMU) altrimenti saremmo in una m a m

    tipo si spesa viene raggruppata per  la categoria (da individuare attentamente) .

    categoria e tipo di spesa sembrerebbero campi di filtraggio e ricerca, il costo è il bollettino o la fattura recante l'importo di spesa.

    voglio sapere le tasse relative alle unità immobiliari filtro per categoria tasse, voglio affinare la ricerca allora filtro per sottocategoria tari e/o imu... o, ancora per l'immobile 3 ecc...

    in ogni caso, se sto imputando la spesa tari per l'immobile 1 dubito che come categoria mi ritrovo "utenze" o "manutenzioe ordinaria", ma "Imposte e tasse"

    in fase di carico, filtro per categoria e mi si presentano le voci per quella categoria. seleziono la voce, registro "rifIDTipoSpesa (FK) " dal suo id metto una causale "tassa acconto tari anno bla bla..." e metto l'importo. 

    al limite, metto un campo calcolato che mi tira fuori la categoria come descrizione.

  • Re: Dubbi su relazioni Fra Tabelle

    24/11/2025 - TheTruster ha scritto:

    Spese
    IDSpesa (PK)
    DataSpesa
    rifIDAppartamento (FK) -> Riferimento all'appartamento 
    rifIDCategoriaSpesa (FK) 
    rifIDTipoSpesa (FK) 
    Importo

    So bene che il rifIDCategoriaSpesa non è indispensabile perchè rifIDTipoSpesa sarà comunque correlato ad una categoria e, di conseguenza la "coppia" univoca è garantita. Io però, comunemente, tendo ad adottare questo sistema sui miei progetti perchè mi velocizza nella possibilità di effettuare delle query direttamente con la Categoria, senza dover fare una join con la tabella intermedia (TipoSpese, in questo caso) per ricavarla.

    Anzi, in realtà, in alcuni casi, anche se può sembrare controintuitivo, utilizzo una sola tabella con un campo di dipendenza, che mi consente di "trasformare" ogni voce in una sottocategoria, e posso analizzarla in modo ricorsivo per ricostruire un elenco di categorie e sottocategorie, tipo diagramma ad albero. In questo modo non ci si deve limitare ai soli 2 livelli gerarchici tipo Categoria -> Sottocategoria, ma si possono gestire un numero indefinito di livelli.

    TheTruster

  • Re: Dubbi su relazioni Fra Tabelle

    Quando vado a caricare un costo mi limito a fare la ricerca sul tipo di costo. quello che c'e' a monte serve per avere una compattazione del costo in una unica categoria di costo. contabilmente non andrò a cercare "costi di produzione" per poi scegliere "cancelleria". cercherò "cancelleria" che a monte è configurato come costi di produzione. 

    nell'esempio, se acquisto delle licenze, non cerco "immobilizzazioni immateriali" ma scrivo direttamente "software" che sarà configurato per essere raggruppato nella sua macrocategoria.

    la categoria serve in fase di carico della sottogategoria. se devo inserire un gatto non perdo tempo ad inserire "regno animale">>"mammiferi">>"gatto" avrò configurato il gatto e per ogni elemento riguardante il gatto cercherò la voce "gatto".

    in questo caso software sarà configurato figlio di immobilizzazioni immateriali che a sua volta è figlio di immobilizzazioni che sarà configurato come attivo di stato patrimoniale.

    25/11/2025 - TheTruster ha scritto:

    Io però, comunemente, tendo ad adottare questo sistema sui miei progetti perchè mi velocizza nella possibilità di effettuare delle query direttamente con la Categoria, senza dover fare una join con la tabella intermedia (TipoSpese, in questo caso) per ricavarla.

    la scrivi solo una volta...

    select bla bla... where (categoria=x and categoria<>'') and (sottocategoria=y and sottocategoria<>'') and (appartamento=z and appartamento<>'')

    se ho selezionato la categoria mostra la categoria imposta altrimenti mostra tutto idem per le altre voci.

    l'utente deve solo limitarsi a inserire i parametri (presi da una combo) ogni volta che cambia la combo riesegui la sql altrimenti metti il pulsante "applica filtro".

  • Re: Dubbi su relazioni Fra Tabelle

    24/11/2025 - TheTruster ha scritto:

    Ma in questo modo non sarà obbligato a duplicare sulla tabella i nomi delle categorie per accoppiarli ai vari tipi di spesa?

    Ci può stare Categorie uno-a-molti TipiSpese. Sei si guarda attentamente la lista valori esposta da Sarri, direi anche Sottocategorie uno-a-molti TipiSpese. Presi singolarmente Categoria e Sottocategoria hanno valori indipendenti che se ne vanno ognuno per conto proprio. Quello che mi interessa focalizzare l'attenzione è la coppia campi Categoria-Sottocategoria che dovrà essere UNIVOCA.

    24/11/2025 - TheTruster ha scritto:

    Appartamenti
    IDAppartamento (PK)
    DescrizAppartamento
    ... altri dati

    Ci avevo pensato anch'io inizialmente a una tabella Case o Appartamenti (con la relazione a seguire), ma ho preferito leggere il recordset logico di Sarri. Lui considera "Casa1" e "Casa2" due valori di Categoria.

  • Re: Dubbi su relazioni Fra Tabelle

    25/11/2025 - OsvaldoLaviosa ha scritto:

    Ci avevo pensato anch'io inizialmente a una tabella Case o Appartamenti (con la relazione a seguire), ma ho preferito leggere il recordset logico di Sarri. Lui considera "Casa1" e "Casa2" due valori di Categoria.

    Ciao Osvaldo,
    E' vero, ma è anche vero che spesso, chi progetta un DB senza troppa esperienza alle spalle, fa scelte discutibili :-D

    Sono dell'opinione che è sempre meglio mostrare la strada che riteniamo corretta. Se poi l'OP decide di continuare per la sua strada... amen.

    TheTruster

Devi accedere o registrarti per scrivere nel forum
21 risposte