Criar, Alterar e Remover Tabelas
As estruturas de tabelas — criar, alterar e eliminar — são geridas com modelos SQL editáveis em vez de um formulário gráfico. Isto dá-lhe um controlo mais direto do que um designer de apontar e clicar, ao custo de escrever um pouco de SQL por conta própria: o OmniDB preenche um modelo inicial funcional e você edita-o antes de o executar.
Criar tabelas
Vamos criar tabelas de exemplo (customers e addresses) na base de dados testdb
à qual nos ligámos anteriormente. Clique com o botão direito no nó Tables e selecione
a ação Create Table (Criar Tabela). Isto abre um novo separador de Consulta pré-preenchido com um
modelo CREATE TABLE para o esquema atual.
Edite o modelo para obter a tabela que realmente pretende — para customers, uma chave primária que addresses irá referenciar mais tarde:
CREATE TABLE public.customers (
cust_id serial PRIMARY KEY,
cust_name varchar(100) NOT NULL
);
Execute a instrução (da mesma forma que executa qualquer consulta). Clique com o botão direito no nó da árvore Tables e clique em Refresh (Atualizar) — a nova tabela aparece agora por baixo dele. Mantendo customers selecionada na árvore, pode inspecionar as suas Properties (Propriedades) e DDL geradas no painel ao lado da árvore, o mesmo painel usado para qualquer outro tipo de objeto.
Agora crie addresses, com uma chave estrangeira que aponta de volta para customers:
CREATE TABLE public.addresses (
add_id serial PRIMARY KEY,
add_street varchar(200) NOT NULL,
add_number integer,
cust_id integer NOT NULL REFERENCES public.customers (cust_id)
);
Neste ponto existem duas tabelas relacionadas no esquema public. Pode ver a
estrutura do esquema com a funcionalidade de gráfico: clique com o botão direito no nó do esquema public
e selecione Render Graph > Simple Graph (Gerar Gráfico > Gráfico Simples) apenas para as tabelas e as suas
relações, ou Render Graph > Complete Graph (Gerar Gráfico > Gráfico Completo) para incluir também colunas e
restrições. Ambos são gerados como um diagrama interativo, com deslocamento e zoom.
Alterar tabelas
Para alterar uma tabela existente — por exemplo, adicionar uma coluna a customers — clique
com o botão direito no nó da tabela e selecione Table Actions > Alter Table (Ações de Tabela > Alterar Tabela). Isto abre um
separador de Consulta com um modelo ALTER TABLE que edita e executa, seguindo o mesmo padrão da
criação de tabelas:
ALTER TABLE public.customers ADD COLUMN cust_age integer;
Qualquer erro devolvido pela base de dados — por exemplo, ao tentar adicionar um nome de coluna que já existe — aparece da mesma forma que qualquer consulta falhada: no painel Messages do separador de consulta, com o comando exato e o texto do erro devolvido pela base de dados.
Remover tabelas
Para eliminar uma tabela, clique com o botão direito no nó da tabela e selecione Table Actions > Drop
Table (Ações de Tabela > Eliminar Tabela). Isto também abre um modelo editável (DROP TABLE ...) em vez
de eliminar imediatamente — reveja-o e execute-o quando estiver pronto.