Laboratório de Programação I
description
Transcript of Laboratório de Programação I
![Page 1: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/1.jpg)
Laboratório de Programação I
Carlos Oberdan Rolim
Ciência da ComputaçãoSistemas de Informação
![Page 2: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/2.jpg)
Aplicação com Bancos de dados
Parte I
![Page 3: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/3.jpg)
Introdução teórica
O C++ Builder oferece uma série de ferramentas e recursos que possibilitam a criação de aplicações de bancos de dados de forma rápida e fácil.
A seguir serão introduzidos os conceitos básicos na manipulação com bancos de dados em C++ Builder, oferecendo uma visão geral dos componentes de acesso a dados mais corriqueiramente utilizados.
![Page 4: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/4.jpg)
Bancos relacionais e não relacionaisRelacionais
É um conceito abstrato que define maneiras de armazenar, manipular e recuperar dado estruturados na forma de tabelas
Segue o modelo relacional
Usa um RDBMS (Relational Database Management System) que implementa a absração
Linguagem padrão de consulta é o SQL
Ex.: Mysql, SQLServer, Oracle
Não relacionais
Mantém tudo agrupado em uma única tabela
É uma lista simples que não se refere a outros dados
Simples de manter
Não usa SQL
Ex.:Paradox, dBase, Big Table (google)
![Page 5: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/5.jpg)
BDE
O coração das aplicações de bancos de dados do C++ Builder está no Borland Database Engine (BDE),
Ele é uma camada de software que realiza o acesso a bancos de dados baseados em arquivos como Paradox e dBase ou a servidores de bancos de dados locais ou remotos como InterBase, Informix, Oracle, SyBase, etc.
Os componentes de bancos de dados do C++ Builder oferecem uma forma simplificada, que usa programação visual baseada em Propriedades, Métodos e Eventos para acessar a API do BDE.
![Page 6: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/6.jpg)
DBE com relação a base de dados
![Page 7: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/7.jpg)
Situação antes do BDE
Linguagens diferentes
Características diferentes
Falta de portabilidade
Baixa conectividade
Necessidade de importação / exportação de dados
Problema
Dificuldade de manutenção
Dificuldade de formação de pessoal
![Page 8: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/8.jpg)
Solução
Utilização de um padrão aberto para banco de dados: IDAPI ou ODBC
Padronização das mensagens de erro
Padronização dos tipos de dados
Padronização dos métodos de acesso
Acesso a diferentes SGBDs simultaneamente na mesma aplicação através da mesma API, o IDAPI (Integrated Database Aplication Program Interface)
Acesso aos dados via registro ou por SQL, independente do BD
![Page 9: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/9.jpg)
Características do DBE
Orientado a Objetos
Possui Driver específico para cada SGBD
Os arquivos do BDE devem ser distribuídos junto com a aplicação
Compatível com os principais SGBDs do mercado
Permite navegação com SQL
![Page 10: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/10.jpg)
Uso de um banco já existente
Basta incluir as informações sobre o banco de dados no arquivo de configuração do DBE
A aplicação faz referência ao banco de dados por um nome lógico (alias)
O nome lógico é cadastrado no arquivo de configuração indicando a qual banco físico que ele faz referência
Criar as tabelas e os índices usando a ferramenta do próprio banco
Fazer a aplicação utilizar o alias
![Page 11: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/11.jpg)
Utilitário de configuração
![Page 12: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/12.jpg)
Prática
Criar um alias do tipo Paradox chamado Agenda apontando para o diretório c:\agenda
![Page 13: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/13.jpg)
Utilitário de configuração
O usuário de configuração chama-se DBE Administrator
A interface é composta por duas guias onde a guia Databases permite a definição de um novo banco de dados no arquivo de configuração
A configuração só é efetivada salvando o arquivo de configuração
Para criar um Alias para um banco que vai ficar armazenado em C:\temp
Clicar em Object / New
Na janela que aparece deixar Standard (padrão) para utilizar paradox
No novo item que aparece digitar o nome do Alias desejado
Do lado direito na opção Path digitar o caminho de onde vai ficar o banco. No caso C:\temp
Clicar em Object / Apply para salvar as configurações
![Page 14: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/14.jpg)
dBase e Paradox
Vamos utilizar o paradox por sua facilidade de uso e manutenção
Vem junto com o pacote da Embarcadero
É indicado apenas para rodar em estações Windows
Não deve ser utilizado em ambientes de rede que exigam muito tráfego
Para isso utilizar algum banco SQL que está fora do escopo
![Page 15: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/15.jpg)
Criação do banco de dados
Utilizar o Database Desktop
Fornece uma interface simples e completa para configuração, definição e
manipulação de uma base de dados
![Page 16: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/16.jpg)
Criação de tabelas
É feita selecionando a opção New/Table no menu File.
Escolhe-se então o gerenciador para a nova tabela
Em seguida aparece uma janela para o cadastramento dos campos, índices e demais dados necessários na criação da tabela. Essa janela é específica para cada gerenciador (tipo de tabela).
Para tabelas paradox
Field Name - Nome do campo
Type - Tipo do campo, com o bot„o direito do mouse pode-se escolher dentre os possíveis tipos
Size - Tamanho do campo, somente é suportado por alguns tipos de campos
Key - Especifica os campos que farão parte da chave primária, os campos chaves dever„o ser os primeiros campos serem criados.
Table Properties - Permite controlar a propriedades da tabela
![Page 17: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/17.jpg)
Table properties
![Page 18: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/18.jpg)
Principais tipos de dados
![Page 19: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/19.jpg)
Manipulação interativa
É feita selecionando a opção Open/Table no menu File.
Escolhe-se então o banco de dados e a tabela em uma janela semelhante à janela Abrir Arquivo.
Para incluir ou alterar os dados é necessário selecionar o item Edit Data.
Para alterar a estrutura da tabela pode-se usar o item Reestructure
![Page 20: Laboratório de Programação I](https://reader035.fdocumentos.com/reader035/viewer/2022062314/56812b8b550346895d8fa6be/html5/thumbnails/20.jpg)
Prática
Crie uma base de dados chamada Agenda no diretorio c:\agenda com a seguinte estrutura: