OProjeto Firebird tem sorte por ter tantos entusiastas no Brasil, e os brasileiros



Documentos relacionados
Carlos Henrique Cantu. Firebird. Essencial

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Sumário. Capítulo 2 Conceitos Importantes Tópicos Relevantes Instance Base de Dados Conclusão... 37

Treinamento. DBA Oracle 11g. Duração: 120 horas

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Noções de. Microsoft SQL Server. Microsoft SQL Server

Comandos de Manipulação

Linguagem de Consulta Estruturada SQL- DML

Sumário. Introdução O Problema... 3

Tarefa Orientada 10 Obter informação a partir de uma tabela

Sumário Agradecimentos Sobre.o.autor Prefácio Capítulo.1..Bem-vindo.ao.MySQL... 22

André Milani. Novatec

Formação em Banco de Dados. Subtítulo

Introdução ao SQL Avançado

Ferramentas de Administração. PostgreSQL

O que são Bancos de Dados?

FullCopyConvert Data

O PaperPort 12 Special Edition (SE) possui uma grande variedade de novos e valiosos recursos que ajudam a gerenciar seus documentos.

Índice. Introdução 31. Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35

COORDENAÇÃO DE TECNOLOGIA (COTEC) OUTUBRO/2010

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

Carga Horária 40 horas. Requisitos Servidor Oracle 10G Ferramenta para interação com o banco de dados

PROGRAMA. Objectivos Gerais :

Escrito por Sex, 14 de Outubro de :12 - Última atualização Seg, 26 de Março de :33

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Conteúdo Programático de PHP

ADMINISTRAÇÃO DE BANCO DE DADOS MYSQL

Índice. Introdução às bases de dados. Parte 1 ÍNDICE DE FIGURAS E QUADROS 11 CONVENÇÕES USADAS NESTE MANUAL 15 PREFÁCIO 17

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

Prof. Omero, pág. 63. Banco de Dados InterBase.

DESENVOLVENDO SOLUÇÕES COM VISUAL FOXPRO 8 E 9

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Sumário. Capítulo 1 O que é o PHP? Capítulo 2 Instalação do PHP Capítulo 3 Noções básicas de programação... 25

ÍNDICE... 2 INTRODUÇÃO... 4

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Como funcionam os comandos de SQL no Logic Basic Por Alan Oliveira

NetEye Guia de Instalação

Programação SQL. Introdução

Auxiliar de instalação (Português Brasileiro) Primeiros passos

RESTAURAÇÃO E BACKUP DE BANCO DE DADOS FIREBIRD

Pedro F. Carvalho OCP Oracle g LINGUAGEM SQL. São José do Rio Preto

Curso de Informática Básica II (Windows / Internet / Word / Excel / Power Point)

CURSO DE EXTENSÃO ON-LINE EM Oracle 10g Express Edition XE nível básico. Edital de seleção

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público Índice

PROVA DE NOÇÕES DE MICROINFORMÁTICA

TUTORIAL PARA A INSTALAÇÃO EM AMBIENTE DE REDE WINDOWS DO SERVIDOR FIREBIRD

CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

Considerações no Projeto de Sistemas Cliente/Servidor

Líder em Treinamentos de Bacula no Brasil

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

Guia de Início Rápido

Guia de Início Rápido

1. Introdução. 2. Funcionamento básico dos componentes do Neteye

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇO DE BACKUP. Professor Carlos Muniz

Menu Utilitários. Atualização do Banco de Dados Atualização e organização dos arquivos existentes

Introdução à Linguagem

Prof.: Clayton Maciel Costa

Apresentação. Objetivo. Público alvo. Dados Principais. Tecnologia Abordada Microsoft SQL Server 2012

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

Introdução aos cálculos de datas

Índice. Introdução Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais... 35

Banco de Dados. Prof. Antonio

Sumário. Capítulo 1 Revisão de PHP Capítulo 2 Melhorando o processamento de formulários... 46

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SISTEMAS OPERACIONAIS LIVRES GERENCIAMENTO DE SERVIÇOS NO WINDOWS. Professor Carlos Muniz

1. SQL Instrumental Select Delete Update Insert Group by Having Unnion All...

PostgreSQL. André Luiz Fortunato da Silva Analista de Sistemas CIRP / USP alf@cirp.usp.br

CRIANDO, ALTERADO E EXCLUINDO TABELAS, INSERINDO, SELECIONANDO, ALTERANDO E EXCLUINDO DADOS

MySQL: Controle de Acesso

Tarefa Orientada 13 Agrupamento e sumário de dados

Pesquisa e organização de informação

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

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

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP)

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

GOVERNO DO ESTADO DO RIO DE JANEIRO SECRETARIA DE ESTADO DE CIÊNCIA, TECNOLOGIA E INOVAÇÃO FUNDAÇÃO DE APOIO À ESCOLA TÉCNICA

Kerio Exchange Migration Tool

PROVA DE CONHECIMENTOS ESPECÍFICOS PROFESSOR II INFORMÁTICA

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Prof.: Clayton Maciel Costa

Novidades no Q-flow 3.02

DML - SELECT Agrupando Dados

Download. Instalaça o. Geral

O que há de novo no PaperPort 12? O PaperPort 12 possui uma grande variedade de novos e valiosos recursos que ajudam a gerenciar seus documentos.

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

Formação em Banco de Dados

Principais Comandos SQL Usados no MySql

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

Bases de Dados 2007/2008. Aula 1. Referências

Documentação Symom. Agente de Monitoração na Plataforma Windows

SSE 3.0 Guia Rápido Parametrizando o SISTEMA DE SECRETARIA Nesta Edição Configurando a Conexão com o Banco de Dados

PLANIFICAÇÃO MODULAR

Principais Instruções em SQL

Transcrição:

Prefácio OProjeto Firebird tem sorte por ter tantos entusiastas no Brasil, e os brasileiros são privilegiados por terem este livro a melhor documentação disponível atualmente sobre os novos recursos do Firebird 2.0. O Firebird 2 é a primeira versão a apresentar um grande distanciamento do seu progenitor, o InterBase 6.0. No início, o Projeto se moveu de forma bastante cautelosa, consciente dos anos de trabalho investidos nos softwares legados, e no custo decorrente de possíveis incompatibilidades introduzidas nas tecnologias utilizadas, como por exemplo, os bancos de dados. Com a mudança da linguagem, de C para C++, as versões 1.0 e 1.5 do Firebird focaram na estabilidade e preparação para o futuro. O Firebird 2.0 introduz muitas novidades, enquanto continua ampliando a confiabilidade e o suporte ao SQL standard. Entre os novos recursos, merecem destaque o Execute Block, Variáveis Contextuais e Índices com expressões. O Execute Block permite que uma aplicação passe ao servidor Firebird múltiplos comandos SQL em uma única chamada, incluindo instruções disponíveis na PSQL (linguagem das stored procedures). As Variáveis Contextuais pré-definidas permitem recuperar diversas informações sobre a conexão e as transações. Também é possível definir variáveis personalizadas para descrever diferentes estados da aplicação. Índices com expressões permitem indexar o resultado de expressões, como por exemplo, UPPER (ultimo_nome), simplificando o desenho dos bancos de dados. O brasileiro Adriano dos Santos Fernandes reescreveu as rotinas de internacionalização, incluindo a manipulação de códigos de caracteres (character sets) e collations, o que é visto com grande detalhamento no capítulo sobre Charsets e Collations. Fire2_00.p65 7

Algumas das mudanças mais importantes podem não estar tão visíveis, como por exemplo, a nova estrutura dos índices. Nas versões anteriores do FB, a performance de um índice degradava quando o mesmo possuía muitos valores duplicados. A versão 2.0 eliminou completamente esse problema, e reduziu o uso da CPU nas buscas indexadas em páginas mais extensas. A rotina de compactação dos índices foi melhorada, tornando os novos índices menores e mais rápidos que os anteriores. O limite de 252 bytes para as chaves também foi ampliado, dependendo agora diretamente do tamanho da página do banco de dados. Outras mudanças focaram diretamente a segurança do servidor, visto que cada vez mais o Firebird é usado em situações de missão crítica. O banco de dados de segurança tem um novo formato e novas regras de acesso para reduzir as possibilidades de ataques maliciosos. Outras novidades aproximam ainda mais o Firebird do SQL standard, como as Tabelas Derivadas, Sequences e Cursores em stored procedures. Os novos recursos tornam o Firebird muito mais poderoso para os desenvolvedores de aplicações. Esse livro trata das novidades dessa versão, mostrando com a ajuda de exemplos, como utilizá-las para tornar as aplicações melhores, menores e mais rápidas. Ann Harrison www.ibphoenix.com PB Firebird 2.0 Fire2_00.p65 8

Sumário Dedicatória... Agradecimentos... Prefácio... Introdução... Referências Bibliográficas... III V VII IX XI Ícones Usados no Livro... XIII CAPÍTULO 1 Instalando FB 2.0 no Windows... 1 Aprenda a instalar o Firebird 2.0 no Windows... 1 Baixando o Instalador... 1 Iniciando a Instalação... 3 Opções... 9 Verificando se o servidor está rodando... 12 Instalação do Firebird 2.0 junto com outras versões do Firebird... 14 Utilitários de instalação do servidor... 15 INSTSVC... 16 INSTREG... 19 INSTCLIENT... 19 Instalação em lote... 20 Compatibilidade com o Firebird 2.0... 22 Conclusão... 24 Fire2_00.p65 15

CAPÍTULO 2 Instalando o FB 2.0 no Linux... 25 Aprenda a instalar o Firebird 2.0 no Linux... 25 Requisitos mínimos... 25 Baixando o instalador... 27 Instalação via RPM... 27 Instalação via Script... 29 Passos do instalador... 30 Usando o build tradicional do FB com kernels NPTL... 31 Conclusão... 31 CAPÍTULO 3 Segurança... 33 Fique por dentro das principais mudanças na segurança do Firebird 2.0... 33 Senhas... 37 Ataques de força bruta (brute force)... 39 Atualizando seu security.fdb... 40 LegacyHash... 45 Outras melhorias no esquema de segurança... 45 Conclusão... 50 CAPÍTULO 4 Atribuição de direitos... 51 Entenda o que são Roles e aprenda a definir os privilégios de acesso... 51 Conceitos básicos... 51 Privilégios... 52 ROLES... 53 Atribuindo privilégios (GRANT)... 55 Removendo privilégios (REVOKE)... 56 Exemplos práticos... 58 Conclusão... 62 CAPÍTULO 5 Protocolos de conexão... 63 TCP/IP, NetBEUI, XNET, IPC Qual usar?... 63 NetBEUI (NetBios Extended User Interface)... 63 TCP/IP... 64 LOCAL... 64 Qual protocolo usar?... 65 O que muda no string de conexão?... 65 Conclusão... 67 XVI Firebird 2.0 Fire2_00.p65 16

CAPÍTULO 6 Tudo sobre o SELECT... 69 Explore as possibilidades do comando mais importante da linguagem SQL... 69 ALL... 71 DISTINCT... 71 FIRST e SKIP... 71 Colunas retornadas... 72 FROM tabela-procedure-view-select... 74 JOINs... 76 Conclusão... 87 CAPÍTULO 7 Tabelas Derivadas... 89 Aka. Select from select... 89 Sintaxe e regras de utilização... 89 Utilização prática... 90 Conclusão... 92 CAPÍTULO 8 First, Skip e Rows... 93 Limitando o número de registros retornados por um select... 93 FIRST... 93 SKIP... 94 ROWS... 95 Conclusão... 98 CAPÍTULO 9 Operadores, predicados e precedências... 99 Operador de concatenação... 99 Operadores aritméticos... 100 Operadores de comparação... 101 BETWEEN AND... 103 CONTAINING... 103 IN... 104 STARTING WITH... 105 LIKE... 105 Operadores lógicos... 107 Predicados existenciais... 109 Exemplos de uso dos predicados existenciais... 109 Conclusão... 111 Sumário XVII Fire2_00.p65 17

CAPÍTULO 10 Desmistificando o NULL... 113 IS [NOT] DISTINCT FROM... 115 Conclusão... 117 CAPÍTULO 11 Charsets e Collations... 119 Entenda a importância da definição dos charsets e collations no banco de dados... 119 Novas collations e charsets do Firebird 2.0... 120 Onde e quando definir o charset e collation... 122 Definindo o charset da conexão... 123 Tipos de collations... 124 Índices e collations... 127 OCTETS e NONE... 128 Collations e ordenações... 128 Collations e Group by... 130 Collations e BLOBs... 131 Conclusão... 131 CAPÍTULO 12 Generators e Sequences... 133 Diferenças e utilidades dos generators e sequences... 133 Diferenças... 133 Alterando o valor de generators e sequences dentro de procedures e triggers... 135 Simulando o tipo auto-incremental... 136 Conclusão... 137 CAPÍTULO 13 Views aprimoradas... 139 Aprenda o que são views, e como criar views atualizáveis... 139 Views atualizáveis... 140 Exemplo Prático... 141 Compatibilidade... 146 Direitos de acesso... 148 Utilidades para as views... 148 Conclusão... 149 XVIII Firebird 2.0 Fire2_00.p65 18

CAPÍTULO 14 Retornando valores com o INSERT... 151 Aprenda a usar a nova cláusula RETURNING para recuperar valores inseridos... 151 RETURNING... 152 Inserts e Blobs... 155 Conclusão... 155 CAPÍTULO 15 Funções internas... 157 Conheça as funções internas disponíveis na SQL do Firebird... 157 Funções de conversão... 157 Funções de manipulação de strings... 160 Funções para recuperar o tamanho de strings... 164 Funções de agregação... 164 Funções genéricas... 168 Conclusão... 169 CAPÍTULO 16 Procedures e Triggers... 171 Explore o poder das rotinas internas no banco de dados... 171 Estrutura de uma Stored Procedure... 172 Estrutura de um Trigger... 172 Variáveis contextuais OLD e NEW... 174 Linguagem PSQL... 175 Eventos... 180 Comandos CASE, COALESCE, NULLIF e IIF... 183 Procedures Executáveis... 188 Procedures selecionáveis... 189 Manipulação de Cursores... 189 Recursividade... 194 Conclusão... 195 CAPÍTULO 17 Execute Block... 197 Execute blocos de comandos PSQL, fora de procedures ou triggers... 197 Exemplos de utilização... 198 Trocando a collation dos campos de uma tabela... 200 Sumário XIX Fire2_00.p65 19

Estudando o código... 201 Conclusão... 206 CAPÍTULO 18 Variáveis contextuais... 207 Aprenda a criar um log de alterações com o uso das variáveis contextuais... 207 NameSpaces... 208 Criando um mecanismo de LOG... 210 Conclusão... 217 CAPÍTULO 19 UDFs no Firebird... 219 Aprenda como criar UDFs para o Firebird... 219 Regras gerais para criação de UDFs... 220 Thread safe e Strings... 221 Declarando uma UDF no banco de dados... 224 Descritores... 225 Nulos no Firebird 2.0... 226 Criando UDFs... 229 Função Limpa... 230 Função Limpa2... 230 Função FDOM... 231 Função StrBlob... 232 Função strformat... 237 Função Power... 237 Parâmetros de configuração... 243 Bibliotecas padrão... 244 Conclusão... 245 CAPÍTULO 20 Índices e o otimizador... 247 Conheça todas as novidades que o FB 2.0 traz sobre os índices... 247 Limitações anteriores... 247 Sintaxe... 248 Limite para o tamanho das chaves... 249 Índices com expressões... 251 Compressão... 252 Seletividade por segmentos... 252 XX Firebird 2.0 Fire2_00.p65 20

Nova estrutura dos índices... 253 Nulos... 254 Otimizador... 254 Planos de acesso... 255 Conclusão... 255 CAPÍTULO 21 Garbage Collection e Sweep... 257 Descubra como o Firebird faz a limpeza do lixo... 257 GC nas versões 1.x do Firebird... 257 GC no Firebird 2.0... 258 GC em modo Combinado... 259 Sweep... 260 Backups e Garbage Collection... 262 Conclusão... 262 CAPÍTULO 22 Modos de Shutdown... 263 Colocando o seu banco de dados para dormir... 263 Usando o gfix para efetuar um shutdown... 263 Alterando o modo de shutdown... 265 Ativando um banco de dados... 266 Acesso exclusivo ao banco de dados... 266 Conclusão... 267 CAPÍTULO 23 Tudo sobre Backups... 269 Entenda as diferentes formas de se fazer backups no Firebird... 269 Backup através do gbak... 269 Exemplos de geração de backups com o gbak... 273 Exemplos de restauração de backups via gbak... 273 Backups em múltiplos arquivos via gbak... 274 Backups incrementais com o nbackup... 275 Níveis de backup... 276 Criando backups com o nbackup... 276 Restaurando backups com nbackup... 278 Definindo uma política de backups com o nbackup... 278 Backups via API... 279 Backups corrompidos... 280 Conclusão... 280 Sumário XXI Fire2_00.p65 21

CAPÍTULO 24 gstat... 283 Recuperando estatísticas de um banco de dados... 283 Analisando as informações do Header... 283 Detectando problemas... 287 Analisando as informações das páginas de dados (-d). 288 Analisando as informações dos registros (-r)... 289 Páginas de índices (-i)... 290 Facilitando a vida do desenvolvedor... 291 Conclusão... 293 CAPÍTULO 25 Glossário... 295 XXII Firebird 2.0 Fire2_00.p65 22