Ovunque due entità completamente indipendenti condividono una relazione uno a uno. Ci devono essere molti esempi:
persona <-> dentista (è 1: N, quindi è sbagliato!)
persona <-> medico (è 1: N, quindi è anche sbagliato!)
persona <-> coniuge (è 1: 0 | 1, quindi è per lo più sbagliato!)
MODIFICARE: Sì, quelli erano esempi piuttosto cattivi, in particolare se cercavo sempre un 1: 1, non uno 0 o 1 su entrambi i lati. Immagino che il mio cervello non funzionasse :-)
Quindi, ci riproverò. Si scopre, dopo un po 'di riflessione, che l'unico modo in cui è possibile avere due entità separate che devono (per quanto riguarda il software) stare insieme tutto il tempo è che esistano insieme in una classificazione superiore. Quindi, se e solo se cadi in una decomposizione inferiore, le cose sono e dovrebbero essere separate, ma a un livello superiore non possono vivere l'una senza l'altra. Contesto, quindi è la chiave.
Per un database medico potresti voler memorizzare diverse informazioni su specifiche regioni del corpo, mantenendole come entità separata. In tal caso, un paziente ha solo una testa e deve averla o non è un paziente. (Hanno anche un cuore e un numero di altri singoli organi necessari). Se ad esempio sei interessato a monitorare gli interventi chirurgici, ogni regione dovrebbe essere un'entità separata unica.
In un sistema di produzione / inventario, se stai monitorando l'assemblaggio di veicoli, allora sicuramente vuoi guardare il motore progredire in modo diverso dalla carrozzeria, ma esiste una relazione uno a uno. Una cura deve avere un motore, e solo uno (o non sarebbe più una "macchina"). Un motore appartiene a una sola auto.
In ogni caso potresti produrre entità separate come un unico grande record, ma dato il livello di decomposizione, sarebbe sbagliato. Sono, in questi contesti specifici, entità veramente indipendenti, anche se potrebbero non apparire ad un livello superiore.
Paolo.