Quando usare campi non univoci per le tabelle di Dettaglio?
Permessi Richiesti
Questa sezione richiede i permessi Application Designer e Storage Management dal tuo amministratore di Dominio.
Consulta Quali sono i compiti di Design? per saperne di più riguardo ai permessi per lavorare con il Design Mode e altri strumenti.
Abstract
Introduzione¶
La sezione Come creare un Dettaglio e collegarlo a una riga specifica che puoi creare una tabella di Dettaglio senza selezionare né campi univoci (Unique) né una Primary Key. Questo documento aiuta a comprendere se hai bisogno di una tabella di Dettaglio basata su campi non univoci.
Le sezioni Configurazione Raccomandata: Dettagli costruiti su campi univoci e Primary Key e Dettagli costruiti su campi non-univoci spiegano le caratteristiche dei Dettagli con e senza campi univoci (Unique) e Primary Key.
Il diagramma a flusso Scoprire la tabella di Dettaglio di cui hai bisogno ti aiuta a prendere una decisione.
Configurazione Raccomandata: Dettagli costruiti su campi univoci e Primary Key¶
La configurazione raccomandata per creare una tabella di Dettaglio è la seguente:
- un campo univoco (Unique) (e.g. un campo di tipo Identity) come campo source (Source Field) nella relazione (Relation) dello Storage.
- un campo di tipo Numeric come campo target (Target Field) nella Relazione dello Storage.
- una Primary Key per collegare le righe della tabella di Dettaglio alle righe di Master.
Info
Consulta Creare uno Storage vuoto da riempire per maggiori informazioni rigo le relazioni (Relations), campi source (Source Field) e campi target (Target Field).
Se usi campi univoci (Unique) come campo source (Source Field) nella relazione (Relation), l'applicazione collega le righe di Dettaglio solo a una singola riga di Master. Ciascuna riga di Dettaglio registra una valore nel campo target (Target Field) che è unico e collegato solo a quella riga di Master. La Primary Key relaziona le righe di Dettaglio solo a quella particolare riga di Master.
Dettagli costruiti su campi non-univoci¶
In alcune circostanze, è utile invece creare una tabella di Dettaglio senza una Primary Key usando campi non-univoci.
Avere una tabella di Dettaglio costruita su una relazione (Relation) fra campi non-univoci significa che le righe di Master condivideranno uno o più dettagli hanno lo stesso valore per il campo source (Source Field).
Se due righe di Master hanno lo stesso valore registrato nel campo source (Source Field), l'applicazione mostra le stesse righe di Dettaglio con lo stesso valore nel campo target (Target Field) nei Dettagli di entrambe le righe di Master.
Example
Un'applicazione registra le tratte degli autobus di una compagnia di trasporti. L'applicazione ha un Dettaglio che registra gli autobus impiegati dalla rimessa e le loro informazioni tecniche. Il campo String "NumberPlate" registra la targa dell'autobus in servizio sulla tratta. Le righe di Master delle varie tratte hanno in comune le stesse righe di Dettaglio tramite "NumberPlate".
Note
Il Design Mode supporta solo le seguenti relazioni (Relations) fra campi non-univoci per creare Dettagli senza selezionare una Primary Key:
- campo source: Numeric campo target: Numeric
- campo source: String campo target: String
Alte combinazioni (e.g. String Date) non sono supportate.
Scoprire la tabella di Dettaglio di cui hai bisogno¶
Segui il diagramma di flusso per capire cosa dovresti fare come Designer:
%%{init: {"flowchart": {"htmlLabels": false}} }%%
flowchart TD
begin(("`Devi creare un'applicazione che contiene tabelle di **Dettaglio**`"))-->question1{"`Le righe del _Master_ devono condividere delle righe di **Dettaglio**?`"}
question1-->|No|answerUnique1["`Usa un **campo univoco** come **campo source** nella **relazione**. Seleziona una **Primary Key** nel _Design Mode_.`"]
question1-->|Yes|question2{"`Hai bisogno di una tabella di **Dettaglio** con righe separate _e un'altra_ tabella di **Dettaglio** con righe condivise da due o più righe di _Master_?`"}
question2-->|Yes|answerUnique2["`Crea il primo Dettaglio usando un **campo univoco** come **campo source** nella **relazione**. Seleziona una **Primary Key** nel _Design Mode_.`"]
answerUnique2-->end1["`Crea il Dettaglio con le righe in comune fra le righe di _Master_ usando **campi non-univoci** nella **relazione**. _Non hai bisogno_ di configurare una **Primary Key** nel _Design Mode_.`"]
question2-->|No|answerUnique3["`Crea il Dettaglio che avrà righe condivise fra le righe di _Master_ usando **campi non-univoci** nella **relazione**. _Non hai bisogno_ di configurare una **Primary Key** nel _Design Mode_.`"]