Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> software >> SQL Server >> .

Cosa determina il tipo di dati che possono essere archiviati in una colonna su una tabella Oracle?

Il tipo di dati che può essere archiviato in una colonna in una tabella Oracle è determinato dal tipo di dati Si specifica quando si crea o si altera lo schema della tabella. La dichiarazione del tipo di dati determina il tipo di valori consentiti in quella colonna e Oracle applica questo vincolo.

Ecco una rottura dei fattori chiave:

* Dichiarazione del tipo di dati: Il determinante primario è il `data_type` scelto durante la creazione della tabella (usando` Crea tabella`) o modifica (usando `alter table`). Per esempio:

`` `sql

Crea dipendenti da tavolo (

numero dipendente_id (6), - numero con precisione 6

first_name varchar2 (20),-stringa di caratteri a lunghezza variabile fino a 20 caratteri

last_name varchar2 (25) vincolo nn_last_name non null,-stringa di caratteri a lunghezza variabile, non null

Email varchar2 (25),

Hire_Date Date, - Data e ora

Numero salariale (8,2), - Numero con precisione 8, 2 posti decimali

...

);

`` `

In questo esempio, `Employee_id` può contenere solo numeri,` First_name` e `last_name` possono contenere stringhe di caratteri a lunghezza variabile,` hear_date` può contenere date e `stipendio` può contenere numeri con luoghi decimali.

* Tipi di dati integrati di Oracle: Oracle fornisce un ricco set di tipi di dati integrati che soddisfano varie esigenze di archiviazione dei dati. Alcuni dei più comuni includono:

* Tipi di dati dei caratteri:

* `Varchar2 (dimensione)`:stringa di caratteri a lunghezza variabile (tipo di carattere consigliato di Oracle). `Size` specifica la lunghezza massima in byte o caratteri (a seconda del set di caratteri del database). Utilizzare questo per i dati di testo generali.

* `Nvarchar2 (dimensione)`:stringa di caratteri nazionali a lunghezza variabile. Utilizzato per la memorizzazione dei dati Unicode. `Size` specifica la lunghezza massima nei caratteri.

* `Char (dimensione)`:stringa di caratteri a lunghezza fissa. Pad con spazi per la specifica `size`. Meno comunemente usato di `varchar2`.

* `Nchar (dimensione)`:stringa di carattere nazionale a lunghezza fissa.

* `Clob`:personaggio grande oggetto. Per la memorizzazione di grandi quantità di dati di testo (fino a 4 GB). Memorizza i dati effettivi separatamente, utilizzando un localizzatore nella tabella.

* `Nclob`:personaggio nazionale grande oggetto. Clob per i dati Unicode.

* Tipi di dati numerici:

* `Numero (precisione, scala)`:tipo di dati numerici per scopi generali. `Precision` è il numero totale di cifre e` Scale` è il numero di cifre a destra del punto decimale.

* `Numero`:i valori predefiniti sono massimi di precisione e scala.

* `Binary_float`:numero mobile a 32 bit.

* `Binary_double`:numero mobile a 64 bit.

* Tipi di dati di data e ora:

* `Date`:Informazioni sulla data e ora dei negozi.

* `Timestamp`:archivia la data e l'ora con secondi frazionari. Esistono varianti per il supporto del fuso orario (ad es. TimeStamp `con fuso orario ',` timestamp con fuso orario locale`).

* `Interval Anno a mese`:memorizza un periodo di tempo in anni e mesi.

* `Interval Day to Second`:memorizza un periodo di tempo in giorni, ore, minuti e secondi.

* Tipi di dati binari:

* `Blob`:oggetto grande binario. Per la memorizzazione di grandi quantità di dati binari (fino a 4 GB), come immagini, audio o video. Memorizza i dati effettivi separatamente, utilizzando un localizzatore nella tabella.

* `Bfile`:file binario. Memorizza un puntatore a un file binario memorizzato * all'esterno * del database (sul file system del sistema operativo). Il database memorizza solo la posizione del file, non il contenuto del file stesso.

* Tipi di dati rowid:

* `Rowid`:una pseudo-colonna contenente l'indirizzo di una riga in una tabella. È unico all'interno del database e consente l'accesso più rapido a una determinata riga.

* `Urowid`:un ID riga universale, che può rappresentare Rowids di tabelle organizzate indicizzate.

* Tipo di dati XML:

* `Xmltype`:per la memorizzazione dei dati XML. Oracle fornisce metodi per interrogare e manipolare XML memorizzato in questo tipo di dati.

* Tipo di dati JSON:

* `JSON`:per la memorizzazione dei dati JSON. Disponibile nelle versioni successive di Oracle.

* Precisione e scala (per numero): Quando si utilizzano il tipo di dati `Number`, i parametri` Precision` e `Scale` sono cruciali.

* `Precision`:specifica il numero totale di cifre (inclusi sia prima che dopo il punto decimale).

* `Scale`:specifica il numero di cifre a destra del punto decimale.

Ad esempio, `numero (7,2)` consente di archiviare i numeri con un massimo di 7 cifre, con 2 di quelle cifre che sono dopo il punto decimale. I valori validi sarebbero 12345,67, 123,45 o 0,01. I valori non validi sarebbero 123456.7 o 1.234567.

* Set di caratteri del database: Il set di caratteri del database influenza l'archiviazione dei tipi di dati dei caratteri (in particolare `varchar2` e` char`). Determina la lunghezza massima di una colonna `varchar2` in termini di *byte *o *caratteri *. Nelle versioni precedenti, `varchar2 (dimensione)` è stato interpretato come byte. Versioni più recenti di Oracle, con il parametro di inizializzazione `max_string_size =esteso`, consentire` varchar2 (dimensione) `di essere interpretati come caratteri. L'uso di set di caratteri Unicode (come AL32UTF8) consente di archiviare caratteri da più lingue.

* Vincoli: Mentre i vincoli non * definiscono * il tipo di dati, possono limitare ulteriormente i valori consentiti in una colonna. Per esempio:

* `Non null`:assicura che una colonna non possa contenere valori nulli.

* `Univoco`:garantisce che tutti i valori in una colonna (o set di colonne) siano univoci.

* `Key primario`:identifica una colonna (o un set di colonne) come identificatore univoco per ogni riga nella tabella.

* `Key Foreign`:stabilisce una relazione tra due tabelle, garantendo che esistano valori nella colonna di chiave estera nella colonna o / i della chiave primaria di riferimento.

* `Check`:consente di definire una regola personalizzata che i valori in una colonna devono soddisfare. Ad esempio:`controllo (stipendio> 0)` per garantire che gli stipendi siano sempre positivi.

* Conversione del tipo di dati implicito: Oracle può talvolta convertire implicitamente i tipi di dati durante confronti o assegnazioni. Ad esempio, Oracle potrebbe convertire implicitamente una stringa di caratteri in un numero se la si confronta con una colonna numerica. Tuttavia, è generalmente le migliori pratiche utilizzare le funzioni di conversione del tipo di dati esplicite (come `to_number`,` to_char`, `to_date`) per evitare comportamenti imprevisti e garantire l'integrità dei dati.

In sintesi, il tipo di dati dichiarato per una colonna è il meccanismo di controllo fondamentale che regola il tipo di dati che è possibile archiviare all'interno di quella colonna in un database Oracle. Comprendere i tipi di dati di Oracle e le loro proprietà è essenziale per la progettazione di schemi di database efficienti e affidabili.

 

software © www.354353.com