Banco de Dados Relacional Firebird O Que o
Banco de Dados Relacional Firebird
O Que é o Inter. Base ? • O Inter. Base é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional que está baseado no padrão SQL ANSI-92, de alta performance, independente de plataformas e de sistemas operacionais, extremamente fácil de instalar, administrar e projetar (não requer um profissional especialista, ou DBA - Data. Base Administrator). • Copyright© Borland Software Corporation. • http: //www. borland. com/interbase
Firebird X Inter. Base • O Firebird nasceu do Inter. Base 6. 0 Open Source (código aberto). • Após a Borland abrir o código do Inter. Base na versão 6. 0, ela decidiu que continuaria mantendo uma versão comercial do produto (com o código fechado). • Nesse momento, um grupo de pessoas, algumas delas que já trabalhavam com o Inter. Base dentro da própria Borland, decidiram dar continuidade à versão aberta criando o Firebird. • Hoje temos disponíveis o Inter. Base 6. 0 (Open Source) que não sofreu mais atualizações por parte da Borland desde o release 6. 0. 2, o Inter. Base 6. 5 e 7. 0 que são produtos comerciais desenvolvidos pela Borland e as versões Firebird que são Open Source e vem crescendo e ganhando novos recursos a cada dia.
Portanto, o que é o Firebird ? • O Firebird é um banco de dados relacional cliente/servidor Open Source, de alta performance, compatível com o padrão SQL ANSI-92 e que foi desenvolvido a partir do código fonte aberto do Inter. Base 6. • Ele roda em mais de 10 (dez) sistemas operacionais e vem conquistando espaço no disputado mundo dos servidores SQL. • http: //www. firebase. com. br
http: //www. firebirdsql. org
O Que é o SQL ? • O SQL significa Structured Query Language (Linguagem de Consulta Estruturada) e foi criada pela IBM como linguagem de acesso ao seu banco de dados relacional para mainframes, o DB 2. • Ela atende ao conjunto completo de exigências para se classificar como linguagem relacional e foi padronizada para uso em qualquer plataforma de computadores: mainframes, minis e micros, de qualquer marca; é uma linguagem aberta para uso por qualquer fornecedor de software.
Declarações SQL • As declarações SQL estão divididas em duas categorias funcionais: DDL (ou Data Definition Language, ou Linguagem de Definição de Dados) e a DML (ou Data Manipulation Language, Linguagem de Manipulação de Dados). • Da DDL fazem parte as declarações para criar (CREATE DATABASE) um banco de dados; criar (CREATE TABLE), modificar (ALTER TABLE) ou eliminar (DROP TABLE) tabelas em um banco de dados; criar (CREATE INDEX) ou eliminar (DROP INDEX) índices para uma tabela. • Enquanto da DML fazem parte, por exemplo, as quatro declarações básicas, SELECT para obter os dados de uma ou mais tabelas contidas em um ou mais bancos de dados; INSERT, DELETE e UPDATE para manipular dados em tabelas, através da inserção, exclusão ou atualização de registros respectivamente.
Situação Atual do Firebird (1/2) • Por ser derivado do Inter. Base 6. 0, o Firebird mantém total compatibilidade com essa versão. • Entre as melhorias implementadas no código do Firebird estão a correção de bugs e adição de novos recursos. • Na versão 1. 5, lançada oficialmente em fevereiro de 2004, o Firebird teve seu código portado inteiramente para C++ e sofreu a remoção de todos os códigos obsoletos.
Situação Atual do Firebird (2/2) • A versão 1. 5 marca a história do Firebird, afastando-o definitivamente do Inter. Base. Os nomes dos arquivos e chaves de registro, que antes mantinham total equivalência com o Inter. Base, agora possuem identidade própria, deixando claro que os dois bancos seguirão seus próprio caminhos. • No entanto, o Firebird 1. 5 continua totalmente compatível com o Inter. Base 6. 0 e com o próprio Firebird 1. 0. • Dessa forma, os que já utilizavam essas versões do servidor, não terão maiores problemas; a migração pode ser feita de maneira tranqüila e transparente.
http: //www. firebirdsql. org Baixando o Instalador (1/3)
Baixando o Instalador (2/3)
Baixando o Instalador (3/3)
Rodando o Instalador
Sequência de Passos na Instalação 1 2 3 4
Sequência de Passos na Instalação 5 6 7 8
Sequência de Passos na Instalação 9 11 10
Firebird Instalado
Serviço “Firebird” executando (ou rodando).
Dialetos (1/3) • Antes de apresentar detalhes sobre os tipos de dados, é importante destacar que o Firebird e o Inter. Base suportam três dialetos que determinam os tipos disponíveis e a maneira como são armazenados. • Os dialetos foram lançados na versão 6 do Inter. Base para que novos tipos de dados pudessem ser oferecidos pelo servidor sem comprometer a compatibilidade com versões antigas. • Os tipos de dados tem comportamento diferente de acordo com o dialeto usado.
Dialetos (2/3) • O dialeto 1 mantém compatibilidade com qualquer banco de dados criado no Inter. Base 6 ou anterior. • O dialeto 2 deve ser utilizado apenas em testes e depuração, para identificar incompatibilidades entre tipos dialetos 1 e 3, mas não deve ser utilizado em ambientes de produção. • O dialeto 3 é o mais novo, e o recomendado, oferece tipos de dados adicionais e características especiais.
Dialetos (3/3) • Para definir o dialeto de um novo banco de dados é usado o seguinte comando, ou sentença SQL: SET SQL DIALECT X; onde: X identifica o dialeto a ser utilizado (1, 2 ou 3).
Tipos de Dados no Firebird (1/7) CHAR e VARCHAR • Os tipos CHAR e VARCHAR são usados para armazenam informações textuais (letras, números, caracteres especiais, etc). • A diferença entre os dois tipos é que CHAR sempre recupera a string armazenada com espaços à direita, mesmo que não utilize todo o espaço definido pelo campo. Já o tipo VARCHAR recupera as strings sem espaços, ou seja, com o mesmo tamanho que foram inseridas. • O uso de campos CHAR é recomendado quando os valores têm seu tamanho determinado previamente, como por exemplo para armazenar CEPs ou siglas de UFs.
Tipos de Dados no Firebird (2/7) DATE, TIME e TIMESTAMP • No dialeto 3 o tipo DATE armazena somente uma data; o tipo TIME, por sua vez, armazena somente informações de hora; e finalmente, o tipo TIMESTAMP, armazena tanto a data quanto a hora. Internamente qualquer um desses tipos ocupa um espaço de 64 bits (ou 8 bytes). INTEGER e SMALLINT • O tipo INTEGER armazena valores inteiros com sinal; ocupa 4 bytes e permite uma faixa de valores entre -2. 147. 483. 648 até 2. 147. 483. 647. O tipo SMALLINT também armazena inteiros com sinal, mas ocupa 16 bits não decimais com sinal ocupando 2 bytes, permitindo um faixa de -32. 768 até 32. 767.
Tipos de Dados no Firebird (3/7) BOOLEAN • O tipo BOOLEAN está disponível apenas no Inter. Base 7. x. Permite os valores true, false e Unknown. • Provavelmente este tipo estará implementado na próxima versão do Fire. Bird (posterior a 1. 5). • Enquanto isso não acontece, deve-se trabalhar com o tipo CHAR(1) e armazenar “T” indicando true e “F” para indicar false ou usar o tipo INTEGER tratando “ 1” como true e “ 0” como false.
Tipos de Dados no Firebird (4/7) FLOAT • Campos FLOAT são utilizados para armazenar valores de ponto flutuante, como valores reais ou moeda (ou currency); ocupam 8 bytes e permitem uma faixa de valores de 1. 175 x 10 -38 até 3. 402 x 1038. DOUBLE PRECISION • É possível afirmar que o tipo DOUBLE PRECISION é um “FLOAT duplo”. • É armazenado em 8 bytes o que permite uma faixa maior de valores e 2. 225 x 10 -308 até 1. 797 x 10308.
Tipos de Dados no Firebird (5/7) NUMERIC e DECIMAL • A partir do Inter. Base 6 (e do Firebird 1), com a utilização do dialeto 3, os tipos NUMERIC e DECIMAL são indicados para armazenar valores fracionários, nos quais a precisão é importante na recuperação de dados (indicados para armazenar valor do tipo moeda). • Ambos os tipos NUMERIC e DECIMAL são declarados com dois parâmetros: precision e scale. • O parâmetro scale (escala) determina quantos dígitos depois da vírgula serão armazenados. • O parâmetro precision especifica o número máximo de dígitos, tanto inteiros como fracionários. Para o tipo NUMERIC, o parâmetro precision determina “exatamente” o número de dígitos armazenados. Para DECIMAL, precision especifica o número mínimo de dígitos. • O valor de scale deve ser sempre menor ou igual ao de precision.
Tipos de Dados no Firebird (6/7) BLOB • Campos do tipo BLOB podem armazenar desde textos simples até arquivos binários arbitrários. Ao definir um BLOB, deve ser especificado seu subtype (subtipo) e o segment size (tamanho do segmento). Existem algumas variedades de subtipos pré-definidos para campos BLOB, por exemplo: 0 - Dados binários (para armazenar imagens) 1 - Informação textual (equivalente ao tipo memo) • O armazenamento de arquivos BLOB pode facilitar a administração de dados, muitas as vezes, dependendo da informação ou do arquivo a ser armazenado, é melhor armazenar no banco de dados apenas um path indicando o caminho externo do arquivo. • Mantendo a informação ou o arquivo fora do banco de dados diminuirá o seu tamanho, em contrapartida aumentará o esforço, por exemplo, na hora de fazer backups.
Tipos de Dados no Firebird (7/7) CAMPOS CALCULADOS • Diferentemente dos outros tipos de dados, os campos calculados não são armazenados no banco. • O conteúdo de um campo calculado é gerado em tempo de execução pelo servidor de banco de dados e é geralmente o resultado de operações com valores de outros campos.
Ferramenta Administrativa • O Firebird “não” traz nenhuma ferramenta administrativa gráfica por padrão. Sendo assim, o administrador do banco de dados tem que efetuar a maioria das operações através de comandos SQL. • Existem inúmeras ferramentas disponíveis e que podem ser baixadas da Internet, muitas delas gratuitas. • Uma das principais ferramentas disponíveis para administração, através de interfaces gráficas, do Inter. Base e do Firebird é a ferramenta CASE (Computer-Aided Software Engineering, ou Engenharia de Software Apoiada por Computador) desenvolvida pela empresa HK-Software chamada IBExpert. • O IBExpert possui uma versão free, com algumas limitações, e uma versão shareware completa.
http: //www. firebase. com. br/fb/downloads. php? categ=2 Lista com algumas “ferramentas administrativas” para o banco de dados Firebird disponíveis na Internet.
http: //www. ibexpert. com
C: Arquivos de programasHK-SoftwareIB Expert 2. 0 Tables Procedures Triggers tabelas do banco de dados procedimentos armazenados gatilhos
Referências • Carlos Henrique Cantu. Firebird- Uma alternativa free. Revista SQL magazine, edição 4 (Ano I), pág. 28 – 30. • Carlos Henrique Cantu. Firebird 1. 5 – Instalação e configuração. Revista Clube. Delphi, edição 50 (Ano IV), pág. 17 – 21. • Carlos Henrique Cantu. Tipos no Inter. Base/Firebird. Revista Clube. Delphi, edição 44 (Ano IV), pág. 12 – 15.
- Slides: 33