You are on page 1of 38

Firebird / Interbase

2010

Firebird / Interbase

Anlise de Programao

Edney da Silva Lima............................................06 Fbio Amaral de Lima.........................................11 Rosemari de Jesus dos Santos............................28 Liliane Oliveira....................................................19 Suellen Mary da Fonseca....................................29 Professor: Gilberto Braga de Oliveira

2010

[Tema]

Equipe: [Nome da Equipe]

Sumrio
1. INTRODUO ......................................................................................................III 2. CONCEITOS E DEFINIES ........................................................................... ..III 2.1 SGBD .................................................................................................................III 2.2 STORED PROCEDURES .................................................................................IV 2.3 TRIGGERS ........................................................................................................IV 2.4 VIEWS .............................................................................................................. V. 3. HISTRIA ................................................................................................................V 3.1 VERSO 1.0 .....................................................................................................VI 3.2 VERSO 1.5 .....................................................................................................VI 3.3 VERSO 2.0 ....................................................................................................VII 3.4 LINGUAGEM PSQL .......................................................................................VII 3.6 TIPOS DE DADOS .........................................................................................VIII 3.7 VERSES DO SERVIDOR .............................................................................. X 3.7.1 Classic .......................................................................................................X 3.7.2 SuperServer ...............................................................................................X 3.7.3 Embedded ..................................................................................................X 4. CARACTERSTICAS ...............................................................................................XI 4.1 FERRAMENTAS ..............................................................................................XI 4.2 COMPONENTES ............................................................................................. XI 4.3 PRINCIPAIS RECURSOS .............................................................................. XII 4.3.2 Replicao ............................................................................................. XIII 4.3.3 Sombreamento ...................................................................................... XIII 4.3.4 Suporte a Diversos Protocolos de Conexo .......................................... XIII 4.3.5 Tamanho do Banco de Dados ............................................................... XIV 5. VANTAGENS ........................................................................................................XIV 5.1 Suporte ......................................................................................................XIV 5.2 Portabilidade ............................................................................................XIV 5.3 Open Source .............................................................................................XV. 6. LIMITAES ......................................................................................................... XV 6.1 Segurana .................................................................................................. XV 6.2 Usurio SYSDBA ....................................................................................XVI 6.3 Criptografia ..............................................................................................XVI 7. INTERFACE .........................................................................................................XVII. 8. CONCLUSO .....................................................................................................XVIII 9 . REFERNCIAS ................................................................................................... XIX
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

[Tema]

Equipe: [Nome da Equipe]

1. INTRODUO
Na era da informao, seja nas organizaes, na medicina ou na educao a informao o bem mais valioso. Os bancos de dados vieram suprir a necessidade de otimizao, armazenamento e recuperao dos dados. Na busca por maior segurana dos dados, surgem os sistemas gerenciadores de bancos de dados (SGBDs). O Firebird o SGBD apresentado nesse trabalho, sendo um sistema gerenciador de banco de dados gratuito e open source desenvolvido pela FirebirdSQL Foundation, uma organizao sem fins lucrativos que visa o aperfeioamento e continuao do seu desenvolvimento. No presente trabalho a proposta no foi desenvolver um banco de dados, mas sim entender o funcionamento do sistema de gerenciamento do mesmo, no caso o Firebird, vislumbrando a histria de surgimento, as ferramentas, os principais recursos e limitaes, e no final apresentamos um estudo de caso real.

2. CONCEITOS E DEFINIES
2.1 SGBD Com o dinamismo da evoluo tecnolgica, os computadores possuem um custo mais acessvel, o que acarreta um grande aumento de pessoas e empresas que adotam o computador para a resoluo de problemas do seu dia-a-dia. Visto que uma das principais, seno a maior, finalidade do computador o armazenamento de dados, h uma preocupao para que a utilizao desses dados armazenados seja feita da forma mais eficaz possvel, considerando que pode haver um grande nmero de usurios interagindo com esses dados ao mesmo tempo. Diante da necessidade de melhorias no armazenamento e organizao dos dados no computador, surgiram os bancos de dados, que so softwares que se aplicam otimizao dessa tarefa, sendo utilizados especificamente na rea de banco de dados. A utilidade dos bancos de dados a de proporcionar uma melhor organizao e armazenamento dos dados, alm de oferecer ao usurio uma melhor facilidade na obteno das informaes ali contidas, visto que estaro num mesmo lugar de armazenamento, possibilitando um melhor aproveitamento do computador no que diz respeito otimizao do espao de armazenamento, com maior agilidade na busca e atualizao dos dados. Os bancos de dados pioneiros trabalhavam com registros de estruturas semelhantes, por exemplo, em uma organizao onde informaes similares seriam mantidas para cada funcionrio, cada setor, cada registro de salrio, etc. Os bancos de dados atuais trabalham com relacionamentos entre dados, buscando a no redundncia dos mesmos.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

[Tema]

Equipe: [Nome da Equipe]

O sistema gerenciador de banco de dados um software que se situa entre o usurio e o banco de dados fsico do computador. Sua principal finalidade facilitar a construo e utilizao de bancos de dados, separando o usurio dos detalhes em nvel de hardware, isto , ocultando ao usurio os detalhes de armazenamento dos dados no hardware, e oferecendo somente uma viso em um nvel cliente. Como o prprio nome diz, o SGBD o gestor das atividades relacionadas ao banco de dados, implicando na definio de que estrutura de armazenamento das informaes ser utilizada e de que forma essas informaes sero fornecidas ao usurio. Outra caracterstica do SGBD a de proporcionar segurana contra eventuais problemas do sistema e tentativas de acesso no autorizado. Alguns SGBDs utilizados atualmente so Oracle, DB2, Interbase e SQL Server, sistemas gerenciadores de banco de dados comerciais, e na verso open source o MySQL, o PostgreSQL e o Firebird sendo este o tema abordado neste trabalho. 2.2 STORED PROCEDURES So procedimentos selecionveis que possuem uma ou mais SQL statements para realizar clculos e fazer transformaes em determinadas linhas no lado servidor, um tanto teis quando se quer obter um determinado valor de uma tabela que seria impossvel obter numa instruo SELECT convencional. (MECENAS, 2006). */exemplo de criao de uma stored procedure*/ CREATE PROCEDURE FU_ABS( WVAR DOUBLE PRECISION) RETURNES ( R_ABS DOUBLE PRECISION) AS begin /* devolve o valor absoluto de um nmero. -123,47 ou 123, 47, devolve sempre 123, 47 */ if (: wvar is not null) then begin if (:wvar < 0.0000) then r_abs = :wvar * -1; else r_abs = : wvar; end suspend; end

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

[Tema]

Equipe: [Nome da Equipe]

2.3TRIGGERS Triggers so blocos de comandos que so executados automaticamente quando ocorre algum evento associado a uma tabela que satisfaa uma condio de INSERT, UPDATE ou DELETE. (SILVA, 2006, p. 9). No Firebird pode haver vrios triggers para cada tabela, sendo que so disparados antes ou depois das operaes de Updates, Deletes ou Inserts. /* exemplo de criao de um trigger */ CREATE TRIGGER TableView_Delete FOR TableView BEFORE DELETE AS BEGIN DELETE FROM Table1 WHERE ColA = OLD. ColA; END;

2.4 VIEWS So tabelas criadas a partir de outras tabelas, sendo que estas derivadas so chamadas de vises porque no existem fisicamente, so tabelas virtuais. Quando se tem a necessidade de consultar uma tabela constantemente que contenha dados de outras trs tabelas, por exemplo, isso facilitado pelas vises, onde se pode agregar em uma nica tabela virtual os dados das outras trs, sem nenhuma limitao para consultas. /* exemplo de criao de uma view * / CREATE VIEW TableView AS SELECT Table1.ColA, Table1. ColB, Table2.ColC FROM Table1, Table2 WHERE Table1.Cola = Table2.ColA;

3.HISTRIA
O Firebird um sistema gerenciador de banco de dados que surgiu a partir do Interbase 6. A proposta da Borland iniciou-se em 2000 quando foi aberto o cdigo do Interbase, porm para que somente fossem feitas sugestes, sem que nenhuma alterao do cdigo pudesse ser feita por algum que no fosse interno companhia. Isso trouxe bastante descontentamento aos desenvolvedores que em julho de 2000 criaram a Firebird Tree no Source Forge1para que houvesse um espao aberto a todos.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

[Tema]

Equipe: [Nome da Equipe]

Em 2001 a Borland volta com verses comerciais, tendo ento duas verses do Interbase 6, a open source e a comercial. A primeira verso do Firebird foi lanada em maro de 2002 e licenciado sob a IPL (InterBase Public License ), a qual tem os mesmos termos da Mozilla Public License 1.1, e totalmente compatvel com o padro ANSI SQL-92. Utiliza-se do padro ANSI SQL-92 para prover a manipulao dos bancos de dados e algumas funes que complementam tal padro, bem como a possibilidade de customizao. (FREITAS, 2007). 3.1 VERSO 1.0 Essa verso praticamente igual a verso open source do Interbase 6, com linguagem de cdigo em C, usando, por exemplo, os mesmos nomes dos arquivos de extenso, chaves de registro no Windows, entre outros, porm com muita correo de bugs e documentao daqueles que ainda no foram corrigidos. 3.2 VERSO 1.5 A partir da verso 1.5 o Firebird distanciou-se ainda mais do Interbase. Quando comeou a ser desenvolvido era apenas para consolidar o SGBD com a converso da linguagem de cdigo, que era em C, e a partir desta verso passou a ser C++, porm foram tantas as implementaes que ela acabou se tornando uma verso maior do SGBD. Algumas das inovaes foram: Mudanas nos nomes dos arquivos de extenso, de .gdb para .fdb, desvinculando ainda mais o Firebird do Interbase. Comandos CASE, COALESCE e NULLIF. O CASE permite retornar um valor de acordo com as condies definidas e, a partir dele, foi possvel implementar a COALESCE, comando que retorna o primeiro valor no nulo de uma seqncia de valores passados como parmetros, e o NULLIF que um comando que recebe dois valores de entrada, se os dois valores forem iguais ele retorna NULL, se forem diferentes ele retorna o valor do primeiro parmetro. SQLs dinmicos, um recurso que permite inserir e executar dinamicamente comandos SQL atravs dos comandos Execute Statement e For Execute Statement, dentro de Stored Procedures e Triggers. Verso Classic do servidor para Windows. Verso Embedded, ou embarcada, que uma variao do servidor onde se tem um servidor completo Firebird composto por apenas alguns arquivos. Disponibilidade de rodar muitos servidores simultaneamente na mesma mquina. Triggers Universais, possibilidade de associar um nico trigger a vrios eventos.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

[Tema]

Equipe: [Nome da Equipe]

Travamento pessimista, a arquitetura versioning do Firebird permite que seja praticamente desnecessria a utilizao de travamentos pessimistas nas aplicaes. A verso 1.5 tem a implementao no select de duas novas clusulas, a WHITH LOCK e FOR UPDATE, que tm a funo de evitar que outras transaes possam alterar os registros selecionados enquanto permanecem bloqueados. Apelidos (alias) de banco de dados, que permite a utilizao de apelidos atribudos ao BD nos strings de conexo, proporcionado pela implementao de um arquivo, aliases.conf, que se encontra no diretrio de instalao do Firebird. 3.3 VERSO 2.0 Com uma plataforma de cdigo mais robusta, a verso 2.0 do Firebird foi lanada durante a quarta conferncia do Firebird em Praga, na Repblica Tcheca, em 12 de novembro de 2006, trazendo tranqilidade comunidade de desenvolvedores que o utilizam, demonstrando que veio para ficar, gratuito e com cdigo aberto. A verso 2.0[..] o que podemos chamar de fase madura do produto. Melhorias em performance, novas funcionalidades e novos recursos, com certeza j entrou para a histria da informtica e o seu futuro muito promissor. (BUBLITZ, 2007, p. 50). Isso mostra que a FirebirdSQL Foundation no est parada, havendo uma movimentao intensa para que o Firebird evolua para um banco de dados melhor e mais confivel, o que j vislumbrado nos aperfeioamentos contidos nesta verso, que resultou em melhorias na performance e segurana. Algumas de suas caractersticas so: ndices com expresses, onde o valor a ser definido o resultado de expresses arbitrrias, onde pode haver, inclusive, chamadas a UDFs. Minimizao de limitaes das verses anteriores no que se refere ao tamanho dos ndices, que era de 252 bytes e tamanho das tabelas, que era de 30 Gb. O comando EXECUTE BLOCK, que permite que sejam criadas rotinas fora de triggers e stored procedures, sem a necessidade de criar uma procedure. [...] o EXECUTE BLOCK pode fazer qualquer tarefa que uma procedure executvel poderia fazer menos chamar a si mesmo (recursividade). (CANTU, 2006, p. 197) Suporte a plataforma 64 bit com o uso dos releases para AMD64 e IntelEM64T no Linux e verses para Windows 64 bits disponveis em um novo release. Intensa reviso da segurana do servidor, incluindo criptografia forte das senhas e dispositivo de proteo contra ataques baseados em brute force embutido no prprio banco. Capacidade de backup incremental.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

[Tema]

Equipe: [Nome da Equipe]

Completa re-arquitetura de serverless do protocolo de conexo local no Windows para eliminar a instabilidade herdada do protocolo IPServer. Implantao completa do servio de API2 em todas as plataformas. 3.4 LINGUAGEM PSQL A linguagem PSQL (Procedural SQL) uma linguagem nativa do Firebird para stored procedures e triggers, procedimentos de grande importncia em um sistema gerenciador de banco de dados. Temos como algumas de suas caractersticas: Suporte das variveis a qualquer tipo de dado suportado pelo Firebird, com exceo somente de Array e Blob. Os comentrios devem ser feitos entre asteriscos, como por exemplo: varivel = valor; /* atribuio de uma varivel*/. Os blocos terminam com um END seguidos por um terminador, este que definido com o comando SET TERM. Possibilidade de gerar excees dinmicas podendo criar e exibir uma mensagem no momento em que a exceo gerada. Possibilidade de chamar stored procedures em triggers e SPs internamente atravs do comando EXECUTE PROCEDURE. Stored procedures selecionveis que tem o mesmo efeito de uma view, sendo possvel utiliz-la como se fosse uma tabela contendo informaes originadas de outras tabelas do banco de dados, servindo tambm como fonte de dados para os SELECTs, alm dos comandos: o o o o o o o o IF...THEN...ELSE; POST_EVENT; SELECT_INTO; EXIT e SUSPEND; WHEND...DO; CASE, COALESCE e NULLIF; [FOR] EXECUTE STATEMENT; LEAVE/BREAK.

3.5 TIPOS DE DADOS O Firebird suporta trs dialetos, que determinam a disponibilidade de tipos e como sero armazenados no banco de dados. O dialeto 1 compatvel com a verso do Interbase 6. O dialeto 2 somenteutilizado para testes na identificao de qualquer incompatibilidade entre os dialetos 1 e 3. J o dialeto 3 recomendado para o desenvolvimento, sendo o mais atual, com novas caractersticas e suporte a tipos de dados.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

[Tema]

Equipe: [Nome da Equipe]

Na definio do dialeto de um banco de dados utiliza-se o SET SQL DIALECT x, onde x o dialeto a ser utilizado. Os tipos de dados suportados so: Char e Varchar; Date/ Time/ Timestamp; Integer , Smallint e Bigint; Float; Double precision; Numeric e Decimal; Array; Blob; Char e Varchar so tipos utilizados para armazenar letras, nmeros, caracteres, etc..A diferena entre um e outro que o Char retorna os valores com espao a direita, j Varchar retorna da mesma forma em que foram armazenados. O uso do Char indicado quando o nmero de campos j definido (CANTU, 2005). O tipo Date armazena somente datas e o Time armazena somente horas, enquanto Timestamp armazena tanto datas como horas. Estes tipos so originados do tipo Date do Interbase pelo dialeto 3. Integer e Smallint so tipos que suportam valores numricos inteiros com sinal, onde a diferena entre ambos que o primeiro ocupa 32 bits, enquanto o segundo 16 bits. J o Bigint armazena tambm valores numricos, porm guarda inteiros de at 64 bits. O tipo Float guarda nmeros de ponto flutuante, porm na maioria dos casos deve ser evitado, pois possvel que a informao armazenada no seja exatamente a mesma quando recuperada, visto que a metodologia utilizada para armazen-los, IEEE ( Institute of Electrical and Eletronics Engineers ), no garante isso. O Double precision, como o Float, tambm armazena valor em ponto flutuante, porm com uma faixa maior de valores, guardando em 64 bits, contudo possui o mesmo problema do Float, o da preciso na recuperao dos valores (CANTU, 2005). Os tipos Numeric e Decimal so utilizados para armazenar valores do tipo fracionrio, muito importante quando necessrio preciso no retorno dos dados. Campos do tipo Array no so muito utilizados no Firebird, pois no suportam alguns componentes de acesso a dados (CANTU, 2005). Esse tipo equivalente a um vetor, onde possvel armazenar diversos valores do mesmo tipo. Um campo Blob utilizado para armazenar desde textos a arquivos binrios. Sua capacidade de armazenamento ilimitada, sendo limitada somente por falta de espao em disco, por exemplo.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

10

[Tema]

Equipe: [Nome da Equipe]

Existem 6 subtipos predefinidos para campos Blob: 0-Dados binrios 1-Informao textual 2-BLR-Binary Language Representation 3-Lista de controle de acesso 4-No utilizado (reservado para uso futuro) 5-Descrio codificada para os metadados de uma tabela 6-Descrio de uma transao entre mltiplos bancos de dados que terminou de forma irregular. (CANTU, 2005, p. 77). Alm desses existem os campos calculados, onde no possvel definir que tipo de dados ir retornar, pois so resultados de operaes feitas com valores de outros campos. Quem define o tipo de dado o servidor, baseado nos tipos dos ouros campos. Alm disso, os campos calculados no so armazenados nos bancos de dados. 3.6 VERSES DO SERVIDOR Ao comear a desenvolver com Firebird, surge a necessidade de escolher qual verso do servidor optar. O Firebird possui trs verses distintas, Classic, SuperServer e Embedded. A verso Embedded uma inovao e utilizada em distribuies de programas em CD-ROM. No site Firebase foi divulgada uma pesquisa de utilizao de verses, finalizada em setembro de 2005, em vrios pases (FIREBASE, 2007). SuperServer 69% Embedded 24% Classic 5% Indefinido 2%.

3.6.1 Classic A verso Classic remanescente da verso 4 do Interbase, e baseada em processos, ou seja, para cada nova conexo cliente, disparado um novo processo servidor para atend-la. A principal caracterstica que cada processo totalmente independente, possuindo um cache de memria dedicado. Cada processo utiliza cerca de 2MB de memria. 3.6.2 SuperServer A verso SuperServer traz um conceito novo, em que um nico processo gerencia vrias conexes clientes simultneas. Cada conexo denominada thread , ou uma pequena parcela do processo. Esse processo utiliza cerca de 2MB de memria, cada conexo adiciona cerca de 115K ao consumo de memria.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

11

[Tema]

Equipe: [Nome da Equipe]

Utiliza um nico processo do servidor, que criar uma thread para cada nova conexo feita com um banco dedados, compartilhando o cache entre as conexes. (CANTU, 2006, p.2). 3.6.3 Embedded Uma das novidades, a partir do Firebird 1.5, foi o surgimento da verso Embedded, que uma variante da verso Super Server para plataformas Windows. Ela simplesmente um servidor Firebird completo em uma nica DLL chamada fbembed.dll. Essa verso limitada ao mtodo de acesso local e permite conexo com um nico usurio. Uma aplicao embutida , como conhecida a aplicao que usa a verso Embedded, pode ser executada na mesma mquina que estiver rodando um servidor Firebird normal, contudo os dois servidores no podem ter acesso a um banco de dados ao mesmo tempo. Todos os recursos e potencial do Firebird esto presentes na verso Embedded, como controle transacional, stored procedures, triggers, entre outros. possvel criar verses de demonstrao de programas com alto grau de complexidade, sem praticamente qualquer mudana do cdigo da aplicao. Esse um recurso exclusivo do Firebird.

4. CARACTERSTICAS
4.1 FERRAMENTAS Para administrar o banco de dados, o Firebird no possui ainda uma ferramenta grfica nativa. Juntamente com o servidor Firebird, disponibilizado um conjunto de ferramentas de linha de comando, como: fbmgr interface Shell com o servio do Super Server no ambiente Linux. instsvc interface com o servio Super Server em plataformas Windows para instalao, iniciao e desligamento do servidor. gbak utilizado para gerar cpias de segurana e restaurar bancos de dados. gsec ferramenta de manuteno de senhas e usurios. gfix ferramenta para reconfigurar propriedades, fazer pequenos reparos e executar tarefas de limpeza no banco de dados. gstat ferramenta para extrao de relatriosestatsticos sobre ndices e dados. fb_lock_print para recuperao de estatsticas de bloqueio que o servidor Firebird mantm para controle das alteraes feitas por mltiplas transaes. isql interactive SQL, incorpora ferramentas e tcnicas para uso de SQL na manuteno de objetos dos bancos de dados, gerenciamentodetransaes,
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

12

[Tema]

Equipe: [Nome da Equipe]

exibio de metadados e gerenciamento de scripts dedefinio de bancos de dados. Alm das ferramentas de linha de comando que acompanham o servidor, a comunidade Firebird tem a sua disposio inmeras interfaces grficas, muitas delas com acesso gratuito. Entre as mais conhecidas esto: Database Workbench (comercial) IBExpert (comercial), que oferece uma verso gratuita limitada (Lite) IBOConsole (gratuita) MDOConsole (gratuita), desenvolvida no Brasil, sob o comando do brasileiro Henrique Meira. EMS SQL Database Management Solutions (possui uma verso gratuita totalmente funcional). Uma lista completa de ferramentas grficas disponveis no mercado pode ser obtida no site da IBPhoenix3. A concorrncia entre os fornecedores de ferramentas tem sido outro fator interessante no trajeto de desenvolvimento do servidor Firebird. 4.2 COMPONENTES O usurio do Firebird tem a seu dispor uma quantidade enorme de componentes de acesso ao banco de dados, tanto na tecnologia de acesso direto atravs da API dobanco, como na de acesso atravs de uma camada intermediria, entre a aplicao e aAPI do banco, tendo compatibilidade com diversas linguagens de programao, como Java, Delphi, C, C++, Visual Basic, C#, entre outras. No geral, recomendo sempre o uso de componentes que forneam acesso nativo ao banco, mas h situaes nas quais isso no vivel, ou mesmo desejado... (CANTU, 2005, p.93). Alguns componentes de acesso ao Firebird: IB Objects (IBO) Considerado o pacote mais completo. o que oferece o maior nmero de componentes. dbExpress uma camada muito fina entre a aplicao e a API do banco de dados. Possui poucos componentes, em comparao com outros pacotes oferecidos. Interbase Express (IBX) Devido ao fato de ser desenvolvido pela Borland, sua compatibilidade com as futuras verses do Firebird no pode ser garantida. JDBC Conexo com aplicaes Java utilizando o drive JDBC 4.0 disponvel para download gratuito no site da Sun. Zeos um projeto open source que existe h bastante tempo, suportando apenas o MySQL e o PostegreSQL, sendo posteriormente adicionado acesso a outros bancos, entre eles o Firebird, possuindo arquitetura baseada no JDBC do Java.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

13

[Tema]

Equipe: [Nome da Equipe]

Mercury DataBase Objects (MDO) um projeto open source, desenvolvido por brasileiros. SIBProvider (OLEDB) um driver OLEDB nacional (comercial) para o Firebird. Pode ser utilizado por qualquer linguagem que suporte ADO ou OLEDB,incluindo Delphi, Visual Basic, Crystal Reports, ColdFusion e ASP.

4.3 PRINCIPAIS RECURSOS Um dos recursos mais vantajosos e comentados do Firebird o uso de um sistema otimista de concorrncia no acesso ao banco de dados. Na maioria dos SGBDs, se tem um bloqueio de pginas inteiras, j no Firebird, se guarda vrias verses dos registros durante uma transao, mantendo dessa forma uma viso segura dos dados, mesmo que alguma informao j tenha sido alterada aps o incio da transao. Como exemplo, um sistema em que vrias conexes esto ocorrendo no banco de dados ao mesmo tempo, uns esto visualizando relatrios para impresso, enquanto outros esto inserindo ou alterando os registros. Entre o preview de um relatrio e sua impresso definitiva, um usurio altera ou insere registros que influem no relatrio visualizado. Em outro SGBD, haveria diferena entre o que foi visualizado e o que realmente foi impresso. No Firebird, devido a diversos tipos de isolamento de transao, se tem uma imagem dos dados inalterada pelo tempo que quiser, sem impedir que outros usurios continuem acessando ou alterando os registros. 4.3.1 Replicao O Firebird no possui uma ferramenta nativa para replicao4 do banco de dados, porm existem vrios componentes de terceiros: IBReplicator adquirido pela IBPhoenix. ReplicadorBR desenvolvido por brasileiros, open source. FBReplicator ferramenta gratuita.

4.3.2 Sombreamento Para se precaver contra a perda de dados, ou corrupo do banco de dados emcaso de falha no disco rgido, na rede ou de um usurio que pode excluir acidentalmente o banco de dados, o Firebird tem o recurso de sombreamento5, que pode recuperar o banco de dados nesses e em outros casos. Vantagens do sombreamento: Recuperao rpida Alocao de disco rgido pode ser controlada
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

14

[Tema]

Equipe: [Nome da Equipe]

No utiliza um processo separado Necessita de pouca ou nenhuma manuteno

4.3.3 Suporte a Diversos Protocolos de Conexo Impossvel imaginar, atualmente, empresas que no utilizam redes em seus ambientes de trabalho, pois as redes de computadores esto no centro da competio empresarial moderna. Partindo dessa tica, um banco de dados que promete ser uma tima opo para o desenvolvimento de softwares cliente/servidor deve dar suporte aos principais protocolos de conexo. O Firebird est neste contexto, dando suporte aos seguintes protocolos: Local O protocolo Local existe hoje em duas verses, e disponvel apenas no ambiente Windows. O Firebird, a partir da verso 2.0, trouxe uma nova implementao do protocolo Local, chamada agora de XNet, onde a memria compartilhada de forma sincronizada pelos processos. O XNet pode ser usada para conexo com um servidor Firebird Classic, e com servios no interativos e sesses de terminal (terminal services). Exemplo de uma string para conexo com o banco de dados: C:\banco\dados.fdb TCP/IP (Transmission Control Protocol / Internet Protocol) o protocolo de rede mais utilizado, pois o protocolo nativo da internet. Cada computador de uma rede possui a sua identificao (simplesmente chamada de IP), que nica. O servidor Firebird pode ser acessado pela aplicao atravs do IP ou nome do computador. Exemplo de uma string para conexo com o banco de dados: Windows 192.168.1.1:c:\banco\dados.fdb ou fbserver:c:\banco\dados.fdb.

Linux 192.168.1.1:/banco/dados.fdb ou fbserver:/banco/dados.fdb No necessrio mapear um drive na estao para acessar o arquivo de banco dedados.O acesso ao arquivo fsico feito pelo processo do servidor Firebird, que est rodando na mquina servidora. O usurio associado ao processo do servidor Firebird deve ter direito de acesso aos arquivos do banco de dados. A porta padro de conexo do Firebird a 3050. NetBEUI (Net Bios Extended User Interface) hoje um protocolo em decadncia, visto que no pode ser usado em redes com tamanho razovel, pois no se comunica com outras redes, por vrios fatores, entre eles o de no ser rotevel, causando ainda muito trfego na rede. Nos sistemas operacionais Windows, est presente at o Windows 2000, o XP no vem com a instalao padro. Exemplo de uma string para conexo com o banco de dados: \\fbserver\c:\banco\dados.fdb. 4.3.5 Tamanho do Banco de Dados

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

15

[Tema]

Equipe: [Nome da Equipe]

O tamanho mximo de um arquivo de banco de dados Firebird, teoricamente de 2GB no Windows 95/98 e de 4GB no Windows NT/2000. O nmero mximo de arquivos por banco de dados Firebird 65.536, sendo este o limite do Firebird, podendo ainda ser limitado pelo sistema operacional (ARAJO, 2006). O Firebird limitado a capacidade de processamento do sistema operacional, podendo atingir a ordem de Terabytes e manusear essa quantidade de informao com tranqilidade. Os arquivos de banco de dados crescem dinamicamente, conforme a necessidade, no sendo necessrio um planejamento minucioso do tamanho que o banco de dados pode alcanar para pr-alocar esse espao. Havendo espao no HD, o Firebird o utilizar automaticamente sempre que se fizer necessrio. ndices, procedures, triggers, enfim, todos os objetos do banco de dados ficam armazenados em um nico arquivo, com a extenso .fdb. Podemos ter, em teoria, bases com alguns Terabytes de informao.

5. VANTAGENS
5.1 Suporte Um diferencial no uso do Firebird a comunidade crescente que participa do desenvolvimento do projeto, seja trabalhando no cdigo fonte, ou sugerindo novas implementaes e relatando falhas e bugs. O Brasil possui uma das maiores comunidades de Firebird no mundo, e tem vrios especialistas no pas. 5.2 Portabilidade Ao escolher um banco de dados, talvez o sistema operacional em que est baseado o servidor, j esteja definido. Por outro lado, o banco de dados deve propiciar ao administrador uma transio para o maior nmero possvel de sistemas operacionais. [..] conveniente que o banco acompanhe as mudanas ou atualizaes dos recursos de TI permitindo transies suaves. (SANTOS, 2007, p.56). Nesse contexto o Firebird d garantias necessrias ao administrador, estando disponvel para os seguintes sistemas operacionais: Windows; Linux; HPUX; MacOS; Solaris; SinixZ;
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

16

[Tema]

Equipe: [Nome da Equipe]

FreeBSD; AIX; Darwin e Windows CE.

A portabilidade do banco de dados entre mltiplas plataformas o torna tambm indicado para aplicaes que operam com atualizaes de bases off line e que tenham necessidade de integrao centralizada. (SILVA, 2006, p. 53). 5.3 Open Source O Firebird um produto open source9, visto que os sistemas que so desenvolvidos com ele no precisam pagar qualquer quantia a Fundao que o desenvolve, nem mesmo permitir que os usurios que adquirem a licena do sistema possam vend-lo, sem o seu consentimento. H diversas solues de armazenamento de dados disponveis no mercado, e as de cdigo livre vm ganhando destaque devido ao nmero cada vez maior de recursos oferecidos. (SANTOS, 2007, p. 52).

6. LIMITAES
6.1 Segurana A maior preocupao dos administradores de banco de dados, desde o surgimento do ambiente de rede corporativa, a segurana dos dados. A questo da segurana em nvel de banco de dados no Firebird, apesar das mudanas realizadas na verso 2.0, ainda merece ateno redobrada por parte dos desenvolvedores, para contornar certas limitaes, visto que na poca do surgimento do Interbase muito pouco se falava em questes de segurana da informao. O Firebird arquiva tudo que est relacionado segurana (usurios e senhas), em um banco de dados central, independente de quantos outros bancos de dados existam no computador. Na verso 1.0 esse banco denominado isc4.gdb, fortemente identificado ainda ao Interbase 6, j na verso 1.5 foi denominado Security.fdb, quebrando essa relao, e na verso 2.0 se chama Security2.fdb. O Firebird 2.0 traz diversas melhorias na questo segurana, minimizando a possibilidade de ataques ao servidor. A preparao do terreno est feita, e podemos esperar grandes novidades nessa rea para o Firebird 3.0[..]. (CANTU, 2006, p.50).

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

17

[Tema]

Equipe: [Nome da Equipe]

6.2 Usurio SYSDBA Todo servidor Firebird possui um administrador de banco de dados (DBA) denominado SYSDBA, que um usurio que est imune s regras de segurana dos bancos de dados. Sua senha, por default, masterkey, e o nico usurio, que pode alterar o banco de dados de segurana. Uma medida de segurana indicada mudar a senha padro, por ser de conhecimento pblico. Apesar de vrios avanos no Firebird 2.0, principalmente na rea de segurana, o projeto manteve o usurio SYSDBA com todos os seus privilgios. At a verso 1.5, qualquer usurio com privilgio suficiente podia se conectar ao banco de dados de segurana remotamente e manipular as informaes contidas nas tabelas. Por exemplo, um computador da rede, que tivesse privilgios de administrador, e o servidor Firebird instalado, podia acessar facilmente o computador servidor de banco de dados, e manipular todo o banco tranquilamente,como se fosse seu administrador. Na verso 2.0, o Firebird no permite essas conexes remotas, sendo feita exclusivamente atravs do servidor, via API de servios, fortalecendo as barreiras contra intrusos que conhecem essa brecha na segurana do banco. 6.3 Criptografia A criptografia10 tem a finalidade de proteger a mensagem de pessoas no autorizadas, pois mesmo que elas obtenham meios de acess-la, no tero como decodific-la, pois no possuem a chave que a abre . Em um banco de dados, de suma importncia que somente pessoas autorizadas possam ter acesso ao arquivo de banco de dados fsico, e nesse ponto o Firebird, at a verso 2.0, disponibiliza essa segurana apenas nas senhas de usurios. Um dos pontos fracos do Firebird no possuir dispositivo para criptografar dados. Os nicos dados onde se aplica criptografia so as senhas de usurios. (MECENAS, 2006, p.19). 7. INTERFACE Ainda no possui ferramentas nativas de interface grfica, tendo apenascomponentes de linha de comando, mas existe um projeto de interface grfica,de cdigo aberto, em andamento, denominado FlameRobin12, com verses para Windows, Mac OS, FreeBSD, Solaris e Linux (Debian, Ubuntu, Mandriva) e que no futuro deve fazer parte do pacote de instalao do Firebird, suprindo essa carncia. Essa uma limitao que contornada naturalmente pelo desenvolvedor, pois inmeras ferramentas de terceiros, gratuitas ou no, especficas para o Firebird, podem ser encontradas com facilidade na internet.
Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

18

[Tema]

Equipe: [Nome da Equipe]

Uma das ferramentas mais completas o IBExpert[..], que possui uma verso Free (com algumas limitaes) e uma verso shareware completa[..]. (CANTU, 2005, p.8).

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

19

[Tema]

Equipe: [Nome da Equipe]

CONCLUSO
A escolha de um SGBD leva o profissional de tecnologia da informao a analisar diversos fatores como a empresa na qual ser utilizado, a necessidade de processamento, o hardware utilizado, o sistema operacional j instalado, a familiaridade do desenvolvedor do sistema, o conhecimento dos profissionais que estaro envolvidos com a manuteno do sistema, entre vrios outros fatores. E surge tambm a questo que levanta suspeita em algumas empresas, o software livre,open source, gerando desconfiana e medo de no se ter por trs deste uma equipe especializada.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

20

[Tema]

Equipe: [Nome da Equipe]

REFERNCIAS
1 ARAJO, Carlos Alberto Pedroso. Programao Cliente/Servidor com Firebird. Florianpolis: Visual Books, 2006. 2 CANTU, Carlos Henrique. Firebird Essencial. Rio de Janeiro: Editora Cincia Moderna Ltda, 2005. 3 CANTU, Carlos Henrique. Firebird 2.0 o banco de dados do novo milnio. Rio de Janeiro: Editora Cincia Moderna Ltda, 2006. 4 DATE, C. J.. Introduo a Sistemas de Banco de Dados. 8.ed. Rio de Janeiro: Elsevier, 2005. 5 ELSMARI, Ramez; NAVATHE, Shamrant B.. Sistemas de Bancos de Dados. So Paulo: Addison Wesley, 2005. 6 LAUDON, Kenneth C.; LAUDON, Jane Price. Gerenciamento de Sistemas de Informao. 3 ed. Rio de Janeiro, 2001. 7 MEDEIROS, Marcelo. Banco de Dados para Sistemas de Informao. Florianpolis: Visual Books, 2006. 8 REBECCA, M. Riordan. Microsoft SQL Server 2000 Programando Passo a Passo. So Paulo: Pearson Education, 2002. 9 Revistas: BUBLITZ, Jorge Luis. Novidades do Firebird 2.0. ClubeDelphi, Rio de Janeiro, ano 6, n. 81, 2006. CANTU, Carlos Henrique. A escolha do banco de dados. DB FreeMagazine, Rio de Janeiro, ano 2, n. 8, 2006. CANTU, Carlos Henrique. Firebird, essa a minha escolha, e a sua?. SQL magazine, Rio de Janeiro, ano 2, n. 15, 2004. MECENAS, Ivan. Firebird. SQL magazine, Rio de Janeiro, ano 3, n. 37, 2006. SANTOS, Paulo Srgio M. dos. Comparando Firebird, MySQL, PostegreSQL e SQLite. SQL magazine, Rio de Janeiro, ano 4, n. 41, 2007. SILVA, Hlio. Firebird poupa a mquina. Info EXAME Coleo 2006 banco de dados, So Paulo, edio 27, 2006.

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

21

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

22

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

23

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

24

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

25

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

26

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

27

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

28

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

29

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

30

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

31

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

32

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

33

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

34

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

35

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

36

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: http://www.etecfran.com.br/

37

[Tema]

Equipe: [Nome da Equipe]

Rodovia Pref. Luiz Salomo Chamma, S/N Km 41 Pouso Alegre CEP 07895-340 Franco da Rocha SP Brasil - Telefones (11) 4443-6110/4449-3115 E-mail: etefrancodarocha@hotmail.com Site: www.etefran.com.br

38

You might also like