Diciamo che sto progettando un database per uno scenario in cui esiste una relazione da uno a zero o uno (1-0..1). Per esempio:
- Esiste un insieme di utenti e alcuni utenti possono anche essere clienti .
Quindi, ho creato le due tabelle corrispondenti users
e customers
, ma ...
... Qual è il modo migliore per rappresentare e implementare questa situazione in una determinata piattaforma SQL? Ho considerato due possibili soluzioni:
Nella
users
tabella, aggiungi lacustomer
colonna che può essere un riferimento a CHIAVE ESTERAcustomers
o unNULL
segno.Nella
customers
tabella, includere unauser
colonna (impostata con unUNIQUE
vincolo) che punta allausers
tabella.
Ho già posto una domanda simile in alcuni forum, ma la risposta è stata sostanzialmente "qualunque cosa tu abbia bisogno", "qualunque cosa tu ritenga conveniente". Non mi piace questo tipo di risposta. Voglio invece un serio pezzo di teoria del DB, una risposta fondata. Dove posso leggere le relazioni 1-0..1?