Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Per esperti Database

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    63

    Per esperti Database

    ...cercherò di essere il più chiaro possibile...
    quello che segue è un esempio:

    tabella a) (contabilità)
    id_movimento
    data
    dettaglio
    importo

    tabella b) (dettaglio_uno)
    id_dettagliouno
    nominativo
    descrizione

    tabella c) (dettaglio_due)
    id_dettagliodue
    descrizione
    mese
    altrocampo


    Praticamente la tabella a) dovrà essere messa in relazione con tabella b) e tabella c). Questo però crea una ripetizione del numero di dettaglio creando eventuali problemi per creare delle query per risalire alle informazioni del dettaglio. Voi come impostate la progettazione del database per far fronte a questo problema?
    Fatemi esempi con DB Access... Grazie.
    Antonio


  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    63
    ..help!!

    ...la mia domanda non è molto chiara??


  3. #3

    Re: Per esperti Database

    Originariamente inviato da tony31
    ...cercherò di essere il più chiaro possibile...
    quello che segue è un esempio:

    . . .
    . . .

    . . .
    . . .

    Praticamente la tabella a) dovrà essere messa in relazione con tabella b) e tabella c). Questo però crea una ripetizione del numero di dettaglio creando eventuali problemi per creare delle query per risalire alle informazioni del dettaglio. Voi come impostate la progettazione del database per far fronte a questo problema?
    Fatemi esempi con DB Access... Grazie.
    Antonio

    IO FAREI COSI'

    tabella a) (contabilità)
    id_movimento
    data
    dettaglio
    importo

    tabella b) (dettaglio_uno)
    id_dettagliouno
    id_movimento
    nominativo
    descrizione

    tabella c) (dettaglio_due)
    id_dettagliodue
    id_dettagliouno
    id_movimento
    descrizione
    mese
    altrocampo

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da tony31
    ..help!!

    ...la mia domanda non è molto chiara??

    Effettivamente...non è molto chiaro il problema.

    Ci vorrebbe almeno una minima spiegazione del contesto...

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    63
    la tabella a) deve registrare tutti i movimenti contabili, ciascuno numerato progressivamente e avere l'ID di riferimento ad altre tabelle che specificano il dettaglio (es. altra tabella fatturazione, altra tabella altri pagamenti) La tab. a) in pratica racchiude i movimenti di altre tabelle. Chiunque ha sviluppato qualche software gestionale penso che possa capire questa esigenza.

    Antonio


  6. #6
    Originariamente inviato da tony31
    la tabella a) deve registrare tutti i movimenti contabili, ciascuno numerato progressivamente e avere l'ID di riferimento ad altre tabelle che specificano il dettaglio (es. altra tabella fatturazione, altra tabella altri pagamenti) La tab. a) in pratica racchiude i movimenti di altre tabelle. Chiunque ha sviluppato qualche software gestionale penso che possa capire questa esigenza.

    Antonio

    Ciao Antonio, e' per questo motivo che devi riportarti sotto gli id_di tutti movimenti padre oltre a generarti degli id propri di tabella, se utilizzi un solo riferimento padre non potrai eseguire relazioni diversificabili

    Ciao

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Io sto sviluppando un programma gestionale...ma non ho avuto questa esigenza.

    Scherzi a parte, credo che una memorizzazione di questo tipo sia fondamentalmente una ridondanza, poichè memorizzi una lista di movimenti contabili che potresti generare dinamicamente senza memorizzarla estraendo dati da diverse tabelle (bolle, fatture, ecc.).

    La tabella che vuoi creare, se ho capito bene, rappresenta una lista a movimenti contabili già registrati.

    Tuttavia, penso che la realizzazione più adatta e sicura per mantenere la congruenza nel database sia quella di introdurre un campo per ciascuna tabella esterna che si intende collegare (ad esempio, ID, DATAORA, IDBOLLA, IDFATTURA, ecc.).
    A seconda del movimento contabile che si intende associare al record, viene inizializzato uno solo dei campi ID esterni (gli altri rimangono NULL), ma è una soluzione che ti permette di stabilire correttamente relazioni tra tali campi e tabelle esterne.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    io metterei una chiave primaria e diverse chiavi esterne

    contabilità
    id_movimento PRIMARY KEY
    data
    dettaglio
    importo

    dettaglio_uno
    id_dettagliouno PRIMARY KEY
    id_movimento REFERENCES contabilità(id_movimento)
    nominativo
    descrizione

    dettaglio_due
    id_dettagliodue PRIMARY KEY
    id_movimento REFERENCES contabilità(id_movimento)
    descrizione
    mese
    altrocampo

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    63
    ...grazie a tutti, avete individuato perfettamente il problema...

    Antonio

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    63
    ...altre domande:

    1) l'importo conviene specificarlo solo nelle tabelle di dettaglio o ripeterlo anche nella tabella contabilità?
    2) (per floyd) se volessi fare una query (e successivamente un report)della tabella contabilità che mostra tutti i movimenti contabili e il relativo dettaglio... come potrei fare?

    Antonio

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.