Regola empirica per le dimensioni del campo

4

Quali dimensioni VARCHAR dovrebbero essere utilizzate per nome e cognome, numeri di telefono (preferibilmente internazionali), indirizzi e-mail, url, parole del dizionario e nomi di file?

Modifica: Zapped la frase introduttiva per formare una domanda concreta.

    
posta James P. 14.05.2012 - 09:28
fonte

3 risposte

10

Le regole pratiche che uso sono:

  1. Cerca di non assumere dimensioni massime.
  2. Se devi assumere una dimensione massima, cerca qualsiasi standard riguardante il campo. La posta elettronica, ad esempio, ha una dimensione massima di 256. I numeri di telefono presentano standard diversi a seconda dell'ambito.
  3. Se devi assumere la dimensione massima e non hai uno standard da seguire, scegli qualcosa di ridicolmente grande e poi assumi che qualcuno arrivi con i dati che lo superano.
risposta data 14.05.2012 - 09:39
fonte
2

La risposta dipende dal database che stai utilizzando. Per Postgres, puoi anche usare TEXT per tutto; nessun altro tipo sarà più efficiente. Per Oracle è possibile utilizzare VARCHAR2 (4000) per tutti i campi in cui sono sufficienti 4000 caratteri; di nuovo nessun altro tipo di personaggio sarà più efficiente.

    
risposta data 14.05.2012 - 19:37
fonte
1

ci sono davvero due scuole di pensiero su come determinare le dimensioni del campo.

  1. Rendi tutto il più grande possibile

Questo rende improbabile che sarà mai richiesto di espandere un campo che può essere molto costoso da fare, anche con campi come varchar c'è molto poco perso in termini di spazio / prestazioni sprecati.

  1. Crea campi con il limite più basso possibile.

Questo può aiutare ad aumentare l'integrità dei dati e può anche essere molto utile in casi speciali. Ad esempio, se un campo viene comunemente utilizzato in un report in cui lo spazio è un problema limitandolo ai caratteri X, è necessario decidere come tagliare o troncare i dati. Le dimensioni limite possono anche essere utili se è possibile garantire che un campo abbia sempre una lunghezza specifica, questo può aiutare a garantire che i dati abbiano una qualità minima, ad esempio memorizzare codici postali di stato come CHAR (2) garantisce che non si verifichino voci più lunghe , o la memorizzazione di valori numerici come un tipo numerico garantisce che ciò che è memorizzato è un numero. Può essere estremamente difficile trovare numeri per la lunghezza del campo per la maggior parte dei campi e il costo di dover cambiare dopo l'implementazione può essere molto costoso.

La migliore regola empirica è fare ciò che rende felice il tuo DBA.

    
risposta data 14.05.2012 - 20:55
fonte

Leggi altre domande sui tag