Eventuali svantaggi nell'avere nomi di tabelle e colonne molto descrittivi nelle tabelle DB per l'app Web Java?

0

Vorrei sapere se ci sono degli svantaggi nell'avere nomi descrittivi per le tabelle e le colonne del database. Questo sarebbe per un'applicazione web basata su Java, e la maggior parte delle volte che ho visto le tabelle o le colonne del database, hanno avuto abbreviazioni per le tabelle e le colonne, come "CD" quando ci si riferisce a "Codice". Ci sarebbero problemi di prestazioni se i nomi di tabelle e colonne fossero un po 'più completi per aumentare la leggibilità delle classi Java che sarebbero generate da JPA, anche se ciò significa raggiungere il limite superiore per le lunghezze consentite per i nomi di tabelle e colonne? Ci sarebbero centinaia di tabelle in questa applicazione (app aziendale).

Grazie.

    
posta ITWorker 23.12.2016 - 20:18
fonte

2 risposte

2

Devi trovare un equilibrio.

AnIncrediblyLongVariableOrTableName è quasi difficile da gestire come TooShrt - specialmente quando stai guardando un blocco di codice (o uno sproc) che ne menziona una mezza dozzina in 20 righe.

Se i nomi sono troppo lunghi, vedrai un notevole calo di prestazioni, nel cervello del tuo sviluppatore. Sarà più difficile leggere il codice, più difficile risolverlo, più difficile migliorarlo, ecc. Il codice di difficile lettura può aggiungere ore o giorni al ciclo di sviluppo.

Dal punto di vista delle prestazioni del computer, sarei stupito se potessi misurare una differenza significativa tra i nomi brevi e i nomi ridicolmente lunghi.

    
risposta data 23.12.2016 - 20:21
fonte
2

C'è un limite per quanto tempo i nomi delle colonne possono essere in mosd DBMS: Postgres e MySQL consentono 64 caratteri, solo Oracle 30.

Va bene quando si ha un nome lungo per qualcosa di primario, ma una volta che si iniziano a considerare le tabelle correlate, potrebbe essere necessario combinare i nomi delle colonne FK per mostrare la loro relazione. Ad esempio, se hai una colonna worldwide_catalog_id su una tabella agriculture_product e la aggiungi come FK a una tabella recurring_customer come preferita, potresti fare riferimento ad essa come recurring_customer.favorite_product_wordwide_catalog_id . Può essere accettabile dal POV di leggibilità, ma potresti finire per colpire i limiti del DBMS.

Utilizza i commenti di colonna per spiegare esattamente lo scopo di una colonna specifica.

Prova ad essere pragmatico introducendo nomi di colonne più brevi. Mantieni un thesaurus per questo, un elenco di abbreviazioni comuni uniformi, ecc., In modo che i nuovi sviluppatori possano riprenderlo più facilmente, e tu stesso non lo dimentichi.

    
risposta data 23.12.2016 - 20:32
fonte

Leggi altre domande sui tag