Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Aplicação com Bancos de dados Parte I 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. Bancos relacionais e não relacionais Relacionais É 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) 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. DBE com relação a base de dados 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 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 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 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 Utilitário de configuração Prática Criar um alias do tipo Paradox chamado Agenda apontando para o diretório c:\agenda 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 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 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 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 Table properties Principais tipos de dados 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 Prática Crie uma base de dados chamada Agenda no diretorio c:\agenda com a seguinte estrutura: