SQL: la lunghezza del campo

In un database SQL è molto importante saper definire la lunghezza dei campi di testo per evitare di perdere informazioni. Il campo deve essere sufficientemente grande per poter registrare l'informazione. In caso contrario le informazioni verrebbero troncate senza alcuna possibilità di recupero.

D'altra parte, un campo testuale molto più grande rispetto alle esigenze potrebbe causare un'eccessiva e inutile allocazione di risorse, con conseguenze perdita di efficienza del database. Per progettare un database relazione adeguato è, quindi, necessario conoscere la lunghezza dati dell'informazione.

Esempio. Per registrare un nome è più che sufficiente utilizzare un campo di 255 caratteri. Il problema sorge quando si deve registrare il testo di un'intera pagina web. In quest'ultimo caso 255 caratteri non sono per nulla sufficienti.

MYSQL fornisce quattro formati standard: TINYTEXT, TEXT, MEDIUMTEXT e LONGTEXT. Questi formati standard ci aiutano a trovare la dimensione più adeguata alle nostre esigenze.

  • TINYTEXT ( 256 byte ). È un campo testuale standard, utilizzato per registrare nomi di cose, persone, ecc. È una buona soluzione per i dati di lunghezza variabile, non precisamente definibili, che solitamente non superano i 150 caratteri. Il formato TINYTEXT arriva fino a 256 caratteri, è quindi più che sufficiente.
  • TEXT ( 65.535 byte ). È un campo testuale di medie dimensioni. Può comprendere circa 64 mila caratteri. È quindi una buona soluzione per registrare articoli, testi di medie o brevi dimensioni, ecc. È molto importante ricordarsi che un ipertesto non è composto soltanto dal testo ma anche dai tag ipertestuali e anche questi ultimi occupano un cospicuo spazio di caratteri.
  • MEDIUMTEXT ( 16.777.215 byte ). È un formato testuale per testi di medio-grandi dimensioni. Può contenere dati per una lunghezza fino a 16 milioni di caratteri ( 16 MB ). In un campo testuale con formato MEDIUMTEX è possibile registrare l'intero contenuto di un capitolo o di un piccolo libro.
  • LONGTEXT ( 4.294.967.295 byte ). È il formato testuale più grande. Può registrare informazioni fino a 5 miliardi di caratteri ( 4 GB ). E'la soluzione più grande ma anche quella più dispendiosa in termini di risorse e può rallentare notevolmente le operazioni di ricerca.

Si tratta, ovviamente, di formati utili per disegnare il database quando non si conosce esattamente la dimensione di un'informazione. In tutti gli altri casi, quando è possibile conoscere con certezza la lunghezza massima delle informazioni, è preferibile definire il campo testuale con un parametro numerico.

Esempio. Se sappiamo con certezza che un'informazione testuale non è più lunga di 20 caratteri, è meglio definire il campo come VARCHAR ( 20 ) piuttosto che TINYTEXT.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

SQL