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.