Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da ClubeDelphi DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Firebird 2.5 - Artigo Clube Delphi 125
O artigo mostra as novidades da nova versão 2.5 do SGBD Firebird. Inicialmente é apresentado um pequeno histórico de sua evolução e logo em seguida são explicadas as novidades com pequenos exemplos de uso que farão com que o leitor os entenda facilmente.
ClubeDelphi 125
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da ClubeDelphi 125
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da ClubeDelphi 125
Firebird 2.5
Conheça os principais recursos do banco de dados mais utilizado pela comunidade Delphi
O desenvolvimento do SGBD Firebird foi iniciado em Julho do ano 2000 a partir do código fonte da versão beta do InterBase 6.0, disponibilizado pela Inprise (Borland) sob licença Open Source. Desde então cinco versões foram lançadas pela sua equipe de desenvolvimento, mostrando uma evolução contínua do produto. O foco deste artigo é mostrar as principais funcionalidades para desenvolvedores adicionadas à versão 2.5, lançada em outubro de 2010, no ano em que o projeto faz seu décimo aniversário. Antes de aprofundar nestes temas, gostaria de mostrar um breve histórico da evolução do Firebird nestes 10 anos.
Na versão 1.0 a maior parte do trabalho foi interna, já que o código inicial não tinha documentação e não chegava nem mesmo a compilar. Uma das alterações mais importantes nesta versão foi a correção de um bug de segurança do InterBase, que foi rapidamente identificado quando seu código tornou-se público.
Na versão 1.5 o código-fonte foi convertido de C para C++. Algumas novidades que apareceram nesta versão foram variáveis de contexto como CURRENT_USER e CURRENT_ROLE, funções como COALESCE e NULLIF, expressões CASE, o tipo de dados BIGINT, melhorias em alguns comandos DDL (CREATE OR ALTER, RECREATE), o comando EXECUTE STATEMENT, as cláusulas FIRST e SKIP e suporte a savepoints e locks pessimistas.
A versão 2.0 introduziu o conceito de tabelas derivadas, cursores explícitos, valores default para parâmetros, as funções IIF, CHAR_LENGTH, TRIM, RDB$GET_CONTEXT e RDB$SET_CONTEXT, o operador IS [NOT] DISTINCT, os comandos EXECUTE BLOCK e COMMENT ON, a cláusula RETURNING, índices definidos por expressões, Collates (PT_BR e WIN_PTBR) para o Brasil, suporte a Unicode, melhorias de performance relacionadas à nova implementação de índices e diversas mudanças no otimizador, backups físicos e incrementais com o NBackup e suporte a plataformas 64-bits.
Nota do DevMan
Tabela derivada (derived table) é o nome dado pelo padrão SQL a uma query usada na cláusula FROM de outra query. Por exemplo: SELECT X.* FROM (SELECT * FROM PESSOAS) X. Neste caso, X é uma tabela derivada.
A versão 2.1 introduziu dezenas de novas funções internas, Triggers de eventos de conexão e transação, tabelas temporárias, Collates customizáveis com CREATE COLLATION, queries recursivas com Common Table Expression (CTE), os comandos UPDATE OR INSERT e MERGE, a função agregada LIST, a possibilidade de uso de Domains em PSQL, a interoperabilidade entre BLOBs e Strings, tabelas de monitoração, o utilitário fbsvcmgr e diversas melhorias implementadas no protocolo de comunicação, melhorando a performance de comunicação cliente/servidor via internet.
Nota do DevMan
Common Table Expression (CTE) é similar ao conceito de tabelas derivadas, porém, o nome da tabela é definido no começo da instrução com a cláusula WITH. Exemplo: WITH X AS (SELECT * FROM PESSOAS) SELECT * FROM X. Com as CTEs é possível fazer queries hierárquicas (recursivas) usando-se WITH RECURSIVE e UNION ALL. Veja mais exemplos no release notes da versão 2.1 na sessão Links.
Diante de toda essa evolução, é importante ressaltar que toda alteração e novas funcionalidades do Firebird são pensadas, levando em consideração dois princípios estabelecidos pelo projeto: compatibilidade e padronização SQL. A compatibilidade é sempre levada extremamente a sério, e dificilmente algo que funciona em uma versão deixa de funcionar em outra, respeitando o investimento feito pelos desenvolvedores. Em relação ao padrão SQL, ele é sempre consultado e analisado em detalhes, e quando possível, as implementações são realizadas com base neste padrão.
A versão 2.5, assim como as anteriores, possui diversas novas funcionalidades. Primeiramente, veremos sobre possíveis problemas durante o processo de migração. Em seguida, veremos sobre a nova arquitetura SuperClassic, que permite melhor aproveitamento de recursos e melhor desempenho em máquinas multiprocessadas, e as alterações diretamente relacionadas ao desenvolvimento. Os exemplos presentes nas listagens foram feitos para o ISQL, mas devem funcionar sem problemas em qualquer ferramenta.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Conheça os principais recursos do banco de dados mais utilizado pela comunidade Delphi
O desenvolvimento do SGBD Firebird foi iniciado em Julho do ano 2000 a partir do código fonte da versão beta do InterBase 6.0, disponibilizado pela Inprise (Borland) sob licença Open Source. Desde então cinco versões foram lançadas pela sua equipe de desenvolvimento, mostrando uma evolução contínua do produto. O foco deste artigo é mostrar as principais funcionalidades para desenvolvedores adicionadas à versão 2.5, lançada em outubro de 2010, no ano em que o projeto faz seu décimo aniversário. Antes de aprofundar nestes temas, gostaria de mostrar um breve histórico da evolução do Firebird nestes 10 anos.
Na versão 1.0 a maior parte do trabalho foi interna, já que o código inicial não tinha documentação e não chegava nem mesmo a compilar. Uma das alterações mais importantes nesta versão foi a correção de um bug de segurança do InterBase, que foi rapidamente identificado quando seu código tornou-se público.
Na versão 1.5 o código-fonte foi convertido de C para C++. Algumas novidades que apareceram nesta versão foram variáveis de contexto como CURRENT_USER e CURRENT_ROLE, funções como COALESCE e NULLIF, expressões CASE, o tipo de dados BIGINT, melhorias em alguns comandos DDL (CREATE OR ALTER, RECREATE), o comando EXECUTE STATEMENT, as cláusulas FIRST e SKIP e suporte a savepoints e locks pessimistas.
A versão 2.0 introduziu o conceito de tabelas derivadas, cursores explícitos, valores default para parâmetros, as funções IIF, CHAR_LENGTH, TRIM, RDB$GET_CONTEXT e RDB$SET_CONTEXT, o operador IS [NOT] DISTINCT, os comandos EXECUTE BLOCK e COMMENT ON, a cláusula RETURNING, índices definidos por expressões, Collates (PT_BR e WIN_PTBR) para o Brasil, suporte a Unicode, melhorias de performance relacionadas à nova implementação de índices e diversas mudanças no otimizador, backups físicos e incrementais com o NBackup e suporte a plataformas 64-bits.
Nota do DevMan
Tabela derivada (derived table) é o nome dado pelo padrão SQL a uma query usada na cláusula FROM de outra query. Por exemplo: SELECT X.* FROM (SELECT * FROM PESSOAS) X. Neste caso, X é uma tabela derivada.
A versão 2.1 introduziu dezenas de novas funções internas, Triggers de eventos de conexão e transação, tabelas temporárias, Collates customizáveis com CREATE COLLATION, queries recursivas com Common Table Expression (CTE), os comandos UPDATE OR INSERT e MERGE, a função agregada LIST, a possibilidade de uso de Domains em PSQL, a interoperabilidade entre BLOBs e Strings, tabelas de monitoração, o utilitário fbsvcmgr e diversas melhorias implementadas no protocolo de comunicação, melhorando a performance de comunicação cliente/servidor via internet.
Nota do DevMan
Common Table Expression (CTE) é similar ao conceito de tabelas derivadas, porém, o nome da tabela é definido no começo da instrução com a cláusula WITH. Exemplo: WITH X AS (SELECT * FROM PESSOAS) SELECT * FROM X. Com as CTEs é possível fazer queries hierárquicas (recursivas) usando-se WITH RECURSIVE e UNION ALL. Veja mais exemplos no release notes da versão 2.1 na sessão Links.
Diante de toda essa evolução, é importante ressaltar que toda alteração e novas funcionalidades do Firebird são pensadas, levando em consideração dois princípios estabelecidos pelo projeto: compatibilidade e padronização SQL. A compatibilidade é sempre levada extremamente a sério, e dificilmente algo que funciona em uma versão deixa de funcionar em outra, respeitando o investimento feito pelos desenvolvedores. Em relação ao padrão SQL, ele é sempre consultado e analisado em detalhes, e quando possível, as implementações são realizadas com base neste padrão.
A versão 2.5, assim como as anteriores, possui diversas novas funcionalidades. Primeiramente, veremos sobre possíveis problemas durante o processo de migração. Em seguida, veremos sobre a nova arquitetura SuperClassic, que permite melhor aproveitamento de recursos e melhor desempenho em máquinas multiprocessadas, e as alterações diretamente relacionadas ao desenvolvimento. Os exemplos presentes nas listagens foram feitos para o ISQL, mas devem funcionar sem problemas em qualquer ferramenta.
"
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da ClubeDelphi DIGITAL ou para quem possui Créditos DevMedia. Clique aqui para saber mais!

[Este post ainda não foi associado a uma sequência]
Você está em:
canal Delphi
Adriano Dos Santos Fernandes
Space do autor
Adriano dos Santos Fernandes é bacharel em Ciência da Computação pela Universidade Paulista e é um dos desenvolvedores responsáveis pelo Firebird. Atua no projeto desde 2004, sendo desde 2006 contratado pela Firebird Foundation. Trabalha também na empresa Metalúrgica Mococa, desenvolvendo sistemas e...
Space do autor

Estudo comparativo entre banco de dados IBM Informix e Microsoft SQL

0
0
