Pianificazione di un database relazionale

Prima di creare un database relazionale utilizzando il grafico delle relazioni, progettare il database su carta o a video. Nella terminologia dei database, il progetto che si sviluppa viene detto diagramma entità-relazione.

Per istruzioni generali sulla progettazione di un’app personalizzata FileMaker Pro, vedere Creazione di un'app personalizzata.

Per pianificare un database relazionale:

  1. Determinare le categorie di informazioni necessarie per il database relazionale. Queste categorie saranno le tabelle in FileMaker Pro.

    Ad esempio, un database Vendite potrebbe comprendere queste tabelle: Clienti, che include le informazioni sui clienti; Fatture, che include le informazioni sugli ordini; Prodotti, che include le informazioni sui prodotti.

  2.  

    Tabelle Clienti, Fatture e Prodotti

  3. Determinare il modo in cui le tabelle sono collegate l'una all'altra. È possibile farlo scrivendo frasi semplici che descrivano il modo in cui le categorie interagiscono, ad esempio "i clienti ordinano i prodotti" e "le fatture tengono traccia degli ordini dei clienti".
  4. Collegare una tabella all'altra per indicare una relazione tra loro. Ad esempio, i clienti possono avere fatture e le fatture possono avere prodotti.

    Se una tabella non ha relazioni con un'altra, probabilmente non è necessaria. In questo esempio, una tabella Dipendenti non rientra in questo database relazionale.

  5.  

    Tre tabelle che mostrano relazioni tra loro, con la tabella Dipendenti esclusa

  6. Indicare il tipo di relazione tra le tabelle collegandole con un simbolo rappresentativo.
    • In una relazione "uno a uno", un record in Tabella A corrisponde a un record in Tabella B.
    • In una relazione "uno a molti", un record in Tabella A corrisponde a più record in Tabella B.
    • In una relazione "molti a molti", più record in Tabella A corrispondono a più record in Tabella B.

    Vedere Informazioni sulle relazioni.

  7.  

    Tre tabelle che mostrano relazioni tra loro

    L'esempio indica che:

    • un cliente può avere più fatture
    • un prodotto può essere riportato in più fatture
    • una fattura può avere più prodotti
  8. Tenere presente che tra Fatture e Prodotti è presente una relazione "molti a molti". Non è possibile configurare direttamente una relazione "molti a molti" tra due tabelle.

    I database relazionali gestiscono direttamente le relazioni "uno a uno" e "uno a molti". È necessario definire la relazione "molti a molti" utilizzando una tabella intermedia che scomponga la relazione "molti a molti" in due relazioni "uno a molti". Per risolvere il problema in questo esempio, aggiungere la tabella intermedia Articoli per memorizzare le informazioni sui prodotti venduti.

  9.  

    Relazioni corrette con la tabella Articoli come tabella associativa

    Dopo aver definito la relazione "molti a molti", l'esempio indica che:

    • un cliente può avere più fatture
    • una fattura può avere più articoli
    • un prodotto può essere riportato in più articoli
  10. Determinare i campi necessari per ogni tabella.

    Ogni tabella ha un solo oggetto e tutti i campi in una tabella descrivono solo quell'oggetto. Ad esempio, i campi in un record della tabella Clienti memorizzano tutte le informazioni su un cliente.

    Per lo stesso motivo, si deve assegnare a ogni cliente un numero identificativo univoco. Nel linguaggio dei database, si parla di chiave primaria. Non verranno inseriti nuovi numeri di identificazione dei clienti nella tabella senza che vengano aggiunti nuovi clienti; pertanto, l'esistenza del numero cliente determina l'esistenza del record. Una tabella Clienti potrebbe anche avere dei campi per il nome, l'indirizzo e il numero di telefono del cliente.

    La tabella Prodotti può avere dei campi per il numero di identificazione del prodotto, il prezzo unitario per ogni prodotto e la quantità a magazzino. La tabella Articoli può avere dei campi per i numeri di identificazione di prodotti e fatture, il nome, il prezzo unitario, la quantità e il prezzo totale di ogni prodotto venduto. La tabella Fatture può avere dei campi per il numero di identificazione della fattura, la data dell'ordine e il venditore.

  11.  

    Campi elencati in ogni tabella

  12. Determinare il campo chiave primaria (o i campi per una relazione a criterio multiplo) per ogni tabella e riportarli nel progetto. Quindi riportare il campo o i campi chiave esterna per ogni tabella.

    In questo esempio:

    • le chiavi primarie sono Clienti::ID cliente, Fatture::ID fattura, Prodotti::ID prodotto e Articoli::ID articolo
    • le chiavi esterne sono Fatture::ID cliente e Articoli::ID prodotto
  13. Per visualizzare i dati dei clienti nella tabella Fatture, è necessario avere un campo in comune tra le due tabelle per creare una relazione. ID cliente è il campo in comune. Nella tabella Clienti, è la chiave primaria; nella tabella Fatture, è la chiave esterna.

    Nella tabella Articoli, ID prodotto è il campo in comune tra le tabelle Articoli e Prodotti. Nella tabella ID prodotto, questo campo è la chiave primaria; nella tabella Articoli, è la chiave esterna.

    Questi campi chiave sono un tipo di campo di confronto. Vedere Informazioni sulle relazioni.

     

    Campi chiave cerchiati in ogni tabella

  14. Per ogni tabella, decidere quali campi memorizzeranno i dati e quali verranno utilizzati da altre tabelle (correlate).

    L'oggetto della tabella consente di individuare i campi più appropriati per memorizzare i dati e dove utilizzare i dati di una tabella correlata. A differenza dei campi chiave, tutti i campi devono essere visualizzati solo una volta nel database. Rimuovere le ricorrenze dei campi che non si riferiscono all'oggetto della tabella.

  15.  

    Campi non necessari cancellati nelle tabelle

  16. Collegare ogni chiave primaria alla chiave esterna corrispondente nella tabella correlata.

    Ciò che stabilisce una relazione tra le tabelle è la corrispondenza tra i dati nei campi chiave e i criteri della relazione.

  17.  

    Relazioni tra i campi chiave nelle tabelle

    Ora il progetto indica che:

    • un cliente può avere più fatture diverse, ma una singola fattura può avere un solo cliente
    • una fattura può avere più articoli, ma un singolo articolo è riportato su una fattura
    • un prodotto può essere riportato in più articoli diversi, ma un singolo articolo ha un solo prodotto