Quali sono i casi d'uso per questi tipi di relazione?

1

Usa caso

Quali sono i casi d'uso per la creazione di una relazione one-to-one in cui il genitore indica il bambino rispetto a un bambino che punta al genitore? Se non c'è differenza, si preferisce l'una rispetto all'altra?

Esempio

+---------+     +-------+       +--------+     +----------+
+ Parent  +     + Child +       + Parent +     + Child    +
+---------+     +-------+  vs.  +--------+     +----------+
+ idChild + --> + id    +       + id     + <-- + idParent +
+---------+     +-------+       +--------+     +----------+

Ho il sospetto che sceglieresti tra queste relazioni a seconda dell'entità che viene utilizzata per prima nell'applicazione. Ad esempio, se l'oggetto genitore appare sempre prima dell'oggetto figlio, la relazione deve essere mappata dal genitore al figlio.

    
posta Pete 20.03.2014 - 16:36
fonte

3 risposte

1

Può influenzare la rappresentazione della tua struttura se la navighi su XML o JSON. Ad esempio, vuoi che "genitore" sia l'elemento o l'oggetto più in alto, oppure vuoi che "figlio" sia l'elemento o l'oggetto più in alto?

Molte volte dipende da come l'applicazione utilizza i dati. Se gli utenti principali di un sistema sono bambini, potrebbe essere più conveniente rappresentare child -> parent perché stai facendo la ricerca a partire dall'ID figlio.

    
risposta data 20.03.2014 - 21:32
fonte
3

In termini di progettazione del database è abbastanza più logico che il figlio riporti la relazione sul genitore. In primo luogo, perché mantenere le informazioni per ogni bambino nei genitori non è flessibile (presupponendo che si utilizzino i campi per gli ID figlio), come nel primo esempio, poiché non è possibile allocare dinamicamente più di un riferimento a un figlio.

    
risposta data 20.03.2014 - 16:45
fonte
1

Stavo lavorando su un progetto software con relazioni one-to-one , nel nostro progetto c'era il figlio che puntava sul genitore, perché è solo più logico, che il bambino mostri i suoi genitori e non viceversa.

    
risposta data 20.03.2014 - 16:39
fonte

Leggi altre domande sui tag