Manipular PostgreSQL sem Fazer Uso de Comandos SQL

O PostgreSQL é um dos mais populares e avançados sistemas gerenciadores de banco de dados (SGBD) com código aberto. É desenvolvido pela PostgreSQL Global Development Group. Podemos dizer que apenas recentemente surgiu um novo tipo de banco de dados, o chamado banco de dados geográfico ou espacial, que consiste em um banco com capacidade de armazenar dados sobre informações de cunho espacial, como geometrias diversas.

Estou disponibilizando para vocês agora um tutorial sobre comomanipular PostgreSQL sem fazer uso de Comandos SQL.

BANCO DE DADOS E CONSTRUÇÃO DE TABELAS

O PostgreSQL possui uma ferramenta para administração do banco, chamada pgAdmin III. Esta ferramenta permite entre outras funções o carregamento de arquivos de linguagem SQL.

Em termos simples, podemos definir um banco de dados relacional como um conjunto de tabelas com dados sobre certa realidade e que estão interligados entre si. Por isso para o bom funcionamento de um banco faz necessária a criação de tabelas. Temos duas formas de fazer isso no PostgreSQL: Por meio de uma série de comandos SQL e através do pgAdmin III. Neste tutorial enfocaremos o artifício da criação do banco de dados, suas tabelas e constraints, usando a interface gráfica do pgAdmin III.

1° Passo: Criar o banco de dados:

Após conectar o banco clique com o botão direito do mouse sobre ‘Databases’ e escolha a opção ‘New Database’.

New Database

Neste tutorial iremos criar um banco de dados chamado ‘exemplo’. Na figura abaixo, perceba que para esse banco selecionamos a codificação para os caracteres ‘UTF8’, essa escolha se deve ao fato desta codificação reconhecer totalmente os caracteres do idioma que usamos comumente, o português.

Nova Base de DadosDefinidos estes parâmetros, confirme a criação do banco de dados em ‘Ok’. O novo banco aparecerá na árvore de bancos de dados no pgAdmin. Confirme se seu banco foi devidamente criado, e no caso de ainda não ter aparecido, dê um refresh (Atalho: F5).

Banco Exemplo

Para acessar o banco ‘exemplo’ clique nele. Ao fazer isso aparecerá um sinal de adição [+] isso fará que apareça todas as partes que integram o funcionamento do banco. Perceba que continuando a clicar respectivamente nos sinais [+] em ‘Schemas‘ e depois em ‘public‘ encontrará as tabelas (Tables) de seu banco de dados.

Note também que, por padrão, são criadas duas tabelas relacionadas a parte espacial do banco de dados,  ‘geometry_columns‘ e ‘spatial_ref_sys‘.

Tabelas Espaciais

As tabelas ‘geometry_columns’ e ‘spatial_ref_sys’ somente aparecerão se durante a instação do SGBD em questão no computador, foi habilitada a extensão espacial ‘PostGIS’.

2° Passo: Criação de uma tabela:

Clique com o botão direito do mouse em “Tables” e escolha a opção “New Table”.

Nova Tabela

Na janela abaixo preencha o nome (Name) referente à sua primeira tabela. Em nosso exemplo usamos o nome genérico ‘tabela1’.

Tabela1

3° Passo: Criação das colunas (Campos):

Para criar as colunas, clique com o botão direito do mouse, desta vez sobre a tabela que criamos agora, “tabela1”, como mostra a figura abaixo. Dentre as várias opções em “New Object” escolha “New Column”.

New Column

Será aberta uma nova janela onde definiremos os nomes dos campos, o tipo dos dados a serem armazenados, dentre outros aspectos.

Nesse nosso exemplo, vamos dar para essa primeira coluna o nome “coluna1”. Note que em “Data type” (Tipo de dado) escolhemos ‘varchar’ dentre uma lista de tipos possiveis, e em “Length” (Comprimento) definimos o numero máximo de caractéres que poderá estar contido em cada linha dessa coluna, neste caso 40, inclusive espaços.

Em outros de nossos tutoriais procuraremos explicar a diferença entre alguns dos tipos de dados usados no PostgreSQL. Mas tenha bem em mente, desde já, que a escolha do tipo de dado, depende do tipo de dado a ser incluido vem por atender a uma necessidade específica. Se, por acaso, desejamos colocar códigos numéricos que servirão como identificadores, poderiamos usar o tipo “int” ou outro similar a este.

A opção selecionada “Not Null” é necessária para o caso de campos que sirvam como colunas identificadoras das entidades. Essa opção indica que o campo é de preenchimento obrigatório.

É interessante destacar que no nome da coluna não é recomendável usarmos caractéres especiais como por exemplo “@”, “#”, “$”, “&”, além de acentos. A única exceção será o urderline [ _ ]. (Ex.: nome_proprietario).

Nova ColunaConfirme a criação da coluna em ‘OK’. Repita esse procedimento para as diversas colunas, escolhendo o tipo de dado adequado, e perceba que de acordo com o tipo escolhido as opções disponíveis na janela acima irão variar.

4° Passo: Adicionando Constraints:

‘Constraints’ são regras aplicadas à um ou mais campos de uma tabela. As mais usadas são as que definem as chaves primárias e estrangeiras (‘Primary Key’ e ‘Foreign Key’, respectivamente).

Quando usamos uma constraint para definir uma chave primária estamos criando uma regra que não permite que os dados se repitam numa mesma tabela. Em geral o (s) campo (s) que definidos como chave primária serão usados como identificadores únicos, que servirão para ligação entre as tabelas no banco. Nos casos em que mais de uma coluna servirão como chaves primárias, teremos o que é chamado de ‘chave composta’!

Criar uma chave estrangeira em uma coluna quer dizer que ela está relacionada com uma coluna específica de outra tabela do banco de dados. Agora, em nosso exemplo vamos supor que já criamos inúmeras tabelas (tabela1, tabela2, tabela3, etc.), cada uma com várias colunas também. Vamos adicionar uma chave primária. Para isso faça como no procedimento para criar uma nova coluna, só que dessa vez escolha a opção ‘New Primary Key’.

New Primary Key

Na janela seguinte perceba que há três abas: Properties, Columns e SQL.

Na primeira delas, ‘Properties’, vamos definir um nome para nossa chave primária, por exemplo, vamos colocar o nome aleatório ‘pk_col1’ (Primary Key Coluna1). Isso é apenas um identificador para que saibamos qual o nome de nossa chave primária.

chave primária

Após isso clique na aba ‘Columns’. Selecione o campo que será a chave primária, em nosso caso, coluna1. Depois de escolher qual será a coluna, clique em ‘ADD’.

ADD

Esse procedimento deve ser repetido até que sejam organizadas todas as chaves primárias. Na Aba ‘SQL’ aparece a operação que estamos realizando, só que na linguagem SQL. Você poderá notar que essa nova constraint aparecerá na árvore do banco de dados.

A construção de chaves estrangeiras se dá modo similar. Repita o início do procedimento anterior, escolhendo agora ‘New Foreign Key’.

Dessa vez teremos quatro abas a considerar. Nesta primeira, ‘Properties’, também escolheremos o nome da chave estrangeira, que nesse exemplo será ‘fk_col3’, que fará referência a ‘coluna1’ da tabela1. Na segunda aba ‘Columns’ selecionamos a coluna que será usada como chave estrangeira a quem ela fará referência. Após isso, clique em ‘ADD’. Na figura abaixo já adicionei a ‘coluna3’.

coluna3

Até agora você criou uma nova tabela e aprendeu a como montar chaves primarias e estrangeiras. Mas não encare esse tutorial como uma ‘receita de bolo’ a ser seguida cegamente, sem saber o sentido das coisas expostas nele.

Este tutorial também está disponível na versão PDF. Para baixar o arquivo clique aqui ou na imagem abaixo.

Manipular PostgreSQL sem Fazer Uso de Comandos SQL

Este tutorial completo tem 10 páginas e foi preparado em 2008, logo no início do Portal ClickGeo, ainda na plataforma Google Pages. Ao passo que novas versões do programa forem lançadas pretendo atualizar este material e o expandir.

Deixem seus comentários sobre o que acharam desta matéria!

Curta nossa página no Facebook [PortalClickGeo] e siga nosso Twitter [@ClickGeo] para continuar atualizado sobre o Mundo das Geotecnologias.

10 Comments on “Manipular PostgreSQL sem Fazer Uso de Comandos SQL”

  1. Vandinei Santos disse:

    Bom dia, Anderson!

    Acompanho os seus artigos e acho-os muito bem escritos e úteis para quem, como eu, deseja aprender a utilizar o banco de dados PostgreSQL.

    Gostaria que me esclarecesse por que quando eu crio o superusuário “postgres” através do comando:

    net user postgres senha /ADD

    Os serviços do PostgreSQL não são inicializados por essa conta.

    Desde já agradeço pelo esclarecimentos, desejando-lhe sucesso!

    Vandinei Santos

  2. Olá gostaria de saber como configurar o pgAdminIII, ou melhor ativa o uso do PostGIS no mesmo.

  3. Diogo Caribé disse:

    Valeu Anderson!

    O negócio esta funcionando agora! Que maravilha! Amarradão nessa história aqui.

    Abraços

  4. Diogo Caribé disse:

    Anderson,

    Mesmo com o Postgis instalado, quando crio um novo database, não vem as duas tabelas que vc se reporta como referencia a um banco de dados espacial. Acho que deve ser esse o meu problema para alimentar (importar shp) para o banco.

    Alguma sugestão?

    Abraços

    1. Oi Diogo,
      Na verdade, vai depender da versão do PostgreSQL e do PostGIS que você está usando. Além disso, quando for criar um banco, você deve no campo “Modelo” (ou “Template”) usar o que tem relação com PostGIS. Somente assim o banco será habilitado espacialmente.
      Abraço!

  5. muito util…ainda existe uma grande lacuna no entendimento sobre SGBD. eu mesmo ainda sofro um pouco, porém vou dar uma estudada nesse link. vlw!

  6. Pedro Ferreira disse:

    Boa tarde Andercon, O link não está funcionando…. Abraço

    1. Anderson Medeiros disse:

      Pedro, obrigado por informar. Já corrigi o link. Tente novamente. Abraço!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *