Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf ·...

14
Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I José Alberto F. Rodrigues Filho [email protected] Piracicaba (SP) Inverno, 2007

Transcript of Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf ·...

Page 1: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de Dados

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

José Alberto F. Rodrigues [email protected]

Piracicaba (SP)Inverno, 2007

Page 2: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird

É a primeira geração, descendente do código da Open Edition do Interbase 6.0 da Borland, lançada em julho de 2000 sob a Interbase Public License (IPL).

“É um sistema gerenciador de banco de dados relacional (SGBDR) SQLcliente/servidor compacto e poderoso que pode ser executado em uma diversidade de plataformas de sistemas operacionais servidores e clientes, incluindo Windows, Linux e diversas outras plataformas UNIX, tais como FreeBSD e Mac Os X. É um SGBDR de capacidade industrial que possui um alto nível de compatibilidade com os padrões SQL, ao mesmo tempo em que implementa alguns recursos poderosos de linguagem de programação.”

Helen Borrie, 2006.

http://www.dbfreemagazine.com.br – A escolha certa.

Page 3: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Visão Geral dos Recursoshttp://www.firebase.com.br

•SGBD Completo (Triggers, Stored Procedures, Integridade Referencial, etc.)

•Cliente/Servidor

•Gratuíto para qualquer uso

•Código aberto

•Multi-plataforma (Darwin, FreeBSD, HPUX, Linux, Sinixz, Sparc, Solaris, Win32, MacOS, AIX, WinCE 3.0(beta))

•Tecnologia amplamente testada

•Diversos drivers de acesso (Nativo/API, Java, OLEDB, ODBC, dbExpress, .Net, etc.)

Page 4: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Visão Geral dos Recursoshttp://www.firebase.com.br

•Arquitetura Multigeracional (versioning)

•Crash Recovery praticamente instantâneo

•Suporte a domínios

•Alocação de espaço dinâmica

•Stored Procedures selecionáveis

•UDFs (Funções Definidas pelo Usuário)

•Múltiplos triggers para o mesmo evento

•Commit em 2 fases (transações em mais de um bd)

•Character Sets e collates (internacionalização)

Page 5: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Limiteshttp://www.firebirdsql.org – atualizado em 16.Jul.2007

Firebird 2.x Firebird 1.5.x

Practically unlimited using multiple database files (largest known database is over 980 GB) 32 TB using multiple files

Multiple terabytes on most platforms; limited by file systems (4 GB or 2 GB on some platforms) Same

64,535 Same

64,535 Same

~32 TB ~36 GB

Maximum number of tables

Maximum size of one table

Maximum size of one database file

Maximum number of database files

Item

Maximum size of database

Page 6: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Limiteshttp://www.firebirdsql.org – atualizado em 16.Jul.2007

Firebird 2.x Firebird 1.5.x

2 GB Same

> 16 Billion (not been measured beyond this) ~4 Billion

65,536 bytes (64 KB) Same

16 KB SameMaximum database page size

NOTE :: Page size (PAGE_SIZE) can be 1024, 2048, 4096, 8192 or 16384. Size 1024 is not recommended.

NOTE :: 1 Billion is 1024³

Maximum row size

Maximum size of external table file

Maximum number of rows per table

Item

Page 7: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Limiteshttp://www.firebirdsql.org – atualizado em 16.Jul.2007

Firebird 2.x Firebird 1.5.x

65,535 Same

4,096 bytes when page size is 16 KB (limited to 1/4 of database page size) 252 bytes

4,398,046,511,104 Same

IMPORTANT :: Limit decreases for character columns when character set is multi-byte; non-binary collation further reduces limit.

Maximum number of indexes per database

Maximum number of indexes per table

Maximum size (total width) of index key

Maximum number of columns per table

Depends on data types used. (Example: 16,384 INTEGER (4-byte) values per row.)NOTE :: 8-byte ID is stored for each BLOB or ARRAY reference; size of BLOB or ARRAY data is not counted in row size.

Item

Page 8: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Versões do Servidor

SuperServer: Um único processo do servidor Firebird utiliza multiplas threads para gerenciar as conexões. O cache das conexões é compartilhado entre elas.

Page 9: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Versões do Servidor

Classic: Cada conexão é tratada por um processo independente do servidor. O cache de cada conexão é independente. Exige maior quantidade de memória RAM. Pode prover melhor desempenho em servidores multi-processados.

Page 10: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Versões do Servidor

Embedded: É o extremo mínimo dos requisitos de escalabilidade. Disponível apenas para plataformas Windows, tem as funcionalidades de um SuperServer compilado em conjunto com um cliente, produzindo uma dll (fbembed.dll).

Page 11: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Download e Instalação

http://www.firebirdsql.org/index.php?op=files&id=engine_201

Page 12: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Configuração

Arquivo de configuração do FireBird =>> firebird.conf

Parâmetros importantes - DBFreeMagazine_012

Page 13: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Tipos de Dados

CHAR / VARCHAR: Caracteres (limite 32.765 bytes) – VARCHAR não considera os espaços à direitaDATE: Dialeto 1 = Data + Hora

Dialeto 3 = Somente dataTIMESTAMP = Data + Hora (só existe no dialeto 3)TIME = Hora (só existe no dialeto 3)INTEGER = Inteiros (32 bits) – faixa: -de 2.147.483.648 a 2.147.483.647 SMALLINT = Inteiro (16 bits) – faixa: 32.768 a 32.767BIGINT = Inteiro (64 bits – Firebird 1.5)FLOAT = Ponto flutuante (32 bits) – faixa: 1.175 x 10–38 a 3.402 x 1038

DOUBLE PRECISION = “Float duplo” (64 bits) – faixa: 2.225 x 10–308 a 1.797 x 10308

Page 14: Especialização em Engenharia e Administração de Banco de ...jafrodri/sgbd1_ativ1.pdf · Especialização em Engenharia e Administração de Banco de Dados SISTEMA DE GERENCIAMENTO

Especialização em Engenharia e Administração de Banco de DadosSISTEMA DE GERENCIAMENTO DE BANCO DE DADOS I

Piracicaba (SP)Inverno, 2007

Firebird – Tipos de DadosNUMERIC/DECIMAL (p, s) = No dialeto 3, são armazenados internamente como inteiros, podendo ocupar de 16 até 64 bits. Exemplo: NUMERIC(10,3) ppppppp.sss

p = precision (tamanho máximo de dígitos)s = scale (número de casas decimais)

ARRAY = Conjunto de dados do mesmo tipo – não épossível criar arrays de blobs ou arraysBLOB = Qualquer tipo de informação. Subtipos:

0 – Dados binários1 – Informação textual2 – BLR – Binary Language Representation3 – Lista de controle de acesso4 – Não utilizado (reservado para uso futuro)5 – Descrição codificada dos metadados de uma tabela6 – Descrição de uma transação entre múltiplos bancos de dados que terminou de forma irregular-n – Tipo definido pelo usuário