Oracle
 sql >> Database >  >> RDS >> Oracle

Come implementare ID gapless e user-friendly in NHibernate?

Un'opzione sarebbe quella di mantenere una tabella di chiavi che memorizza semplicemente un valore incrementale. Ciò può introdurre alcuni problemi, in particolare possibili problemi di blocco e ulteriori accessi al database.

Un'altra opzione potrebbe essere quella di perfezionare cosa intendi per "ID intuitivo". Questo potrebbe consistere in una combinazione di una data/ora e una sequenza specifica del cliente (o includendo anche l'ID cliente). Inoltre, l'ID dell'ordine non deve necessariamente essere la chiave effettiva sul tavolo. Non c'è nulla da dire che non puoi usare una chiave surrogata con una colonna "calcolata" separata che rappresenta l'id dell'ordine.

La conclusione è che sembra che tu voglia usare una chiave surrogata, ma hai i vantaggi di una chiave naturale. Può essere molto difficile avere entrambi i modi e molto dipende da come intendi effettivamente utilizzare i dati, come gli utenti interpretano i dati e le preferenze personali.