|
|
OracleLEZIONI - TIPI DI DATI IN ORACLE Le tabelle sono oggetti logici che consentono la memorizzazione di dati secondo un preciso schema deciso dall'utente che le ha progettate. Ogni tabella è formata da una o più colonne, una per ciascuna caratteristica dell'oggetto (entità) che si vuole rappresentare. Prendiamo come esempio una tabella "Anagrafica del personale". Sarà formata da diversi campi, tra cui nome, cognome, data di nascita, salario e altre informazioni. I campi sono rappresentati dalle colonne della tabella. Ogni colonna quindi contiene un dato particolare e se ne può specificare il tipo ("tipo di dato" o "datatype"). DatatypeCHAR (n)Rappresenta sequenze alfanumeriche (lettere e numeri), ed è a lunghezza fissa, specificata mediante il valore racchiuso fra le parentesi ( Lunghezza fissa significa che inserendo un numero di caratteri inferiore a "n", i caratteri non utilizzati vengono sostituiti da altrettanti spazi. Supponiamo di definire una colonna del tipo: Cognome CHAR (10); e di inserirvi un'informazione di cinque lettere, ad esempio 'Rossi'. Oracle inserirà la stringa 'Rossi' nella colonna specificata (Cognome) e aggiungerà altri cinque spazi alla fine della parola per raggiungere la lunghezza definita (10). Se non specifichiamo alcun valore Cognome CHAR (1); sono equivalenti. Se eccediamo la lunghezza specificata, Oracle solleva un errore. VARCHAR2 (n)A differenza del precedente, questo tipo alfanumerico è a lunghezza variabile e può memorizzare fino a 4000 caratteri. Il vantaggio che introduce è essenzialmente uno, il risparmio di spazio. Infatti VARCHAR2 non inserisce gli spazi mancanti se la lunghezza del dato immesso è inferiore a quella specificata. Non esiste, inoltre, un valore di default per questo tipo di dati, pertanto Oracle solleverà un errore se non sarà specificato il valore di Se definiamo il campo Cognome come Cognome VARCHAR2 (30); ed inseriamo la stringa 'Parisi', questa occuperà esattamente sei caratteri. NUMBER (p, s)Consente la memorizzazione di valori numerici interi, positivi e negativi, dei numeri a virgola fissa e di quelli a virgola mobile. I parametri
Queste regole però non valgono sempre, ad esempio quando il valore della scala è negativo oppure maggiore del valore della precisione. In casi come questi è opportuno consultare la documentazione di Oracle. Facciamo un esempio. Creando una tabella definiamo un campo come Altro esempio. Definiamo un campo come Un numero con cifre decimali superiori al valore della scala sarebbe automaticamente arrotondato secondo il valore della scala. Se invece si eccede il valore di precisione Oracle solleva un errore. Ad esempio, se definiamo il campo Salario NUMBER (3, 1); ed vi inseriamo DATEÈ usato per memorizzare date e orari. Un campo di questo tipo può contenere le seguenti informazioni:
Oracle fornisce svariate e utilissime funzioni per operare e trasformare questo tipo di dati. Il default di memorizzazione è Se inseriamo una data senza specificare l'orario, questo viene aggiunto da Oracle con valore Quando lavoriamo con il tipo Infine è possibile specificare date che vanno dal Ora che conosciamo i datatype più utilizzati in Oracle, le strutture delle tabelle ci risulteranno più chiare. |