Posso capire che molti anni fa ci sarebbe stato questo tipo di limitazione, ma oggi sicuramente questo limite potrebbe facilmente essere aumentato. Abbiamo convenzioni di denominazione per gli oggetti, ma c'è sempre un caso che si verifica dove raggiungiamo questo limite, specialmente nel nominare le chiavi esterne.Perché i nomi di tabelle/colonne/indici Oracle sono limitati a 30 caratteri?
Qualcuno in realtà sa perché questa non è una dimensione più grande - o è più grande in 11g?
Apparentemente la risposta è che interromperà attualmente gli script che non sono codificati in modo difensivo. Dico che è una cosa molto preoccupante, Oracle sta cercando di essere il il database, sicuramente questo è il genere di cose che devi costantemente migliorare, altrimenti il tuo prodotto morirà di mille tagli.
Ogni volta che vedo questo tipo di obiezione in-house, penso che sia ora di mordere il proiettile e risolverlo. Se le persone eseguono script che non controllano o mantengono quando aggiornano le versioni di Oracle, lascia che subiscano le conseguenze di tale scelta. Fornire loro un flag di compatibilità, aumentare le dimensioni a 4000, quindi salvarmi il tempo perso quando sto creando oggetti di dover contare costantemente su 30 per verificare che il nome sia 'OK'.
Poiché deve esserci un limite? Crea 64 caratteri e probabilmente troverai qualcuno che chiede perché non è 128 ecc. Quanto è lungo un pezzo di spago? –
Vero, ma 30 è un pezzo di corda molto corto. Perché non può essere 4000 - la dimensione di un Varchar2 - a Oracle importa davvero quanto tempo è passato una volta che ha analizzato la query? –
@TheChairman PostgreSQL mi limita a 63 caratteri e non ho mai avuto problemi con quel limite di lunghezza. È abbastanza grande che i miei nomi andranno bene, e se sto considerando un nome più lungo, è il momento di cominciare a pensare all'impatto negativo sulla leggibilità. D'altra parte, * spesso * mi imbatto in limiti di lunghezza in Oracle e sono costretto a * ridurre * la leggibilità del mio nome a causa del limite di 30 caratteri. Alcune persone potrebbero lamentarsi di un limite di 64, ma * molte * persone hanno già problemi a causa del limite di 30 caratteri. Si tratta di soddisfare il 99% dei casi d'uso e Oracle fallisce qui. – jpmc26