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.
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
É exatamente por isso que ele é o sucessor do Interbase.
O interbase continua sendo comercializado ? se continuar... entao nao eh sucessor e sim alternativa :)
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 :)
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". :)
como assim, eduardo?
É 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.
:)
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.
Eduardo, é que eu moro em floripa, aqui se fala na segunda pessoa mesmo ;)
Augusto, então tá tudo explicado!
;)
Eduardo!
Só dando uma "curijida":
"Você" não é terceira pessoa :)
Terceira pessoa é "ele/elas" :-)
[]'s
cássio
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!
"você" é terceira pessoa sim :)
Eduardo,
"você" é terceira pessoa sim e não é errado falar.
Você falou que "tu" é gramaticalmente correto, mas "você" também é.
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.
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
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.
MySQL tmb tem temporary tables ;)
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.
Você pelo o que eu sei, "você" é pronome de tratamento e nada tem a ver como os pronomes pessoais do caso reto. :-)
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... :-)
É 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!
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.
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.
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 ;-)
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
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.
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.
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?
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.
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
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.
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.
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.
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
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.