Relazioni in Access

di il
16 risposte

Relazioni in Access

Quale la motivazione di usare le relazioni in access?

Per mettere una tabella sotto un'altra tabella e cosivia facendo?

16 Risposte

  • Re: Relazioni in Access

    10/09/2023 - vincenzo_enzo ha scritto:


    Quale la motivazione di usare le relazioni in access?

    Ottimizzare il lavoro in Access: si chiama NORMALIZZAZIONE. Le relazioni aiutano anche a concepire facilmente maschere/sottomaschere. Tanto altro ancora.

    10/09/2023 - vincenzo_enzo ha scritto:


    Per mettere una tabella sotto un'altra tabella e cosivia facendo?

    Non così a casaccio. Il tutto deve essere frutto di una meditata progettazione in base ai fini che si vuole raggiungere. Può capitare di avere database che trattano dati simili, ma con scopi diversi e questo può indurre il programmatore a una progettazione (normalizzazione) diversa.

  • Re: Relazioni in Access

    Le relazioni e la normalizzazione non si riferiscono ad Access ma alla teoria della gestione dei Database Relazionali.

    Per capire non basta un post in un forum, bisogna studiare un bel po' di roba, almeno cominciare a leggere le basi della teoria.

    Comincia con wikipedia

    https://it.wikipedia.org/wiki/Relational_database_management_system

    https://it.wikipedia.org/wiki/Modello_relazionale

    https://it.wikipedia.org/wiki/Normalizzazione_(informatica)

    Detto questo, il fatto di postare lo stesso quesito contemporaneamente in altri forum

    https://forumexcel.it/forum/threads/relazioni-in-access.70583/

    non è un comportamento ben visto, anzi in quel forum totalmente vietato.

  • Re: Relazioni in Access

    I link spiegano come normalizzare.

    per la domanda sul perchè, supponiamo che le tabelle:

    clienti, articoli, fature, righefatture, estratticonto (mi fermo qui)

    siano in una sola tabella. Avresti:

    nome, cognome, ecc… (tuti i campi di Clienti), nrfattura, datafattura, imponibile, ecc.. (tutti i dati della fattura esclusi il corpo), 

    articolo, descrizione, quantità, prezzounitario, iva%, ecc… (tutti i dati relativi al corpo fattura), pagato, datapagamento, modalitàdipagamento…

    se il corpo fattura ha 25 articoli ripeti per 25 volte tutti i valori per gli altri campi.

    oltre ad uno spreco di spazio di archiviazione devi sempre scrivere i valori a mano (non hai una tabella clienti dove attingere ai dati, non hai una tabella articoli dove attingere ai dati, e mi fermo qui.

    se invece metti una lista clienti, una lista articoli, una lista fatture, ecc… oltre a non replicare i dati per ogni record, hai i dati ordinati e uno spazio di archiviazione ridotto. in piu' se mi serve sapere quanti clienti ho cerco su una tabella da 30 record, piuttosto che filtrare una tabella da milioni di record. (pensa se ogni cliente ha 30 fatture da 40 articoli).

  • Re: Relazioni in Access

    11/09/2023 - sihsandrea ha scritto:


    I link spiegano come normalizzare.

    No, si vede che non li hai aperti. Nel secondo

    https://it.wikipedia.org/wiki/Modello_relazionale

    leggi la parte delle relazioni

  • Re: Relazioni in Access

    11/09/2023 - oregon ha scritto:


    11/09/2023 - sihsandrea ha scritto:


    I link spiegano come normalizzare.

    No, si vede che non li hai aperti. Nel secondo

    https://it.wikipedia.org/wiki/Modello_relazionale

    leggi la parte delle relazioni

    Si, infatti spiega come normalizzare.

    Io ho spiegato cosa avrebbe senza relazioni, che poi è la domanda posta.

  • Re: Relazioni in Access

    Quello che hai descritto tu è un esempio di processo di normalizzazione in prima forma normale (1FN)

    Dal link … (cit)

    "Una relazione è dunque la definizione di una tabella, cioè un insieme di colonne e righe, cioè attributi o campi dato insieme ai rispettivi dati o valori che vi compaiono. La definizione della tabella è la testata iniziale e i dati che vi appaiono sono il corpo cioè un insieme di righe.

    In tale ambito, il termine relazione a volte si riferisce anche alle relazioni o vincoli interrelazionali che intercorrono tra una tabella primaria (master) ed altre tabelle secondarie (slave) attraverso l'associazione tra una chiave primaria della tabella principale e le foreign key delle altre tabelle."

    "Quando si crea una relazione tra due tabelle, è possibile impostare l’integrità referenziale.

    L’integrità referenziale è un insieme predefinito di vincoli o regole che il programma (ad es. MS Access) utilizza per accettarsi che la relazione sia valida."

  • Re: Relazioni in Access

    10/09/2023 - vincenzo_enzo ha scritto:


    Quale la motivazione di usare le relazioni in access?

    Per mettere una tabella sotto un'altra tabella e cosivia facendo?

    Non mi sembra che abbia chiesto la definizione di tabella.

    Per questo ho fatto l'esempio.

  • Re: Relazioni in Access

    Scusa ma hai letto tutto? 

  • Re: Relazioni in Access

    11/09/2023 - oregon ha scritto:


    Scusa ma hai letto tutto? 

    Si e non ho contestato nulla. Ho soltanto aggiunto un esempio.

    Onestamente non capisco l'insistenza. NON HO OBIETTATO LA TUA RISPOSTA.

  • Re: Relazioni in Access

    11/09/2023 - sihsandrea ha scritto:


    Non mi sembra che abbia chiesto la definizione di tabella.

    Perdonami ma questa tua risposta non la capisco. Io non ho dato la definizione di tabella in risposta ma un link dove il discorso era un po' più completo.

    La questione è che la  “relazione tra colonne e riga" (comunemente detta tabella) non si deve confondere con i “vincoli interrelazionali” (comunenente dette relazioni). Questi ultimi intercorrono tra una tabella primaria (master) ed altre tabelle secondarie (slave) attraverso l'associazione tra una chiave primaria della tabella principale e le foreign key delle altre tabelle.

    Che è la risposta teorica (un po' più completa) alla domanda e che era già nel link. 

    Fare un esempio va bene ma dire che i link parlano solo di normalizzazione non è vero. Tutto qui.

  • Re: Relazioni in Access

    Se Vincenzo_Enzo segue ancora (anche perché dall'altra parte gli hanno chiuso il thread per crossposting) può essere utile leggere questo

    https://www.andreaminini.com/database/il-modello-relazionale#un_esempio_pratico

  • Re: Relazioni in Access

    11/09/2023 - sihsandrea ha scritto:


    I link spiegano come normalizzare.

    per la domanda sul perchè, supponiamo che le tabelle:

    clienti, articoli, fature, righefatture, estratticonto (mi fermo qui)

    siano in una sola tabella. Avresti:

    nome, cognome, ecc… (tuti i campi di Clienti), nrfattura, datafattura, imponibile, ecc.. (tutti i dati della fattura esclusi il corpo), 

    articolo, descrizione, quantità, prezzounitario, iva%, ecc… (tutti i dati relativi al corpo fattura), pagato, datapagamento, modalitàdipagamento…

    se il corpo fattura ha 25 articoli ripeti per 25 volte tutti i valori per gli altri campi.

    oltre ad uno spreco di spazio di archiviazione devi sempre scrivere i valori a mano (non hai una tabella clienti dove attingere ai dati, non hai una tabella articoli dove attingere ai dati, e mi fermo qui.

    se invece metti una lista clienti, una lista articoli, una lista fatture, ecc… oltre a non replicare i dati per ogni record, hai i dati ordinati e uno spazio di archiviazione ridotto. in piu' se mi serve sapere quanti clienti ho cerco su una tabella da 30 record, piuttosto che filtrare una tabella da milioni di record. (pensa se ogni cliente ha 30 fatture da 40 articoli).

    L'esempio del db a 4 tabelle rispetto al db mono-tabella mi sembra fuorviante

    Un esempio a mio avviso corretto potrebbe essere:

    • un db chiamiamo A con le quattro tabelle collegate tra loro dalle classiche relazioni desiderate
    • un db ‘gemello’ chiamiamo B contenente le quattro tabelle come A ma senza nessuna relazione tra loro

    Qual'e' il vantaggio di lavorare su A piuttosto che su B?

    In sostanza PERCHE' si usano le relazioni tra le tabelle?

    Le risposte viste finora indicano COME si impostano delle relazioni, ma la domanda originale e' PERCHE' si usano

  • Re: Relazioni in Access

    Sempre per leggere qualcosa di basilare

    https://support.microsoft.com/it-it/office/guida-alle-relazioni-tra-tabelle-30446197-4fbe-457b-b992-2f6fb812b58f

  • Re: Relazioni in Access

    11/09/2023 - oregon ha scritto:


    Sempre per leggere qualcosa di basilare

    https://support.microsoft.com/it-it/office/guida-alle-relazioni-tra-tabelle-30446197-4fbe-457b-b992-2f6fb812b58f

    questo ha piu' senso del link di wikipedia! non per completezza ma per il modo basilare di come si introduce il MOTIVO di racchiudere i dati su piu' tabelle.

    Infatti c'e' scritto:

    Uno degli obiettivi della progettazione di un buon database consiste nella rimozione della ridondanza dei dati (dati duplicati). Per raggiungere questo obiettivo, dividere i dati in più tabelle

    io piuttosto che dirla in questi termini ho evidenziato una tabella con dati duplicati ed un db con tabelle relazionate, senza scrivere una tesi di laurea,  ma da li a bacchettare mi sembra esagerato, soprattutto quando non contesto ma cerco di integrare informazioni mancanti per uno che pone questo quesito, considerata la domanda,  perchè l'autore, a pelle, sembra ragionare piu' in fogli di calcolo che in database.

    l'espressione “Per mettere una tabella sotto un'altra tabella e cosivia facendo?” parla da sola.

    Aggiungo: No anche per metterne una accanto all'altra (relazione 1 a 1).

    Se ho recato offesa, faccio ammenda.

Devi accedere o registrarti per scrivere nel forum
16 risposte