7. Criando e gerenciando banco de dados IB/FB
Neste capítulo veremos como criar, alterar e apagar um banco de dados IB/FB, além de aprender a gerenciá-los. O InterBase e o Firebird são softwares para armazenamento e gerenciamento de dados relacionados entre si.
Nossa tarefa é criar os objetos, como tabelas, índices, triggers, para que esses dados possam ser manipulados. O servidor IB/FB organiza esses objetos dentro de um banco de dados. O primeiro objeto que deve ser criado dentro do servidor é o banco de dados.
Criando o arquivo de banco de dados
Um banco de dados IB/FB fica armazenado dentro de um arquivo físico. Esse arquivo, pode possuir uma extensão qualquer; porém, para banco de dados InterBase, o padrão utilizado é GDB/IB. Para o FireBird a extensão padrão é FDB.
Obs: Você pode utilizar a extensão que quiser para o arquivo de banco de dados IB/FB, ou, se preferir, pode deixar até mesmo sem extensão alguma.
Para criar um banco de dados a partir do IBConsole, basta logar no servidor onde deseja criar o banco e a partir do objeto Databases da árvore selecionar a opção Create Database (Figura 7.1).

Figura 7.1. Criando um novo banco de dados a partir do IBConsole
Ao selecionar essa opção, a janela Create Database aparece para que possamos configurar as opções necessárias para a criação do banco de dados (Figura 7.2).
Figura 7.2. Janela Create Database para criação do banco de dados
Um banco de dados IB/FB pode conter mais que um arquivo físico, onde você pode especificá-los através da Grid File(s). Na Figura 7.2 estamos criando um banco de dados de nome “ClubeDelphi.ib” que ficará localizado no diretório “C”. Na seção Options, podemos informar o tamanho de cada página física do banco de dados, onde o default é 4096.
Nota: Para banco de dados onde as operações de pesquisas são muito grande, é aconselhável aumentar o tamanho da página de dados. Quanto maior a página de dados, mais registros ficam armazenados dentro de cada uma, fazendo com que em operações de consulta, menos número de páginas sejam retornadas.
É possível ainda apontar o Default Character Set que será utilizado pelo banco de dados. O IB/FB possui diversos Character Set que podem ser utilizados em todo o mundo. A opção Character Set é utilizado para determinar quais caracteres serão aceitos em campos Char, VarChar e alguns tipos BLOB (sub type text). O Character Set WIN1252 é o aconselhado para a língua portuguesa.
Utilizando o Character Set None, fazemos com que o InterBase aceite todos os dados exatamente da forma que tiver sido digitado. Quando especificamos um Character Set no banco de dados, todas as tabelas e colunas passam a utilizar esse como padrão.
Obs: Você pode indicar um Character Set especifico para uma coluna de uma tabela. Para isso, basta utilizar a instrução Character Set nome_do_caracter após a declaração da coluna.
A opção SQL Dialect é utilizado para compatibilidade com versões anteriores do InterBase. Bancos de dados criados em versões anteriores a 6 devem utilizar o Dialeto 1. Isso garante que o banco de dados fique compatível e funcione adequadamente em versões posteriores do InterBase.
O valor padrão do SQL Dialect é 3, isso permite que utilizemos os novos recursos que nasceram na versão 6 do servidor de banco de dados. No campo Alias podemos especificar um apelido para o banco de dados que estamos criando. Esse apelido será mostrado na árvore de objetos dentro do IBConsole.
Administrando o tamanho do arquivo físico do banco de dados
Caso apenas um arquivo seja especificado durante a criação do banco de dados, o InterBase cresce o tamanho do arquivo dinamicamente de acordo com o número de objetos e dados que são inseridos dentro dele. Um banco de dados IB/FB, diferente de outros no mercado, não requer uma locação de espaço no HD para sua criação.
Você pode como comentado anteriormente, criar vários arquivos físicos para um único banco de dados. Esse recurso existe, devido a alguns sistemas operacionais terem um limite máximo de tamanho para seus arquivos. Alguns sistemas operacionais de 32 bits possuem o limite de 2GB ou 4GB para um único arquivo físico.
O ...