Ho visto il post recente sulla persona che interroga la soluzione del suo capo ( credo che la mia soluzione sia migliore del mio capo, quindi dovrei L'ho ignorato? ) e ho deciso di chiedere qualcosa di simile, ma non come "scontro" come sembrava nel link precedente.
Per dirla in modo semplice e concettualmente:
Abbiamo un'app Web che consente la fatturazione telefonica per molti clienti diversi. Il fatto è che la persona che ha avviato il progetto non ha considerato che ci siano solo 9999 possibili estensioni telefoniche nel nostro design (un po 'ingenuo, lo so). Ci siamo imbattuti in un punto in cui gli utenti di diversi clienti dovranno condividere lo stesso extension number
. Nel livello DB, extension number
è fisso come unique
e la tabella Extensions
ha una chiave esterna a Users
.
La soluzione più semplice che abbiamo visto è stata rimuovere questo vincolo unique
e consentire la duplicazione di extension numbers
perché è ancora possibile controllare e convalidare per vedere a quale Client
appartiene la User
. Tuttavia, la persona che supervisiona il mio lavoro crede che potrebbe causare problemi futuri se semplicemente consentissimo la duplicazione. Mi ha suggerito di creare una tabella intermedia che colleghi due tabelle, ovvero UserProfile
(che ha una chiave esterna per Utente e Client
) e la tabella Extension
.
Dal momento che il mio modo di procedere mi è sembrato più semplice, ho creato un ramo del progetto per verificare se funziona bene, cosa che fa.
Poi ho iniziato a implementare l'altro modo e ho incontrato alcune complicazioni, modifiche a livello di sistema, ma continuo a pensare che sia fattibile. La persona che supervisiona il mio lavoro è un amministratore di sistema che fa qualche programmazione. Sono il programmatore a tempo pieno, anche se senza molta esperienza (ancora giovane;)). Sarebbe bello se avessi qualche prospettiva esterna sul mio dilemma?
Grazie mille ragazzi.