Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila Prog II, Notas de aula de Informática

Banco de dados com Firebird / IBexpert.

Tipologia: Notas de aula

Antes de 2010

Compartilhado em 15/12/2010

rinaldo-oliveira-de-melo-10
rinaldo-oliveira-de-melo-10 🇧🇷

5

(1)

1 documento

1 / 31

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Apostila de Programação II
Módulo III
Fundação Educacional Machado de Assis
Escola Técnica Machado de Assis
Curso Técnico em Informática
Prof. José Luís Schiavo
Santa Rosa, Setembro de 2010.
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f

Pré-visualização parcial do texto

Baixe Apostila Prog II e outras Notas de aula em PDF para Informática, somente na Docsity!

Apostila de Programação II

Módulo III

Fundação Educacional Machado de Assis Escola Técnica Machado de Assis Curso Técnico em Informática Prof. José Luís Schiavo Santa Rosa, Setembro de 2010.

SUMÁRIO

  • 1.1 Procedimentos 1 Procedimentos, Funções e Métodos
  • 1.2 Funções
  • 1.3 Passagem de Parâmetros
  • 2.1 Visão Geral do Depurador 2 Utilizando o Debugger ( Depurador )
  • 2.2 Técnicas de Depuração
  • 3.1 Conceito 3 Banco de Dados Relacional
  • 3.2 Sistema de Banco de Dados
  • 4.1 Conceito 4 Sistema de Gerenciamento de Bancos de Dados (SGBD)
  • 4.2 Objetivos
  • 4.3 Principais Características e Vantagens
  • 4.4 Principais Objetos de um SGBD
  • 5.1 Controle de Concorrência 5 Transações de Banco de Dados
  • 5.2 Segurança em Banco de Dados
  • 5.3 Cópia de Segurança
  • 6.1 O que é Firebird? 6 Firebird SQL
  • 6.2 Um pouco da História do Firebird
  • 6.3 Facilidade de Instalação e Manutenção
  • 6.4 Tipos de Dados Suportados - Anexo I
  • 6.5 Charsets e Collates
  • 6.6 Passo a Passo para instalação e configuração do SGBD Firebird 1.5.5 - 7 Ferramentas Para Administração do Banco de Dados
  • 7.1 IBExpert Personal Edition - 8 Componentes de Acesso - Anexo I - 9 Structured Query Language (SQL) – Anexo I
    • 10 Bibliografia
    • 11 Anexo I – Apostila de Firebird

1.2. Funções Funções são muito semelhantes a procedimentos a única diferença é que as funções retornam um valor. O tipo do valor de retorno, calculado dentro do corpo da função deve ser informado no cabeçalho/declaração da função. Na implementação da função deve-se atribuir o valor de retorno à palavra reservada Result ou ao identificador da função. Pode-se então usar a função em expressões, atribuições, como parâmetros para outras funções, em qualquer lugar onde o seu valor possa ser usado. Estrutura básica de uma função: function nome (lista de parâmetros):tipo de dado a ser retornado; declaração de variáveis begin comandos... Result := valor a ser retornado pela função end; Exemplo de função para cálculo da média de dois valores: function Media(A, B: Double): Double; begin Result := (A + B) / 2; end ; 1.3. Passagem de Parâmetros O Pascal possibilita a passagem de parâmetros por valor ou por referência para funções e procedimentos. Os parâmetros passados podem ser de qualquer tipo básico ou definido pelo usuário Parâmetros também podem ser constantes. Existem três tipos de passagem de parâmetros, que devem ser indicados na declaração da função ou procedimento. Parâmetros de tipos diferentes de vem ser separados por ponto e vírgula. a) Parâmetros Por Valor Parâmetros por valor são o modo default(padrão) de passagem de parâmetros. Quando um parâmetro é passado por valor, significa que uma cópia local daquela variável é criada, e a função ou procedimento opera sobre a cópia. Considere o exemplo a seguir: procedure Teste_A(s: string); Quando o procedimento é chamado desta forma, uma cópia da string s será criada, e Teste_A() operará sobre a cópia local de s. Isto significa que Teste_A() pode alterar o valor de s sem ter qualquer efeito sobre a variável original passada para Teste_A() quando de sua chamada. b) Parâmetros Por Referência O Pascal possibilita a passagem de variáveis para funções e procedimentos por “referência”; Parâmetros passados por referência são também chamados parâmetros variáveis. Passar por referência significa que a função ou procedimento ao receber a variável pode modificar o valor

daquela variável e essa modificação irá se refletir na variável original passada como parâmetro, mesmo sendo uma variável local. Para passar uma variável por referência, usa-se a palavra var antes dos parâmetros da função ou procedimento conforme abaixo: procedure Teste_B(var x: integer); begin x := 2; { x agora é alterado na chamada do procedimento } end ; Em vez de fazer uma cópia local de x , a palavra reservada var faz com que o endereço do parâmetro seja copiado de forma que seu valor possa ser diretamente alterado. c) Parâmetros Constantes Se você não quiser que o valor de um parâmetro passado para dentro de uma função seja alterado, você pode declará-lo com a palavra chave const. Const não apenas impede que o valor dos parâmetros sejam modificados, como também gera código mais otimizado para strings e registros passados para dentro de procedimentos ou funções. Aqui está um exemplo de uma declaração de procedimento que recebe um parâmetro string constante: procedure Teste_C(const s: string); begin if s <> '' then // se s não estiver vazia... ShowMessage(s) else ShowMessage('Valor inválido.'); end ;

2. Utilizando o Debugger ( Depurador ) 2.1. Visão Geral do Depurador Um depurador é um programa que fornece ferramentas que permitem encontrar código-fonte com erros em um programa. O depurador embutido no Delphi permite depurar uma aplicação sem ter que sair do ambiente de desenvolvimento. Com ele, é possível avançar passo a passo no código- fonte do programa à medida que ele é executado, observar como ele se comporta e até mesmo monitorar o valor de variáveis e propriedades. a) Tipos de Erros Fundamentalmente, existem três tipos de erros que ocorrem em um programa.

  • Erros de compilação: são também chamados de “erros de sintaxe”. Ocorrem quando há código impropriamente construido em uma aplicação. Por exemplo, se o ponto e vírgula for esquecido após uma instrução, o Delphi capturará este erro e gerará uma mensagem de erro.
  • Erros de tempo de execução: ocorrem quando o programa é codificado corretamente, mas ainda efetua uma operação inválida, quando executado. Exemplos: - Dividir um valor por zero; - Tentar abrir um arquivo que não existe; - Tentar remover um registro de um arquivo vazio.

3. Banco de Dados Relacional 3.1. Conceito A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações, tendo como uma das principais ferramentas os Sistemas de Gerenciamento de Bancos de Dados - SGBDs capazes de armazenar grandes volumes de dados estruturados e organizados em registros e tabelas, com recursos para acesso e processamento dos dados de forma rápida e segura, transformando-os em informações e com isso fornecendo suporte à tomada de decisões. Banco de Dados é uma coleção de dados interrelacionados representando informações sobre um domínio específico (KORTH, 1994). Exemplos: Cadastro de clientes, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de uma empresa, etc. 3.2. Sistema de Banco de Dados Consiste em uma coleção de dados interrelacionados e uma coleção de programas para prover o acesso a esses dados. O objetivo principal de um sistema de banco de dados é prover um ambiente que seja adequado e eficiente para uso na recuperação e armazenamento de informações. O sistema de bancos de dados pode ser considerado como uma sala de arquivos eletrônica (DATE, 1991). Os principais módulos de um sistema de banco de dados inclui as operações de Inclusão, Alteração, Exclusão, Consulta e Relatórios. 4. Sistema de Gerenciamento de Bancos de Dados (SGBD) De modo geral, o SGBD é um software com recursos específicos para facilitar a manipulação dos dados e das informações dos bancos de dados e o desenvolvimento de programas aplicativos. 4.1. Conceito Para Korth, o SGBD é um módulo de programa que fornece a interface entre os dados de baixo nível armazenados num banco de dados e os programas aplicativos ou as solicitações submetidas ao sistema (KORTH, 1994). Já Date, define como um software que manipula todos os acessos ao banco de dados e proporciona a interface de usuário ao sistema de banco de dados (DATE, 1991). Exemplos de bancos de dados relacionas: Firebird SQL, Interbase, Oracle, MySQL, Postgres SQL, SQL Server. 4.2. Objetivos Os Sistemas de Bancos de dados tem como principais objetivos isolar os usuários dos detalhes mais internos do banco de dados (abstração de dados) e ainda, permitir a independência dos dados em relação às aplicações implementando uma estrutura física de armazenamento e uma estratégia de acesso aos dados e informações.

4.3. Principais Características e Vantagens As Principais características e vantagens de um Sistema de Gerenciamento de Banco de Dados são:

  • Rapidez na manipulação dos dados e no acesso à informação;
  • Redução do esforço humano (desenvolvimento e utilização);
  • Disponibilização da informação no tempo necessário;
  • Controle integrado de informações distribuídas fisicamente;
  • Redução de redundância e de inconsistência de dados e informações;
  • Compartilhamento de dados local ou remotamente;
  • Aplicação automática de restrições de segurança e acesso aos dados;
  • Redução dos problemas de integridade;
  • Facilidade para a realização de backup e restauração do banco de dados; Exemplo das Informações em um Banco de Dados Código Nome Endereço Bairro CEP Cidade UF Fone 2 Fernando R. dos Santos R. do Comércio, S/N Centro 98900-000 Santa Rosa RS 55 3512- 10 Maria A. Castilho Av. Exp. Weber, 1 Cruzeiro 98900-000 Santa Rosa RS 55 3512- 112 Carlos S. P. Da Silva R. Giruá, S/N Centro 98900-000 Santa Rosa RS 55 3513- 221 João S. C. Dos Santos R. Castelo Branco, 9 Esperança 98900-000 Santa Rosa RS 55 3512- 4.4. Principais Objetos de um SGBD a) Tabelas: Elemento responsável pelo agrupamento dos dados armazenados no Banco de Dados. Uma tabela pode conter dados referentes a clientes, produtos, fornecedores, etc., organizados em registros e campos:
  • Registros/Linhas: Os dados estão organizados em linhas e colunas, sendo que, cada linha de uma tabela (ou registro) contém informações de um elemento da tabela. Todos os registros de uma tabela contêm os mesmos campos, sempre na mesma seqüência. Por exemplo em um banco de dados com informações de Clientes, em uma tabela que armazene os dados de clientes, cada linha da tabela conterá informações sobre um único cliente e as colunas serão os dados a serem armazenados sobre cada cliente;
  • Campos/Colunas: Cada coluna da tabela (ou campo) contém um tipo de informação dos elementos (registros) que compõem a tabela. Cada campo deve ter um nome e um tipo (texto, numérico, data, etc.) de cordo com o dado nele armazenado. São exemplos de campos: Código do Cliente, Nome, Endereço, Fone, CPF, e-mail, etc. b) Visões: Uma visão define uma “tabela lógica” do banco de dados. Uma tabela lógica não contém dados.

*** Visão por Junção de Tabelas:** Define a recuperação de dados a partir de duas ou mais tabelas observando os relacionamentos existentes entre elas, e ainda, de acordo com os critérios de seleção especificados. Tabela Visão c) Índice: Índices são estruturas de armazenamento de dados que permitem que uma tabela seja acessada segundo outras ordens de classificação que não aquela da chave primária, é também uma ferramenta utilizada pelo Gerenciador de Banco de Dados para facilitar a busca e a classificação de registro/linhas em uma tabela. Um índice pode ser “único”, criado a partir da chave primária, o qual não permite a repetição de registros que possuam a mesma chave na tabela. Também pode-se criar índices que aceitam a repetição de registros, apenas para fins de melhorar a performance na localização e ordenação de registros na tabela.

  • Chaves Primárias: As Chaves Primárias permite a identificação de cada registro de uma tabela de forma única e inequívoca. Pode ser composta por um ou mais campos e seu valor ou combinação de valores nunca se repete. São candidatos a comporem a chave primária campos como CPF, CNPJ, RG, que são capazes de identificar de forma única um indivíduo ou empresa. Há porém situações nas quais não há na tabela um ou mais campos capazes de identificar de forma única cada um dos registros, nestes casos pode-se criar campos especificamente para esse fim, tais como código, número de matrícula, etc, para os quais o valor é gerado de forma automática e sequencial pelo programa aplicativo ou pelo próprio SGBD através dos chamados “generators” ou “sequencias”.
  • Chaves Estrangeiras: O conceito de Chave estrangeira em uso de banco de dados se refere ao tipo de relacionamento entre as tabelas de dados do banco de dados. Uma chave estrangeira é um campo(s), que aponta(am) para a chave primária de outra tabela. Ou seja, passa a existir uma relação entre essas duas tabelas. A finalidade da chave estrangeira é garantir a integridade dos dados referenciais, pois apenas serão permitidos valores que supostamente vão existir na Base de Dados.

5. Transações de Banco de Dados É um conjunto de procedimentos que é executado num banco de dados, que para o usuário é visto como uma única ação. A integridade de uma transação depende de 4 propriedades, conhecidas como ACID. - Atomicidade - Todas as ações que compõem a unidade de trabalho da transação devem ser concluídas com sucesso, para que seja efetivada. Qualquer ação que constitui falha na unidade de trabalho e a transação deve ser desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação pode ser efetivada (commit). - Consistência - Nenhuma operação do banco de dados de uma transação pode ser parcial.O status de uma transação deve ser implementado na íntegra. Por exemplo, um pagamento de conta não pode ser efetivado se o processo que debita o valor da conta corrente do usuário não for efetivado antes, nem vice-versa. - Isolamento - Cada transação funciona completamente à parte de outras transações. Todas as operações são parte de uma transação única. Nenhuma outra transação, operando no mesmo sistema, pode interferir no funcionamento da transação corrente. Outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento. - Durabilidade - Significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subseqüente. Por exemplo: todos os dados e status relativos a uma transação devem ser armazenados num repositório permanente, não sendo passíveis de falha por uma falha de hardware. Na prática, alguns SGBDs relaxam na implementação destas propriedades buscando desempenho. 5.1. Controle de concorrência: É um método usado para garantir que as transações são executadas de uma forma segura e segue as regras ACID. Os SGBD devem ser capazes de assegurar que nenhuma ação de transações completadas com sucesso (committed transactions) seja perdida ao desfazer transações abortadas (rollback). Uma transação é uma unidade que preserva consistência. Requeremos, portanto, que qualquer escalonamento produzido ao se processar um conjunto de transações concorrentemente seja computacionalmente equivalente a um escalonamento produzindo executando essas transações serialmente em alguma ordem. 5.2. Segurança em banco de dados : Os bancos de dados são utilizados para armazenar diversos tipos de informações, desde dados sobre uma conta de e-mail até dados importantes da Receita Federal. Para tal existem diversos tipos, os quais variam em complexidade e sobretudo em segurança. São meios de proteger as informações armazenadas num banco de dados - Criptografia - Senhas - Backup 5.3. Cópia de segurança: Em informática, cópia de segurança é a cópia de dados dum dispositivo de armazenamento a outro para que possam ser restaurados em caso da perda dos dados originais, o que pode envolver apagamentos acidentais ou corrupção de dados.

Mas então, se o Interbase/Firebird é tão bom, porque ele não é tão reconhecido como o Oracle, o Microsoft SQL server e outros servidores SQL? Aparentemente, o maior problema enfrentado pelo Interbase durante todos os anos de sua existência foi a falta de marketing e divulgação adequada por parte da Borland/Inprise/ISC nos meios especializados (revistas, etc...). No entanto, após ter seu código liberado como Open Source a situação começou a mudar rapidamente pois agora as licenças de utilização e distribuição são totalmente FREE! Isso mesmo, custo 0, de graça !!!. Isso quer dizer que você não precisará mais utilizar as famosas (e já mais do que ultrapassadas) base de dados padrão xBase ou Paradox para diminuir o custo do seu cliente. Você vai poder contar com um Banco de dados poderoso, eficiente e seguro e seu cliente não vai precisar pagar nada à mais por isso! 6.3. Facilidade de Instalação e Manutenção Esse é um ponto forte do Firebird. Um servidor Firebird pode ser instalado em poucos minutos e não exige qualquer tipo de conhecimento específico. Os bancos de dados criados no Firebird não precisam ter seu espaço definido previamente. Sendo seu crescimento gerido pela quantidade informações inseridas no decorrer do uso. O servidor possui pouquíssimos parâmetros de configuração, sendo os valores padrões suficientes para o bom funcionamento do banco. Ao contrário de bancos mais pesados, o Firebird dispensa a necessidade de um DBA constantemente monitorando o banco de dados. Pode-se dizer que o Firebird é um servidor “light” no que diz respeito ao seu tamanho, pois seu instalador na versão Windows ocupa 4 MB. 6.4. Tipos de Dados Suportados Vide Anexo I ( Apostila de Firebird 1.0 ) 6.5. Charsets e Collates. Uma das características do Firebird é a de ser totalmente internacionalizável, ou seja, podemos armazenar nele caracteres internacionais (acentuados e especiais) presentes nas mais diversas línguas faladas ao redor do mundo. No entanto, para que o Firebird armazene e interprete corretamente estas informações, é necessário especificar qual o charset adequado para o tipo de informação que será armazenada. Para o Português, é indicado o uso do CHARSET ISO8859_1 ou WIN1252. O charset é responsável por definir quais “símbolos” podem ser utilizados em campos texto e também, o número máximo de bytes necessários para armazenar um caractere. Além do charset , podemos definir também o collate utilizados nos campos alfanuméricos (CHAR/VARCHAR) no banco de dados. O collate diz ao servidor como ele deve comparar e/ou ordenar os caracteres entre si. Cada Charset possui sua pr´pria lista de Collates disponíveis. O mais indicado para uso com o português é o charset WIN1252 e o collate PXW_INTL850. O charset é indicado no momento da criação do banco de dados e o collate no momento da criação de campos do tipo CHAR ou VARCHAR.

6.6. Passo a Passo para instalação e configuração do SGBD Firebird 1.5. Importante: A instalação deverá ser feita na conta de “Administrador” 1 – Faça o download do instalador para windows no endereço: http://prdownloads.sourceforge.net/firebird/Firebird-1.5.5.4926-3-Win32.exe 2 - Execute o Instalador Firebird-1.5.5.4926-3-Win32.exe 3 – Na tela de seleção de idioma clique em OK (Português – Dafault) 4 – A seguir apenas clique em Seguinte

7 – Ao selecionar a “ Localização de destino ” mantenha o valor sugerido e clique em Seguinte 8 – Na tela da “ Seleção dos Componentes a Instalar ”, mantenha todas as configurações sugeridas “ Instalação completa do server e ferramentas de desenvolvimento” *** Para instalação apenas do “Client/Estações”, no combo acima selecione a opção “ Instalação mínima do cliente – sem servidor, sem ferramentas

9 - Na tela que segue, “ Selecione a pasta do menu iniciar ”, apenas clique em Seguinte 10 - Na tela “ Selecione as tarefas adicionais ”, marque as opções conforme. tela a seguir: *** Esta é a config. Padrão para XP/2000/2003, para Windows 98/ME marque a opção “Executar como Aplicação”

**7.1. IBExpert Personal Edition

  • Guia Rápido dos Principais Recursos Disponíveis na Versão Personal a) Configurando o ambiente para o português:**

No menu Options selecione Environment Options para abrir a tela abaixo:

Na opção destacada na janela anterior “Interface Language” selecione “Portuguese” conforme indicado e clique OK. Todo o ambiente será alterado exibindo todos os menu e demais opções em “português de portugal” o que já ajudará bastante :-) b) Criando e registrando um banco de dados Firebird no IBExpert No menu Base de Dados selecione “Criar Base de Dados” e a janela abaixo será exibida: > Detalhando as principais opções disponíveis:

  • Servidor: Pode ser “Remoto ou Local” Remoto : Selecione esta opção caso o banco de dados deva ser criado em outro servidor, localizado na rede local ou remota (internet). Para configurar um servidor remoto, deverá ser informado o “Nome do Servidor” que pode ser o nome ou o endereço IP do mesmo, tal como 192.168.0.1 e também, o protocolo de comunicação (use sempre TCP/IP). Local : Use esta opção caso o banco de dados será criado ou acessado na maquina local. Também é possível e na maioria das vezes aconselhável, criar ou acessar uma base de dados local como se esta fosse remota, para isso, mantenha a opção “remoto” e no nome do servidor informe “localhost” e no protocolo mantenha “TCP/IP”.
  • Base de Dados: Informe a localização da base de dados no servidor (local/remoto) tal como: C:\SISTEMA\BASE\BANCO.FDB
  • Client Library File (Arquivo da Biblioteca Cliente): pode-se manter gds32.dll ou então selecionar a biblioteca padrão do firebird: C:\Arquivos de programas\Firebird\Firebird_1_5\bin\fbclient.dll.
  • Utilizador: Usuário registrado no servidor firebird que possua permissões para criar ou acessar um banco de dados. No nosso caso utilizaremos o SYSDBA que é o administrador padrão do firebird.
  • Senha: Informe a senha padrão masterkey