Uso Visual Studio 2013, .Net 4.5 e SQL Management Studio 2012. Ho una tabella che tiene traccia degli uffici nel mio database. Sul lato dell'applicazione ci sono alcune regole di visualizzazione relative al layout degli uffici. Se un edificio viene ristrutturato, gli uffici vengono rinominati e i vecchi uffici possono diventare inattivi. È importante non eliminare gli uffici inattivi per tracciare gli elementi della cronologia.
Stavo per inserire una colonna booleana nella tabella del mio database per decidere se un ufficio è attivo. Se la colonna isActive
è uguale a True
, allora l'ufficio sarà in grado di essere selezionato per aggiungere elementi ad esso.
Uno dei miei colleghi è molto contrario all'utilizzo di campi booleani nel database, ma non è riuscito a fornire alcun motivo valido sul motivo per cui non dovrebbero essere utilizzati. Mi è stato detto "non farlo" e "è difficile da usare", ma nulla che io consideri davvero sostanziale. Penso che si sia imbattuto in una situazione in cui il database era inizialmente configurato per avere booleani e il cliente ha aggiunto opzioni a un campo (qualcosa che era vero falso, ora può essere A, B o C). È stato suggerito di utilizzare varChar(1)
con "Y" o "N" anziché i valori booleani.
Quindi quello che mi chiedo è, dato lo scenario in cui non è possibile che un ufficio possa essere altro che "attivo" o "inattivo", c'è qualche ragione per cui si dovrebbe evitare di rappresentare questo valore come booleano?