Ho una domanda "facile", ma dal momento che non sono un programmatore molto esperto mi piacerebbe sapere cosa alcuni di voi hanno da dire.
Se ho per esempio un Db chiamato MyDb
con molte tabelle. Due di questi sono Company
e Address
.
La relazione tra loro è che un'azienda può avere molti indirizzi (ciascuno per un ufficio o per uno sth)
Quindi ora ci stavo pensando e mi chiedevo come sarebbe stato implementato un indirizzo "predefinito".
Immagino 2 diversi approcci:
- Crea campi
CompanyId
eDefault
(booleano / bit) nella tabellaAddress
. SeDefault
è true, questa voce è l'indirizzo predefinito. - Crea campi
CompanyId
inAddress
eAddressId
inCompany
, che rappresenta l'indirizzo predefinito effettivo .
Questo non è il mio problema specifico, è un progetto generico, per così dire.
Quindi, ora quale è l'approccio migliore? 2
mi sembra davvero stupido. Con 1
come evitare di avere 2 valori predefiniti come veri? Voglio dire non nel codice, basta lasciare il DB a fare questo (come dice sth. Quando inserisci un tipo sbagliato in un campo?