.NET

Gerir Bases de Dados

Depois de criar uma ligação, pode abri-la clicando em Connect (Ligar) na secção Ligações, ou fazendo duplo clique sobre ela na lista de ligações. O OmniDB passa então para a secção Base de dados e abre a ligação num novo separador de ligação.

Secções do espaço de trabalho

A barra de ícones na margem esquerda da janela alterna entre as secções do espaço de trabalho:

As secções Base de dados, Monitorização, Notificações, Permissões e Utilizadores ligados mostram todas a mesma faixa de separadores de ligação abertos no topo, com a mesma seleção: selecione uma ligação numa delas e as restantes acompanham-na. Mudar de secção nunca fecha uma ligação.

Separadores de ligação

Cada ligação aberta é um separador nessa faixa, com o nome da ligação. Uma ligação marcada com um ambiente (Production, UAT, Development, Archive) mostra a cor desse ambiente no seu separador, para que uma ligação de produção seja fácil de distinguir. Passar o rato sobre um separador mostra os seus detalhes (servidor ou cadeia de ligação) e revela o seu botão de fecho (×). Os separadores podem ser reordenados arrastando-os.

O + no fim da faixa abre outra ligação: lista as suas ligações guardadas (agrupadas, se usar grupos) e, em Consolas SSH, as suas ligações de terminal. Fechar um separador de ligação termina as respetivas sessões de base de dados.

Dentro de um separador de ligação encontra:

Um Separador de consulta contém um editor SQL com realce de sintaxe, preenchimento automático e localizar e substituir, uma barra de ferramentas (Executar, Executar instrução no cursor, Indentar SQL, Histórico de comandos, Explain, Explain Analyze, Autocommit, Exportar dados, …) e, por baixo, a área de resultados com os subseparadores Dados, Mensagens e Explain. Consulte Escrever Consultas SQL para mais detalhes.

Trabalhar com bases de dados

Expanda o nó raiz da árvore (com o nome do motor de base de dados). Da primeira vez que usar uma ligação cuja palavra-passe não está guardada, o OmniDB pede-a. Uma palavra-passe escrita nessa caixa é memorizada durante 30 minutos da sua sessão; depois disso, a caixa volta a aparecer. Depois de introduzir a palavra-passe correta, o nó raiz mostra a versão do servidor e expande-se, mostrando a ligação de base de dados atual e também elementos ao nível da instância — no caso do PostgreSQL: Bases de dados, Tablespaces, Roles e Slots de replicação.

Pode ligar-se a uma única base de dados PostgreSQL e, usando a mesma ligação, ligar-se a outras bases de dados na mesma instância PostgreSQL. Para mudar, expanda o nó de outra base de dados: o OmniDB pergunta se deseja realmente mudar a base de dados ativa e, com Sim, torna-a a base de dados ativa desse separador de ligação.

Vá em frente e expanda o nó Schemas (Esquemas). Verá todos os esquemas na base de dados atual (no caso do PostgreSQL, os esquemas TOAST e temporários não são mostrados).

The database tree with the Databases node expanded

Agora clique para expandir o esquema public. Verá diferentes tipos de elementos contidos neste esquema.

The database tree with the public schema expanded

Agora clique para expandir o nó Tables (Tabelas), e verá todas as tabelas contidas no esquema public. Expanda qualquer tabela e verá as suas colunas, chave primária, chaves estrangeiras, restrições, índices, regras, triggers e partições.

A table expanded in the database tree, with its Properties panel

Para ver registos dentro de uma tabela, clique com o botão direito nela e escolha Data Actions > Query Data.

The Data Actions submenu of a table

Repare que o OmniDB abre um novo editor SQL com uma consulta simples para listar os registos da tabela. Os registos são apresentados numa grelha mesmo abaixo do editor. Esta grelha pode ser controlada com o teclado como se estivesse a usar um gestor de folhas de cálculo. Também pode copiar dados de células individuais ou de um bloco de células (que pode ser selecionado com o teclado ou o rato) e colar em qualquer gestor de folhas de cálculo.

A query tab showing the rows of a table

Pode editar a consulta no editor SQL, escrevendo consultas simples ou mais complexas. Para executar, clique no botão Executar ou prima Alt-Q (Ctrl-Q no macOS). Se o resultado tiver mais linhas do que o primeiro lote obtido, aparecem os botões Obter mais e Obter tudo. Mais detalhes nos próximos capítulos.

Trabalhar com vários separadores dentro da mesma ligação

Dentro de uma única ligação, pode criar vários separadores interiores clicando no + no fim da faixa de separadores interiores e escolhendo depois Separador de consulta (ou Separador de consola).

No OmniDB, pode executar várias instruções SQL e procedimentos em paralelo. Cada separador de consulta tem a sua própria sessão de base de dados. Enquanto um separador está em execução, mostra um indicador giratório; quando termina um separador que não está a ver, mostra em vez disso um visto. O botão vermelho Cancelar cancela a instrução em execução no separador atual.

Também pode arrastar e largar um separador para alterar a sua ordem. Isto funciona tanto com separadores interiores como com separadores de ligação. Quando uma fila de separadores fica sem espaço, os separadores encolhem passo a passo até mostrarem apenas o ícone; passar o rato sobre um separador só com ícone mostra o seu nome.

Adicionalmente, pode usar atalhos de teclado para gerir separadores interiores. Estes são os predefinidos no Windows/Linux (o macOS usa Ctrl em vez de Alt); todos podem ser alterados em Definições > Atalhos de teclado:

Não existem atalhos de teclado para os separadores de ligação — use o rato ou arrastar e largar para esses. (O menu Visualizar da aplicação de ambiente de trabalho tem atalhos para mudar de secção; consulte Aplicação de Ambiente de Trabalho.)

Todos os separadores de consulta são guardados automaticamente sempre que os executa. Mesmo que feche a janela do OmniDB ou o separador do browser, ficam armazenados na base de dados de utilizador do OmniDB e são restaurados da próxima vez que abrir o OmniDB (na aplicação de ambiente de trabalho) ou voltar a iniciar sessão (na versão servidor) — o OmniDB arranca então na secção Base de dados com essas ligações abertas. Fechar você mesmo um separador de ligação ou um separador interior elimina-o permanentemente, pelo que não será restaurado.