Arquivos históricos do BR-Linux.org apresenta:

Linux Journal analisa Firebird, o sucessor do Interbase

Notícia publicada por brain em fevereiro 10, 2004 09:54 AM | TrackBack


Quando a Borland abriu o código do InterBase, ele acabou dando origem ao projeto Firebird - um banco de dados aberto, baseado na herança do Interbase, com algumas características que o diferenciam do MySQL e do PostgreSQL. Este recente artigo do Linux Journal explica o que é o Firebird, como instalar, usar e desenvolver sistemas baseados nele.

 

Comentários dos leitores
(Termos de Uso)

» Marcelo () em 10/02 10:21

Somente uma correcao: O FireBird nao e o sucessor do Interbase e sim um novo SGDB que foi originado do codigo fonte do Interbase 6.0


» Augusto Campos () em 10/02 10:25

É exatamente por isso que ele é o sucessor do Interbase.


» Dyego Souza Dantas Leal () em 10/02 10:26

O interbase continua sendo comercializado ? se continuar... entao nao eh sucessor e sim alternativa :)


» Augusto Campos () em 10/02 10:31

Ah, ainda existe o Interbase comercial, fechado? Vais ter que me perdoar, não acompanho este mercado. Então o firebird é apenas o sucessor do Interbase 6 :)


» Eduardo Souza () em 10/02 11:25

Estranho é que tem horas que o Augusto fala português do Brasil, daí no outro post ele muda pra um português mais "gramaticalmente correto". :)


» Augusto Campos () em 10/02 11:43

como assim, eduardo?


» Eduardo Souza () em 10/02 11:49


É quem tem uns posts que você escreve "como brasileiro", usando o verbo na terceira pessoa (você vai), enquanto que em outros escreve usando a segunda pessoa (o português gramaticamente correto, mas não usado comumente no Brasil, como tu vais) .

Soh isso.
:)


» Rodrigo Gonçalves () em 10/02 11:50

O Firebird originou-se no Interbase porém está sendo desenvolvido de forma independente. A Borland vez ou outra "pega" algum recurso dele e incorpora no Interbase (7 ou 7.5 atualmente se não estou enganado). Porém o inverso não ocorre.

Eu diria que ele é agora um produto independente, algo como Conectiva X Redhat.


» Augusto Campos () em 10/02 12:00

Eduardo, é que eu moro em floripa, aqui se fala na segunda pessoa mesmo ;)


» Eduardo Souza () em 10/02 12:05

Augusto, então tá tudo explicado!
;)


» Cassio () em 10/02 12:22

Eduardo!

Só dando uma "curijida":

"Você" não é terceira pessoa :)
Terceira pessoa é "ele/elas" :-)

[]'s

cássio


» Eduardo Souza () em 10/02 12:37

Cássio,

Bem, consultando os meus manuais de português :), você é terceira sim, assim como ele, ela...

Lembro porque a professora de português me tirou nota porque eu coloquei você como segunda pessoa...
hehehhe, ehehhehe

E vamos falar de Firebird!


» Augusto Campos () em 10/02 12:52

"você" é terceira pessoa sim :)


» Felipe Raposo () em 10/02 13:01

Eduardo,

"você" é terceira pessoa sim e não é errado falar.

Você falou que "tu" é gramaticalmente correto, mas "você" também é.


» Paulo Junqueira da Costa () em 10/02 13:36

Utilizo o Firebird em todos os meus projetos na minha pequena empresa. É um banco rápido, com excelentes recursos, muito fácil de instalar e manter e ainda conta com ferramentas muito boas para administração, sincronização de estruturas de bancos, back-up/restore, etc.

A versão 1.5 conta com muitos recursos interessantes que fazem do Firebird meu banco preferido. Alguns recursos:

- Procedures, triggers, domains, generators (como sequence do Oracle).
- Cascade update/delete.
- Possibilidade de disparar eventos do banco para o cliente.
- Muitos OSs disponíveis, inclusive Linux.
- IBExpert Personal gratuito que facilita, e muito, o trabalho de desenvolvimento.
- Reverse Engineering embutido.
- Possibilidade de criação de campos calculados.
- Savepoints e múltiplas transações paralelas na mesma conexão.
- Acesso direto através do Delphi com IBX, Zeus e IBObjects, dispensando ODBC, ADO, BDE, bla, bla, bla.
- Algumas opções de drivers: Java, ADO.Net, ODBC.
- Suporte a UDFs. Dá pra fazer funções em uma DLL/SO e usá-las dentro do banco de dados. Ex:

SELECT Extenso(VALOR) FROM TABELA

Onde Extenso é uma função feita em C, Delphi, etc.

- Praticamente sem administração. Instalou? Esquece.
- Instalação simples e pequena.
- Versão embedded para Windows e Linux. Permite que o Firebird seja utilizado de forma local, sem instalação e com todoas as suas funções. Ótimo para distribuir CDs de apresentação ou para contrução de Brief-case applications.

Nem preciso dizer que sou fã de carteirinha do Firebird. Seu desenvolvimento está a pleno valor.

O projeto Yafill, também derivado do Interbase, se juntou ao Firebird e seus códigos agora serão um só. Com isso, ganhamos mais features.

Experimentem o Firebird, se precisarem de alguma dica, tenho muita coisa: Sites, ferramentas, códigos de exemplo, etc.

Ficarei contente em compartilhar.


» Itamar () em 10/02 13:38

Vossa Mercê --> VossaMece --> vosmecê --> você

Segundo um estudioso aqui ao meu lado que viu esses posts, essa é a evolução do "você"

Mas falando de Firebird.....!!!!
rsrsrsrsrsr


» Cassiano () em 10/02 13:49

Paulo

Concordo com você que o interbase é uma ótima opção como banco de dados, mas na minha opinião falta a ele um recurso muito util no desenvolvimento de sistemas, que é o de criar tabelas temporárias. No postgresql você pode criá-las direto na instrução sql, isso sem falar que esse recurso também está disponível em bancos de dados proprietários como SQL Server, Infórmix e DB2.


» Dyego Souza Dantas Leal () em 10/02 14:04

MySQL tmb tem temporary tables ;)


» Paulo Junqueira da Costa () em 10/02 14:40

Cassiano,

Um truque simples para manejar valores como se fosse uma tabela temporária: Crie uma estrutura e controle seus valores em client. Exemplo:

SELECT
0 CODIGO,
CAST('' As VARCHAR(50)) NOME,
' ' FLAG_X,
CURRENT_DATE DATA
FROM
RDS$DATABASE

Isso faz com que você recupere um dataset com a estrutura acima e, se você conseguir manipular um dataset bi-direcional em sua linguagem, poderá tratar os seus valores sem ter que enviá-los ao banco. Sua tabela temporária ficaria em cliente.

Uso isso em Delphi e funciona muito bem.


» Incógnito () em 10/02 14:43

Você pelo o que eu sei, "você" é pronome de tratamento e nada tem a ver como os pronomes pessoais do caso reto. :-)


» SdnNvT () em 10/02 15:49

Segundo CALDAS AULETE (Dicionário Contemporâneo da Língua Portuguesa, p. 5333, v. 5, Ed. Delta, 1958, RJ), "você" é um pronome de tratamento informal, utilizado no Brasil, com exceção do RS e parte de SC, substituindo inteiramente o "tu". Emprega-se com o verbo na 3a. pessoa, mas no uso popular brasileiro é comum ouvir-se com a flexão da 2a. pessoa. É forma contraída de Vossa Mercê. Linux também é cultura... :-)


» Patola (Cláudio Sampaio) () em 10/02 15:52

É comum ouvir-se "você" com a flexão da segunda pessoa? Nunca ouvi nem li alguém falando "você vais" ou "você soubeste"... Esse dicionário aí tá errado!


» Valerio () em 10/02 16:17

Com relação ao idioma:
As pessoas de outras regiões usam o 'pronome' você no lugar do tu ( 2ª pessoa ) e colocam o verbo da 3ª pessoa ( ele/ela )
Ex: Você diz que esta certo.

No jeito de falar daqui de floripa a gente usa:
Tu dissestes que esta certo, e as vezes também
Tu disse que esta certo. ( o pronome certo com o verbo errado )

Com relação ao Firebird:
Nunca usei ele parecia muito um banco de dados muito bom, mas também muito voltado pro Delphi, que desisti de usa-lo.
Saindo a versão 1.5 eu vou tentar inserir nos meus programas em C/C++ utilizando a API dele.


» hamacker () em 10/02 16:18

Cassiano isso aí que voce fez não é tabela temporaria, é apenas um pseudo select, algo que praticamente todos os RDBMS fazem, no Oracle o pessoal chama de "dual".
O uso de tabela temporarias é indicado para evitar ficar usando o disco (alto custo) para armazenar coisas que são lixo entao eles ficam unicamente memória. Como em teoria essas tabelas são sempre armazenado/processado na memória do servidor, isso desafogaria processos de I/O. Diminuir os acessos de I/O com dados temporarios aceleraria outros processos que dependam do disco, sacou ?
Infelizmente, muita gente usa tabelas temporarias para outras coisas e acabou virando quebra-galho para quase tudo. Tem coisas que selects bem otimizados, procedures selecionaveis e cursores resolvem bem melhor, mas a maioria vai para as tabelas temporarias.
E o pior de tudo é que alguns RDBMS (nao vou falar o nome) simulam tabela temporaria só para dizer que o possuem, criam tabelas no disco e dropam quando a conexao é terminada. Na minha opniao isso não é melhor do que uma sequencia de create/drop table. Esse é um jeito tosco de se implementar uma feature.

O Firebird nao implementa nenhum dos dois casos (mas quem sabe na versao 2), mas em ambos a coisa pode ser resolvida da maneira como indiquei acima. O uso de tabela temporaria não é facil de resolver porque uma aplicacao mal dirigida pode simplesmente consumir todos os recursos de memória do servidor, por isso, todos que tem esse recurso possuem chaves de tunning para limitar seu uso.

As tabelas temporarias tem seu melhor uso com programacao no lado server com procedures selecionaveis e/ou cursores e é questionável seu uso como quebra-galho em outras funcoes.

Abraços.


» Cassio () em 10/02 16:26

Pô, pessoal, foi mal :-P

Como sou de Santa Catarina (Blumenau), tô acostumado com o "Tú" e sempre pensei que o "Você" fosse um mero substituto do "Tú". Mas realmente, a flexão dos verbos usados com você é a mesma do "ele/ela".

Desculpem estender o assunto, mas precisava me desculpar ;-)


» juliano () em 10/02 17:30

sou leigo nesse mundo de banco de dados, por isso pergunto aos mais experientes se seria possivel substituir um Interbase por um Firebird de forma TRANSPARENTE, sem necessidade de alteracoes nos clientes.

Obrigado


» hamacker () em 10/02 17:45

Sim. Basta desinstalar o Interbase e instalar o Firebird. Eu substituiria tambem os clients do interbase pelo firebird para beneficiar dos bugs corrigidos.

A única coisa que voce deve certificar-se é de que não tenha usado selects ambiguos na aplicacao, enquanto no Interbase ele executa normalmente, o Firebird simplesmente dará erro de sintaxe. Selects ambiguos sao aquelas citacoes de mesmo campo em tabelas diferentes sem o uso de alias, esse é um erro de programação que no IB passa e no FB nao.

O pessoal ainda não entendeu que o Firebird é a evolução do Interbase, a retrocompatibilidade é total. A estrutura do banco de um é a mesma do outro.


» Paulo Junqueira () em 10/02 20:16

Hamacker,

O que fiz foi só citar um exemplo de solução. Sei o que é uma tabela temporária e, sinceramente, não me faz falta. Prefiro que outras features sejam implementadas na versão 2 ao invés disto. De quelauqer forma, se vier, melhor.

Ao Juliano, concordo com o hamacker. Dá pra substituir o Interbase sem problemas.

Valério:

O Firebird não é "mais" para Delphi, é que existem muitas opções para Delphi + Firebird talvez por conta do Interbase ser da Borland e muitos desenvolvedores Delphi terem feito muitas ferramentas e componentes para ele.


» Felipe Raposo () em 10/02 20:45

hamacker,

como é que o IB trata quando você faz uma select ambiguos? Ela traz o campo de qual tabela?

Estranho não dar erro no IB.

Eu não sei se entendi errado, mas o que você chama de select ambiguos é a seguinte:

SELECT campoX
from tabela1, tabela2

onde o correto seria:

SELECT tabela1.campoX, tabela2.campoX
from tabela1, tabela2


Foi isso que você disse?


» Leonardo Luiz () em 11/02 01:08

Na empresa onde trabalho substituimos o Interbase 6 pelo Firebird 1 de forma totalmente transparente para a aplicação feita em Delphi. Agora ja estamos começando a utilizar recursos exclusivos do Firebird como a instrução Case.

Atualmente estou pesquisando a utilização de Firebird+C#+Mono. Uma opção legal de desenvolvimento para Linux/Windows.


» nosfera () em 11/02 02:22

Felipe

SELECT campoX
from tabela1, tabela2

onde o correto seria:

SELECT tabela1.campoX, tabela2.campoX
from tabela1, tabela2

e o ideal seria
SELECT A.campoX, B.campoX
from tabela1 A, tabela2 B

[]s


» Marcos Alexandre () em 11/02 08:47

Só pra corrigir, a retrocompatibilidade só é transparente para o Interbase 6.
O 6.5, 7.0 e 7.1 já não são mais 100% compatíveis, cada um tendo seus recursos exclusivos.


» hamacker () em 11/02 16:47

Só para aqueles que ainda não conhecem o Firebird/Interbase, ele é um RDBMS que vem ficando bastante popular pela simplicidade de instalacao/configuracao e por possuir ports para praticamentos todos os SO's. Inclusive numa votacao recente pela O'Reilly ficou em 1o.lugar (http://www.oreillynet.com/pub/pq/46) e em 2o ou 3o em outras magazines.
Tem praticamente todas as opçoes dos grandes RDBMS, porém é pequeno, compacto e extremamente rápido. Tanto que estou fazendo conversoes do MSSQL para ele. Para administra-lo visualmente existem ferramentas web (PHP MyIBAdmin) e Gui's ( IBOConsole e IBExpert).
[]'s a todos.


» Felipe Raposo () em 12/02 00:38

nosfera,

não foi bem isso que eu perguntei... hehe... você só deu um alias pras tabelas, mas no final dá na mesma. Eu perguntei o que o banco faz no caso de uma select ambigous, como disse o hamacker.

Obrigado.


» Joao Americo Fabricio () em 17/03 10:18

Alguem tem algumas apostilas legais de delphi+firebird ou sabe onde encontra-las?
É que estou começando a programar em delphi e gostaria de utilizar o firebird.
Valeu.

Jfabricio


» Nilton () em 23/04 15:08

Olá, estou começando a usar o Firebird e me interessei muito pela versão embedded, só que não consegui gerar o .so para o meu linux. Estou usando Kurumin 2.20 (Debian, kernel 2.4.22).
E por acaso alguém saberia usar ou teria algum link de como se usar o Firebir no kdevelop?
Nilton


Comentários desativados: Esta discussão é antiga e foi arquivada, não é mais possível enviar comentários adicionais.



O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação, layout, tabela de caracteres, etc.) o acervo de notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter de acervo, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.