🧠 Explicação

O comando CREATE é utilizado no DB2 para criar objetos no banco de dados, como bancos propriamente ditos (DATABASE), tabelas (TABLE) e índices (INDEX).
Ele define estrutura, tipos de dados e restrições para cada objeto criado, como PRIMARY KEY, FOREIGN KEY, NOT NULL e mais.

🔧 Usos mais comuns

  • Criar um banco de dados com CREATE DATABASE.

  • Definir tabelas com seus campos e regras de integridade.

  • Criar índices para otimizar buscas e garantir unicidade.

  • Relacionar tabelas com chaves estrangeiras (FOREIGN KEY).

🧾 Sintaxe básica

CREATE DATABASE nome_do_banco;

CREATE TABLE nome_da_tabela (
   nome_coluna1 TIPO [NOT NULL],
   nome_coluna2 TIPO [NOT NULL],
   ...
   PRIMARY KEY (coluna_pk),
   FOREIGN KEY (coluna_fk) REFERENCES outra_tabela(coluna)
);

Exemplo real para criar um banco e suas tabelas:

CREATE DATABASE TRABALHO;
-- Abra o banco
OPEN DATABASE TRABALHO;

📁 Exemplo prático – Tabela DEPARTAMENTO

CREATE TABLE Dept (
   DepNume  INTEGER(4) NOT NULL,
   DepNome  CHAR(20)   NOT NULL,
   DepLoca  CHAR(20)   NOT NULL,
   DepOrca  INTEGER(12,2),
   PRIMARY KEY (DepNume)
);

CREATE UNIQUE INDEX DepNum ON Dept (DepNume ASC);

👨‍💼 Exemplo prático – Tabela EMPREGADOS

CREATE TABLE Emp (
   EmpNume   INTEGER(5)     NOT NULL,
   EmpNome   CHAR(30)       NOT NULL,
   EmpGere   INTEGER(5),
   EmpServ   CHAR(20),
   DepNume   INTEGER(4)     NOT NULL,
   EmpAdmi   DATE           NOT NULL,
   EmpSala   INTEGER(10,2),
   EmpComi   INTEGER(10,2),
   PRIMARY KEY (EmpNume),
   FOREIGN KEY (DepNume)
       REFERENCES Dept
       ON DELETE RESTRICT
       ON UPDATE CASCADE
);

CREATE UNIQUE INDEX EmpNum ON Emp (EmpNume ASC);
CREATE INDEX EmpDep ON Emp (DepNume ASC);

📌 Regras importantes

  • Sempre crie primeiro as tabelas principais (mestre), antes das que dependem delas (filhas).

  • Defina chaves primárias e estrangeiras para garantir integridade relacional.

  • Índices ajudam na performance e garantem unicidade quando necessário.

  • O ON DELETE RESTRICT impede que um departamento com funcionários seja excluído sem cuidado.

  • O ON UPDATE CASCADE atualiza automaticamente os códigos nas tabelas filhas.

💡 Dicas

  • Planeje antes de sair criando — normalize seus dados e defina bem as relações.

  • Evite campos genéricos ou que aceitam NULL sem necessidade.

  • Use nomes de tabelas e colunas significativos e padronizados.

  • Utilize arquivos .SQL para organizar a criação do banco e facilitar manutenção (TABS.SQL, DADOS.SQL).

 

✅ Conclusão

CREATE no DB2 é o ponto de partida de qualquer banco de dados bem estruturado. Ao dominar a criação de tabelas, índices e relacionamentos, você garante consistência, desempenho e facilidade de manutenção no ambiente de dados, especialmente em aplicações COBOL no mainframe.