picoSQL - Manuale di riferimento


3) Tipi dato


In picoSQL esistono i seguenti tipi di dato.


CHAR(dimensione)

VARCHAR( dimensione )

Definisce un attributo stringa di caratteri lunga al massimo dimensione caratteri. Nella release attuale di picoSQL non c'è differenza tra i due tipi in quanto entrambi sono a lunghezza fissa e quindi corrispondenti al tipo CHAR nello standard SQL. La lunghezza può arrivare fino 32767 caratteri, che é anche la massima dimensione di una riga di tabella, mentre lo standard SQL prevede una lunghezza massima di 255 caratteri.


NUMERIC(precisione[, decimali])

Definisce un attributo numerico a virgola fissa che può contenere fino a precisione cifre, di cui decimali per la parte decimale. Nella versione attuale la massima precisione ammessa è 18. Lo spazio occupato da ciascun attributo di questo tipo si calcola con la seguente formula

spazio-occupato = precisione / 2 + 1

dove la divisione si considera intera.


SERIAL

Definisce un attributo numerico intero di 11 cifre, memorizzato nello stesso formato di un NUMERIC, che si incrementa di 1 automaticamente a ogni inserimento, partendo dal valore 1. In inserimento concesso assegnare a colonne di questo tipo un valore predeterminato; nel caso che tale valore sia maggiore di quelli gi esistenti, esso diventa il riferimento per i successivi inserimenti. Una colonna SERIAL può per venir modificata a piacere con un'operazione di aggiornamento (UPDATE) .


SMALLINT

Definisce un attributo numerico intero di 2 byte il cui valore è compreso tra -32767 e 32767. Il valore -32768 viene considerato come NULL.

N.B. i dati di questo tipo sono memorizzati nel formato nativo del computer ospite.

INTEGER

INT

Definisce un attributo numerico intero di 4 byte il cui valore è compreso tra -2147483647 e 2147483647. Il valore 2147483648 viene considerato come NULL. INTEGER e INT sono sinonimi.

N.B. i dati di questo tipo sono memorizzati nel formato nativo del computer ospite.


REAL

Definisce un attributo numerico in floating point di 4 byte.

N.B. i dati di questo tipo sono memorizzati nel formato nativo (float) del computer ospite per cui i valori minimo e massimo dipendono da quest'ultimo. Il valore più piccolo (FLT_MIN) viene considerato come NULL.


DOUBLE

Definisce un attributo numerico in floating point di 8 byte.

N.B. i dati di questo tipo sono memorizzati nel formato nativo (double) del computer ospite per cui i valori minimo e massimo dipendono da quest'ultimo. Il valore più piccolo (DBL_MIN) viene considerato come NULL.


DATE

Definisce un attributo che contiene una data. Occupa 5 byte. Per inviare un dato di questo tipo al database, è necessaria una stringa col seguente formato:

'AAAA-MM-GG'

oppure la corretta sequenza di escape.


TIME

Definisce un attributo che contiene un un'ora con approssimazione al millesimo di secondo. Occupa 5 byte. Per inviare un dato di questo tipo al database, è necessaria una stringa col seguente formato:

'oo:mm:ss.uuu'

oppure una adeguata sequenza di escape.


TIMESTAMP

Definisce un attributo che contiene una data e un'ora con approssimazione al millesimo di secondo. Occupa 9 byte. Per inviare un dato di questo tipo al database, è necessaria una stringa col seguente formato:

'AAAA-MM-GG oo:mm:ss.uuu'

oppure una adeguata sequenza di escape.


BLOB

Definisce un insieme di byte che occupa uno spazio variabile compreso tra 0 e 2147483648 byte. L'allocazione viene fatta in blocchi di 1024 byte. Quando picoSQL legge un attributo di questo tipo, lo carica in memoria centrale, per cui bisogna essere sicuri di averne a sufficienza.


CLOB

Come il BLOB ma è destinato a contenere testi.


Ciascuno di questi tipi può contenere un valore convenzionale, chiamato NULL, che indica che il valore è sconosciuto o non applicabile al contesto. Per esempio, quando si inserisce una riga non specificando il valore di alcuni attributi, in questi viene posto il valore NULL.




Indice Precedente Successivo