In Oracle l'istruzione CREATE TABLE serve a definire una nuova tabella, specificandone le colonne e i relativi tipi di dato. Ecco la struttura di base della sintassi:
CREATE TABLE table_name (
column1 data_type constraint,
column2 data_type constraint,
...
);
Esempio di base
Creiamo una tabella chiamata employees con le seguenti colonne: employee_id, first_name, last_name, email e hire_date.
CREATE TABLE employees (
employee_id NUMBER(10) PRIMARY KEY,
first_name VARCHAR2(50) NOT NULL,
last_name VARCHAR2(50) NOT NULL,
email VARCHAR2(100) UNIQUE,
hire_date DATE DEFAULT SYSDATE
);
Output previsto:
Table EMPLOYEES created.
Definizioni delle colonne e tipi di dato
Ogni colonna di una tabella deve avere un nome e un tipo di dato. Oracle supporta diversi tipi di dato, tra cui:
- NUMBER: valori numerici. Puoi specificare precisione e scala.
- VARCHAR2: stringhe di caratteri a lunghezza variabile.
- DATE: valori di data e ora.
- BLOB: Binary Large Object, usato per memorizzare dati binari.
Esempio: specificare i tipi di dato
CREATE TABLE products (
product_id NUMBER(10) PRIMARY KEY,
product_name VARCHAR2(255) NOT NULL,
price NUMBER(10, 2),
created_at DATE DEFAULT SYSDATE
);
Output previsto:
Table PRODUCTS created.
Aggiungere vincoli
I vincoli sono regole applicate alle colonne per garantire l'integrità dei dati. I vincoli più comuni sono:
- PRIMARY KEY: identifica in modo univoco ogni riga.
- UNIQUE: garantisce che tutti i valori di una colonna siano univoci.
- NOT NULL: garantisce che una colonna non possa contenere valori NULL.
- CHECK: garantisce che tutti i valori di una colonna soddisfino una condizione specifica.
- FOREIGN KEY: crea un collegamento tra colonne di due tabelle.
Esempio: aggiungere vincoli:
CREATE TABLE orders (
order_id NUMBER(10) PRIMARY KEY,
customer_id NUMBER(10) REFERENCES customers(customer_id),
order_date DATE NOT NULL,
status VARCHAR2(20) CHECK (status IN ('Pending', 'Shipped', 'Delivered'))
);
Output previsto:
Table ORDERS created.
Creare tabelle con Beekeeper Studio
Con Beekeeper Studio puoi creare rapidamente una nuova tabella andando nella barra laterale dello schema e premendo il pulsante ‘+’. Offre anche una ‘vista struttura’ per le tabelle, dove puoi aggiungere, rimuovere e rinominare colonne ed eseguire altre operazioni sul database. Beekeeper Studio è un editor SQL e gestore di database open source che supporta Oracle e molti altri database. Offre un'interfaccia intuitiva e facile da usare per creare, gestire e interrogare le tue tabelle.
Opzioni avanzate e considerazioni sulle tabelle
Quando crei una tabella, tieni conto delle seguenti opzioni:
Tablespace
In Oracle un tablespace è un'unità di archiviazione logica che raggruppa file di dati correlati. Funziona da contenitore per gli oggetti del database, come tabelle e indici. I tablespace permettono di allocare e gestire lo spazio di archiviazione in modo più organizzato.
CREATE TABLE sales (
sale_id NUMBER(10) PRIMARY KEY,
product_id NUMBER(10) NOT NULL,
sale_date DATE
) TABLESPACE sales_data;
Parametri di storage
I parametri di storage definiscono come Oracle alloca lo spazio per tabelle e indici all'interno di un tablespace. Aiutano a gestire l'archiviazione fisica e a controllare come i dati vengono memorizzati e letti.
CREATE TABLE logs (
log_id NUMBER(10) PRIMARY KEY,
log_message CLOB
) STORAGE (INITIAL 10M NEXT 5M);
Perché usare tablespace e parametri di storage?
- Vantaggi organizzativi: i tablespace ti aiutano a raggruppare i dati correlati, rendendo più semplici la gestione e il backup.
- Ottimizzazione delle prestazioni: collocando tabelle e indici usati spesso su dischi più veloci, o separandoli dai dati usati meno di frequente, puoi ottimizzare le prestazioni.
- Gestione dei dati: i parametri di storage aiutano ad allocare e gestire lo spazio in modo efficiente, riducendo la frammentazione e migliorando le prestazioni complessive del database.
Conclusione
Creare tabelle in Oracle richiede di conoscere tipi di dato, vincoli e opzioni di storage. Seguendo gli esempi e le indicazioni di questa guida potrai gestire i tuoi dati in modo più efficace. Ricorda di tenere conto dell'integrità dei dati e delle prestazioni quando definisci la struttura delle tue tabelle.
Altri articoli che potrebbero piacerti:
Beekeeper Studio è una GUI per Oracle gratuita e open source
Nel mio ruolo mi occupo di tutto il codice legacy e di quello nuovo, usando MSSQL/MariaDB/Oracle/Postgres e SQLite. Credo di aver finalmente trovato lo strumento che copre tutte le mie esigenze in un unico tool. - Chris Pink
Beekeeper Studio è un client Oracle veloce, intuitivo e facile da usare. Supporta anche tantissimi altri database e funziona alla grande su Windows, Mac e Linux.
Cosa dicono gli utenti Oracle di Beekeeper Studio
Nel mio ruolo mi occupo di tutto il codice legacy e di quello nuovo, usando MSSQL/MariaDB/Oracle/Postgres e SQLite, credo di aver finalmente trovato lo strumento che copre tutte le mie esigenze in un unico tool
La cosa migliore di Beekeeper Studio è l'interfaccia pulita e il modo in cui presenta i dati. È il miglior strumento che conosca. Come ingegnere uso Postgres, MySQL, SQLite, Oracle e MS SQL, e Beekeeper fa tutto con un'interfaccia fluida, spaziosa e naturalmente intuitiva. Se metti Beekeeper Studio nella tua lista, sono quasi sicuro che diventerà il tuo strumento di riferimento.