Banco de Dados Firebird

32
Banco de Dados Firebird Ivanildo José de Sousa Aquino Júnior(JSAJ)

description

Banco de Dados Firebird. Ivanildo José de Sousa Aquino Júnior(JSAJ). Visão Geral. Oque é Interbase? O que é Firebird? Um pouco de história. O que é Interbase. Banco de dados comercial. O que é Interbase. Fácil de administrar (instalar, manter, mover e modificar) - PowerPoint PPT Presentation

Transcript of Banco de Dados Firebird

Page 1: Banco de Dados Firebird

Banco de Dados Firebird

Ivanildo José de Sousa Aquino Júnior(JSAJ)

Page 2: Banco de Dados Firebird

Visão Geral

Oque é Interbase? O que é Firebird? Um pouco de história...

Page 3: Banco de Dados Firebird

O que é Interbase

Banco de dados comercial

Page 4: Banco de Dados Firebird

O que é Interbase

Fácil de administrar (instalar, manter, mover e modificar)

Pequeno (5mb, 2milhões de linhas de código, etc)

Page 5: Banco de Dados Firebird

O que é Firebird?

Baseado no Interbase 6.0 Código aberto

Page 6: Banco de Dados Firebird

Um pouco de história

Firebird é beasado no código fonte do InterBase 6.0 que foi lançado como Open Source pela Borland em agosto de 2000.

A história do InterBase teve início em 1984, logo, no total são 20 anos de história de banco de dados relacional como experiêncio do Firebird.

Page 7: Banco de Dados Firebird

Histórico: Início

Fazer o código funcionar Entender as convenções

Page 8: Banco de Dados Firebird

Hoje

Adicionados novos recursos Remoção de bugs Migração para C++ Reorganização e Simplificação

Page 9: Banco de Dados Firebird

Recursos (1 de 3)

SQL 89, SQL 92 e SQL99 Stored procedures Triggers Constraints Delimited Identifiers Index Compression

Page 10: Banco de Dados Firebird

Recursos (2 de 3)

Compressão de dados Localização Funções definidas pelos usuários Eventos Arrays Segurança baseada em regras

Page 11: Banco de Dados Firebird

Recursos (3 de 3)

A.C.I.D Read-only database (cd-rom) Generetors Onlinebackup Character Sets

Page 12: Banco de Dados Firebird

v1.5: Características

100% compatível com a interface do Interbase

Nova extensão padrão para o banco de dados (.fdb)

Novo administrador de configuração de servidor (Firebird.conf substistitui IBConf)

Page 13: Banco de Dados Firebird

v1.5: Novos recursos Triggers e SP Savepoints

SAVEPOINT save_pointname;ROLLBACK [WORK] TO [SAVEPOINT] save_pointname;

“CREATE OR ALTER” syntax Universal Triggers

CREATE TRIGGER my_trigger FOR my_table BEFORE INSERT OR UPDATE…

Declaração de variáveis aninhadasDECLARE [VARIABLE] name <variable_type> [{'=' | DEFAULT} value];

Exception re-initiate semantics (ie. Throw) Suporte para blocos “BEGIN … END” vazios

Page 14: Banco de Dados Firebird

v1.5: Novos recursos SQL (1 de 2) Função com suporte para “CASE” Função com suporte para “COALESCE” Função com suporte para “NULLIF” “GROUP BY” suporta:

By Function,Sub-Query,By Column Alias, andBy ordinal (posição da coluna)

“ORDER BY” expressão arbitrária “SELECT First X” e “ORDER BY” suporta Sub-

Selects

Page 15: Banco de Dados Firebird

v1.5: Novos recursos SQL(2 de 2) RECREATE VIEW NULL Ordering, como parte do padrão SQL92 User-Defined Constraint index names

Index names now based on either constraint name, or user defined name

Explicit locking in SELECT statements“SELECT … FOR UPDATE WITH LOCK”

EXECUTE STATEMENTEXECUTE STATEMENT “…”;

“Boolean” alias to SmallInt “BIGINT” alias to Numeric( 18, 0)

Page 16: Banco de Dados Firebird

Equipe do Firebird

4 Administradores 56 Membros dos projetos 12 Desenvolvedores ativos

Page 17: Banco de Dados Firebird

Banco de dados ativo

Computed Fields Triggers Views com triggers Funções definas pelo usuário Filtros BLOB Stored procedures

Page 18: Banco de Dados Firebird

Computed Fields

Incluem uma fórmula em sua definição

Page 19: Banco de Dados Firebird

Triggers

SQL extendido Ações BEFORE e AFTER

Page 20: Banco de Dados Firebird

Views com triggers

Visões atualizáveis(Ações BEFORE e AFTER dos triggers)

Visões não atualizáveisUso de procedimentos

Page 21: Banco de Dados Firebird

Funções definidas pelo Usuário Bibliotecas escritas em linguagem

de programação Contexto de falta de conexão Retorna valores simples

Page 22: Banco de Dados Firebird

Filtros BLOB

Blob type translation Compressão Criptografia EdiçãoCascadeEscritas em linguagem de

programação

Page 23: Banco de Dados Firebird

Stored procedures

Encapsula mento de ações Construção de pseudo-tabelas Atomicidade

Page 24: Banco de Dados Firebird

Linguagem dos triggers e procedimentos

IF / THEN / ELSEBEGIN / ENDWHILE / DOExceptionsFOR SELECT …SUSPEND

Page 25: Banco de Dados Firebird

Motivos para usar firebird (1/4) DBA não requerido Alta performance nas aplicações Versioning Arquitetura SuperServer

Page 26: Banco de Dados Firebird

Motivos para usar firebird (2/4) Sinalizadores de Eventos Funções definidas pelo usuário UDFs Binary Large Objects Arrays Multidimensionais Banco de Dados distribuídos

Page 27: Banco de Dados Firebird

Motivos para usar firebird (3/4) Junção de múltiplos banco de dados Versioning Commit em duas fases Recuperação distribuída de commit

em duas fases Sistema de travamento otimista

Page 28: Banco de Dados Firebird

Motivos para usar firebird (4/4) Flexibilidade de Plataforma Distribuição Livre Usuários de Peso

Page 29: Banco de Dados Firebird

Exemplos consultas(adicionando usuários e regras)

SQL> GRANT SELECT, UPDATE, INSERT, DELETE ON sales_catalog TO administrator;SQL> GRANT administrator TO TestAdmin;SQL> quit;

Page 30: Banco de Dados Firebird

Exemplos consultas(inserindo e procurando dados)

SQL> INSERT INTO sales_catalog VALUES('001', 'Aluminum Wok', 'Chinese wok');

SQL> SELECT * FROM sales_catalog;

Page 31: Banco de Dados Firebird

Conclusões

Ideal para banco de dados embutidos

Possui todas os recursos comuns Baixa complexidade

Page 32: Banco de Dados Firebird

Perguntas?