Neste artigo iremos aprender a criar um banco de dados Firebird 2.1 e criar geradores de ID utilizando a ferramenta IBEXPERT 2008.

Todo projeto deve ser iniciado por um planejamento. Ter uma idéia e não jogá-la no papel pode ser uma grande “furada”, pois na hora em que os erros aparecerem, a detecção se torna lenta e complicada. Por isso, antes de sair programando ou criando o banco de dados, faça uma modelagem de dados:


Figura 1 - Modelagem de Dados de Controle de Acesso usando Case Studio.

Com a modelagem nas mãos, vamos então à criação do banco de dados.

Como vamos fazer uma conexão simples com um banco de dados local, vamos por efeito de organização criar no diretório C:\ do Windows uma pasta denominada BD:


Figura 2 – Pasta Destino do Banco de dados.

Vamos então abrir o IBEXPERT 2008, ir até o Menu Database e selecionar  Create Database...”:


Figura 3 – Selecionando Menu de criação de Banco de Dados.

Preencha os campos conforme orientação dada abaixo:

·         Server: Local

·         Database: C:\BD\BDACESSO.fdb

·         Client Library File: C:\Windows\System32\FBCLIENT.DLL

·         Username: SYSDBA

·         Password: masterkey

·         Page Size: 16384

·         Charset: WIN1252

SQL Dialect: Dialect 3



Figura 4 – Criando Banco de Dados de Acesso.

Obs. Conforme figura 4, deixe marcada a opção de registrar banco de dados após a criação (Register Database After Creating).

Clique em OK.

Agora, estaremos na tela de registro:


Figura 5 – Registrando o banco de dados BDACESSO.

É importante ter atenção com três (3) informações:

·         Database Alias: BDACESSO (Apelido do seu banco de dados)

·         Server Version: Firebird 2.1 (Versão do banco de dados que está sendo utilizada)

·         Font Characters Set: ANSI_CHARSET (O IBEXPERT tem versões onde o russo é padrão)

Ainda nesta tela, clique em “Test Connect” para ver se a conexão está correta. A seguinte tela irá aparecer:


Figura 6 – Tela de teste de conexão.

Observando a tela acima, observamos a palavra “Passed!”, que significa que o teste de conexão está correto.

Clique em Cancel.

Clique em Register. Pronto! Seu banco de dados está criado!

Ao visualizar o Database Explorer do IBEXPERT você verá que o BDACESSO foi criado. Dê um duplo clique sobre ele e você verá toda a estrutura do banco de dados:


Figura 7 – Estrutura do banco de dados BDACESSO.

Vamos agora para a criação da tabela USUARIO, conforme modelagem de dados da Figura 1. Ainda na Database Explorer, clique com o botão direito sobre “Tables” e selecione “New Table...”.

Coloque o nome da tabela e adicione o IDUSUARIO, marque as opções:

·         PK – chave primária;

·         Not Null – nunca poderá ser nulo;

·         Auto Inc – Auto incremento.

Ao selecionar Auto Inc, aparecerá a tela de criação do Generator_ID, que é um procedimento que fará a incrementação de IDUSUARIO:


Figura 8 – Criando gerador de ID para IDUSUARIO.

Clique na aba “Trigger” e marque a opção “Create a Trigger”:


Figura 9 – Criação de Trigger de auto-incremento.

Clique na aba “Procedure” e marque a opção “Create a Procedure”:


Figura 10 – Criação de procedure de auto-incremento.

Nota: para cada tabela que for criada no banco de dados, esse passo a passo de criação do ID deverá ser repetido, mudando somente as denominações.

Dê OK.

Clique na seta pra baixo e vá adicionando os demais campos da tabela até que ela fique com a seguinte configuração:


Figura 11 – Criando Fields da Tabela USUARIO.

Repita os mesmos passos para a tabela MENU e USUARIO_MENU:


Figura 12 – Criando Fields da Tabela MENU.


Figura 13 – Criando Fields da Tabela USUARIO_MENU.

A tabela USUARIO_MENU foi criada com o objetivo de se poder adicionar vários Menus pra cada usuário e por isso ela é composta de duas chaves estrangeiras:

1)      IDUSUARIO;

2)      IDMENU;

Então, precisamos fazer o banco de dados entender esses relacionamentos.  Ainda na tabela USUARIO_MENU selecione a aba “Constraints” e em seguida a sub-aba “Foreign Keys”:


Figura 14 – Acessando chaves estrangeiras.

Clique com o botão direito na parte branca e selecione a opção “New Foreign Key”:



Figura 15 – adicionando uma nova chave estrangeira.

Aplique as seguintes ações:

·         OnField: IDUSUARIO;

·         FK Table: USUARIO;

·         FK Field: IDUSUARIO;

·         Update Rule: CASCADE; (ao atualizar a tabela Usuario, atualiza a tabela USUARIO_MENU)

·         Delete Rule: CASCADE; (ao deletar da tabela Usuario, deleta-se da tabela USUARIO_MENU)

Adicione uma nova chave estrangeira e aplique as seguintes ações:

·         OnField: IDMENU;

·         FK Table: MENU;

·         FK Field: IDMENU;

·         Update Rule: CASCADE; (ao atualizar a tabela MENU, atualiza a tabela USUARIO_MENU)

·         Delete Rule: CASCADE; (ao deletar da tabela MENU, deleta-se da tabela USUARIO_MENU)

Sua tela deverá ficar assim:


Figura 16 – Chaves estrangeiras.

Clique na figura do raio para compilar as chaves estrangeiras. Aparecerá uma nova tela. Basta clicar em close. Volta na estrutura da sua tabela (Clique na aba Fields) e verá os relacionamentos criados:


Figura 17 – Fields da tabela USUARIO_MENU.

Ø  PK (Primary Key) = Chave Primária;

Ø  FK (Foreign Key) = Chave Estrangeira.

Conforme modelagem de dados solicitada, o banco de dados de controle de acesso está criado e configurado.

Use os conceitos para os bancos de dados de suas aplicações. Estude e fique Expert em IBExpert!

Até o próximo artigo!

Rafael Marins Ribeiro

Engenheiro de Softwares

Rafael.marins.ribeiro@gmail.com