A instrução CREATE TABLE no Oracle é usada para definir uma nova tabela, especificando suas colunas e os respectivos tipos de dados. Esta é a estrutura básica da sintaxe:
CREATE TABLE table_name (
column1 data_type constraint,
column2 data_type constraint,
...
);
Exemplo básico
Vamos criar uma tabela chamada employees com as seguintes colunas: 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
);
Saída esperada:
Table EMPLOYEES created.
Definições de colunas e tipos de dados
Cada coluna de uma tabela precisa ter um nome e um tipo de dado. O Oracle suporta vários tipos de dados, incluindo:
- NUMBER: valores numéricos. É possível especificar precisão e escala.
- VARCHAR2: strings de caracteres de tamanho variável.
- DATE: valores de data e hora.
- BLOB: Binary Large Object, usado para armazenar dados binários.
Exemplo: especificando tipos de dados
CREATE TABLE products (
product_id NUMBER(10) PRIMARY KEY,
product_name VARCHAR2(255) NOT NULL,
price NUMBER(10, 2),
created_at DATE DEFAULT SYSDATE
);
Saída esperada:
Table PRODUCTS created.
Adicionando constraints
Constraints são regras aplicadas às colunas para garantir a integridade dos dados. As constraints mais comuns incluem:
- PRIMARY KEY: identifica cada linha de forma única.
- UNIQUE: garante que todos os valores de uma coluna sejam únicos.
- NOT NULL: garante que uma coluna não possa ter valores NULL.
- CHECK: garante que todos os valores de uma coluna atendam a uma condição específica.
- FOREIGN KEY: estabelece um vínculo entre colunas de duas tabelas.
Exemplo: adicionando constraints:
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'))
);
Saída esperada:
Table ORDERS created.
Criação de tabelas com o Beekeeper Studio
Você pode criar rapidamente uma nova tabela no Beekeeper Studio acessando a barra lateral do navegador de schemas e clicando no botão ‘+’. Ele também oferece a ‘visualização de estrutura’ das tabelas, onde você pode adicionar, remover e renomear colunas, além de outras funções de banco de dados. O Beekeeper Studio é um editor SQL e gerenciador de banco de dados open source que suporta Oracle e muitos outros bancos de dados. Ele oferece uma interface amigável e intuitiva para criar, gerenciar e consultar suas tabelas.
Opções avançadas de tabela e considerações
Ao criar uma tabela, considere as seguintes opções:
Tablespaces
Um tablespace no Oracle é uma unidade lógica de armazenamento que agrupa arquivos de dados relacionados. Ele funciona como um contêiner para objetos do banco de dados, como tabelas e índices. Os tablespaces permitem alocar e gerenciar o armazenamento de forma mais organizada.
CREATE TABLE sales (
sale_id NUMBER(10) PRIMARY KEY,
product_id NUMBER(10) NOT NULL,
sale_date DATE
) TABLESPACE sales_data;
Parâmetros de armazenamento
Os parâmetros de armazenamento definem como o Oracle aloca espaço para tabelas e índices dentro de um tablespace. Esses parâmetros ajudam a gerenciar o armazenamento físico e a controlar como os dados são armazenados e acessados.
CREATE TABLE logs (
log_id NUMBER(10) PRIMARY KEY,
log_message CLOB
) STORAGE (INITIAL 10M NEXT 5M);
Por que usar tablespaces e parâmetros de armazenamento?
- Benefícios organizacionais: os tablespaces ajudam você a agrupar dados relacionados, facilitando o gerenciamento e o backup.
- Otimização de desempenho: ao colocar tabelas e índices acessados com frequência em discos mais rápidos, ou separá-los de dados acessados com menos frequência, você pode otimizar o desempenho.
- Gerenciamento de dados: os parâmetros de armazenamento ajudam a alocar e gerenciar o espaço de forma eficiente, reduzindo a chance de fragmentação e melhorando o desempenho geral do banco de dados.
Conclusão
Criar tabelas no Oracle envolve entender tipos de dados, constraints e opções de armazenamento. Seguir os exemplos e as orientações apresentados deve ajudar você a gerenciar seus dados com mais eficiência. Lembre-se de considerar a integridade dos dados e o desempenho ao definir as estruturas das suas tabelas.
Outros artigos que você pode gostar:
O Beekeeper Studio é uma GUI para Oracle gratuita e open source
No meu trabalho, cuido de todo o código legado e também de código novo, usando MSSQL/MariaDB/Oracle/Postgres e SQLite. Acho que finalmente encontrei a ferramenta que atende a todas as minhas necessidades em um só lugar. - Chris Pink
O Beekeeper Studio é um cliente Oracle rápido, intuitivo e fácil de usar. Ele também suporta vários outros bancos de dados e funciona muito bem no Windows, Mac e Linux.
O que os usuários de Oracle dizem sobre o Beekeeper Studio
No meu trabalho, cuido de todo o código legado e também de código novo, usando MSSQL/MariaDB/Oracle/Postgres e SQLite. Acho que finalmente encontrei a ferramenta que atende a todas as minhas necessidades em um só lugar
O melhor do Beekeeper Studio é a interface limpa e a apresentação dos dados. É a melhor ferramenta disponível que eu conheço. Como engenheiro, uso Postgres, MySQL, SQLite, Oracle e MS SQL, e o Beekeeper faz tudo isso com uma interface muito fluida, espaçosa e naturalmente intuitiva. Se você colocar o Beekeeper Studio na sua lista, tenho certeza de que ele vai virar sua ferramenta principal.