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


Banco de Dados: Conceitos e Componentes, Notas de estudo de Automação

Conceitos básicos sobre bancos de dados, incluindo componentes de um banco de dados, criação e configuração de bancos de dados usando o idapi e delphi, e a linguagem sql. Além disso, é discutido o acesso a bancos de dados usando o delphi e a criação de controles para exibir e manipular dados.

Tipologia: Notas de estudo

2012

Compartilhado em 07/04/2012

maciel-duda-12
maciel-duda-12 🇧🇷

47 documentos

1 / 28

Toggle sidebar

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

Não perca as partes importantes!

bg1
UNIVERSIDADE TIRADENTES
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
Prof. José Maria Rodrigues Santos Júnior
Linguagem Técnica de Programação
DELPHI
Aracaju 4 de fevereiro de 1997
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c

Pré-visualização parcial do texto

Baixe Banco de Dados: Conceitos e Componentes e outras Notas de estudo em PDF para Automação, somente na Docsity!

UNIVERSIDADE TIRADENTES

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

Prof. José Maria Rodrigues Santos Júnior

Linguagem Técnica de Programação

DELPHI

Aracaju 4 de fevereiro de 1997

Banco de Dados

Conceitos

Borland Database Engine

Noções de SQL

DataBase Desktop

DataBase Explore

Componentes de Banco de Dados

Relatórios

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

Borland Database Engine

Introdução

O BDE é um núcleo de Banco de Dados que fornece a capacidade de acesso a banco de dados para os

softwares Delphi, Paradox, dBase e C++, oferecendo um grande conjunto de características previamente

testadas para auxiliar desenvolvedores de aplicações Cliente-Servidor.

Além de fornecer utilitários para acessar bancos de dados de maneira compartilhada, o BDE inclui um

conjunto de fontes de dados para acessar bases Paradox, dBase e arquivos texto. Também é possível acessar

qualquer banco de dados padrão ODBC ou, através de SQL Links, acessar diretamente Interbase, Oracle,

Sybase e MS-SQL Server.

O BDE também é composto de um conjunto de funções que compõe uma API (Interface para Programação

de Aplicações) que permite os desenvolvedores acessarem diretamente esses bancos de dados.

Situação Anterior

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.

Características

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

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

Estrutura do BDE

Características

  • Orientado a Objetos
  • Possui Driver específicos para cada SGBD
  • Os arquivos do BDE devem ser distribuídos junto com a aplicação
  • Compatível com os principais SGBD’s do mercado
  • Permite navegação em SQL’s

Utilização

Para se ter acesso, através do IDAPI, a um banco de dados que já existe são necessários os seguintes passos:

1. Inclui-lo no arquivo de configuração do IDAPI

Para se criar um novo banco de dados e ter acesso a através do IDAPI são necessários os seguintes passos:

1. Criar o banco de dados propriamente dito

Inclui-lo no arquivo de configuração do IDAPI

Criar as tabelas, campos e índices

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

Database Desktop

Introdução

Fornece uma interface simples e completa para configuração, definição e manipulação de bancos de dados

no BDE.

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

1. 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 a serem criados.

Table Properties - Permite controlar a seguintes propriedades da Tabela :

Validity Checks Registra as regras de validações para os campos :

Required Field - Especifica se o campo é requerido, ou seja, é obrigatório a entrada de

um valor para esse campo

Minimum -Valor mínimo que esse campo pode assumir

Maximum - Valor máximo que esse campo pode assumir

Default - Valor default para o campo, em cada novo registro o campo receberá esse valor

Picture - Máscara a ser imposta ao campo

Table Lookup Indica que determinado campo somente poderá conter valores iguais aos valores de um

campo de outra tabela.

Secondary Indexes Cria índices secundários

Referential Integrity Cria integridade referencial (relacionamento entre duas tabelas)

Password Security Permite a criação de senhas, protegendo a tabela de acesso não autorizado

Table Language Especificar o driver de linguagem utilizado pela tabela

Dependent Tables Mostra todas as tabela dependentes através da integridade referencial

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

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

Utilitários

Os utilitários do Database Desktop permitem fazer rapidamente procedimentos normais de manutenção de

banco de dados independente de qual seja o gerenciador.

Os utilitários permitem Adicionar registros de uma tabela em outra, copiar tabelas (estrutura e conteúdo),

remover tabelas (estrutura), esvaziar tabelas (conteúdo), visualizar a estrutura de uma tabela, renomear

tabelas (se o SGBD permitir), ordenar, alterar a estrutura, etc.

As tabelas utilizadas na adição de registros e na cópia de tabelas podem ser de Banco de dados diferentes e

de SGBDs diferentes.

Criando e Executando SQL

Pode-se criar instruções SQL através da opção [File/New/SQL File] e executá-las através do botão que

contém o BitMap de um raio

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

Selecionando Linhas

Sintaxe:

SELECT <lista_de_colunas>

FROM <lista_de_tabelas>

WHERE <condição>

As condições da cláusula WHERE representam comparações entre dois itens. Esses itens podem ser o nome

de uma coluna, uma constante (numérica ou literal) ou uma expressão.

Tabela de operações:

Operação Operador

Igual a =

Diferente de < >

Menor que <

Menor ou igual a <=

Maior que >

Maior ou igual a >=

Pelo menos uma de duas condições OR

Ambas as condições AND

Entre dois valores BETWEEN x AND y

Igual a um dos valores do conjunto IN (x, y, z)

Apresenta um conjunto de caracteres LIKE

Ordenando as linhas

Sintaxe:

SELECT <lista_de_colunas>

FROM <lista_de_tabelas>

[WHERE <condição>]

ORDER BY <lista_de_colunas> [<ASC/DESC>]

Quando usado o ORDER BY deve ser o último comando da cláusula SELECT.

O Default é a ordem ascendente (ASC).

Valores calculados

O SQL também permite que você obtenha dados a partir de expressões envolvendo dados da tabela. Basta

que para isso você coloque a expressão como uma das colunas a ser exibida da cláusula SELECT. Os valores

calculados também podem ser utilizados como parte de uma condição ou para ordenar uma tabela a partir de

uma expressão.

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

Funções construídas

O SQL, para facilitar o processo de recuperação de informação, possui uma série de funções construídas.

As funções atuam, geralmente, em um conjunto de linhas. Se nenhum conjunto de linhas for selecionado, o

sistema assume que toda tabela é um grupo.

Os valores são calculados apenas para as linhas selecionadas.

As funções SUM e AVG só podem ser utilizadas em colunas numéricas.

Cada função retornará um único valor.

Funções Descrição

SUM (coluna) Somatório dos valores da coluna

MIN (coluna) Valor mínimo na coluna

AVG (coluna) Média dos valores da coluna

MAX (coluna) Valor máximo na coluna

COUNT (*) Número de linhas selecionadas

COUNT (DISTINCT coluna) Número de valores únicos

SUBSTRING (coluna FROM inicio FOR tamanho) Seleciona uma parte de uma string

UPPER (coluna) Converte para maiúsculo

LOWER (coluna) Converte para minúsculo

Agrupando linhas

Sintaxe:

SELECT <lista_de_colunas>

FROM <lista_de_tabelas>

[WHERE <condição>]

GROUP BY <lista_de_colunas>

[ORDER BY <lista_de_colunas> [<ASC/DESC>]]

Condições de agrupamento

Sintaxe:

SELECT <lista_de_colunas>

FROM <lista_de_tabelas>

[WHERE <condição>]

GROUP BY <lista_de_colunas>

HAVING <condição>

Através da cláusula HAVING podemos estabelecer condições sobre o resultado obtido nos agrupamentos.

Esta cláusula é similar ao WHERE da cláusula SELECT.

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

Componentes de Banco de Dados

Introdução

A programação de aplicações com banco de dados se resume a incluir janelas em uma aplicação comum,

onde essas janelas possuem acesso a banco de dados.

Database Form Expert

A maneira mais simples de se fazer uma janela com acesso a banco de dados é através do Database Form

Expert. Essa opção encontra-se na versão 2.0 com o nome de Form Expert no menu Database.

Ao se chegar no Expert são feitas uma série de perguntas que podem resultar em uma janela simples ou

Mestre/Detalhe. O acesso ao banco de dados pode ser feito no modo de registro (TTable) ou através de

SQL (TQuery).

Todos os campos selecionados aparecem na janela permitindo entrada de dados através de um Edit

(TDBEdit).

Cada Edit recebe um Label baseado no nome do campo na tabela selecionada.

Existe também na janela um componente para permitir a navegação e a manutenção dos dados

(TDBNavigator).

O componente utilizado para fazer a ligação entre os componentes de campo e a tabela ou query é chamado

TDataSource.

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

TTable

Propriedades Descrição

Active Define se a tabela esta aberta ou fechada

DatabaseName Nome lógico do banco de dados ou nome de um diretório

TableName Nome da tabela

ReadOnly Define se pode ser feita atualização na tabela

Exclusive Define se a tabela pode ser compartilhada

BOF Informa se está no início da tabela

EOF Informa se está no fim da tabela

IndexName Nome do índice em uso

IndexFieldNames Nome dos campos de ordenação

MasterSource Nome do DataSource mestre em um relacionamento

MasterField Campos do relacionamento

State Estado da tabela (Inativa, Edição, Inserção, Pesquisa, Cálculo de Campo)

RecordCount Número de registros

Fields[n] Faz referência ao n-ésimo campo da Tabela

Métodos Descrição

Open Abre a tabela

Close Fecha a tabela

FieldByName Faz referência a campo através do nome

First Vai para o primeiro registro

Next Vai para o próximo registro

Last Vai para o último registro

Prior Vai para o registro anterior

Insert Coloca a tabela no modo de inserção

Delete Remove o registro corrente

Edit Coloca a tabela em modo de edição

Post Grava o registro corrente

Cancel Cancela a operação atual (inserção ou alteração)

FindKey Procura um registro pela chave

FindNearest Procura um registro pela chave posicionando no mais próximo

SetKey Entra em modo de procura

GotoKey Procura um registro pela chave

GotoNearest Procura um registro pela chave posicionando no mais próximo

EmptyTable Apaga todos os registro da tabela, para isso a tabela não pode esta sendo

compartilhada

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

TDBText, TDBEdit, TDBMemo, TDBListBox, TDBComboBox, TDBImage

Propriedades Descrição

DataSource DataSource ao qual o controle está ligado

DataField Campo do controle que é exibido

TDBCheckBox

Propriedades Descrição

DataSource DataSource ao qual o controle está ligado

DataField Campo do controle que é exibido

ValueChecked Valor a ser armazenado quando está selecionado

ValueUnchecked Valor a ser armazenado quando não está selecionado

TDBRadioGroup

Propriedades Descrição

DataSource DataSource ao qual o controle está ligado

DataField Campo do controle que é exibido

Values Valor a ser armazenado para cada botão de rádio

TDBGrid

Propriedades Descrição

DataSource DataSource ao qual o controle está ligado

TDBNavigator

Propriedades Descrição

DataSource DataSource ao qual o controle está ligado

VisibleButtons Define os botões que serão visíveis

ConfirmDelete Define se será solicitado uma confirmação antes da exclusão

TDBLookupList, TDBLookupCombo

Propriedades Descrição

DataSource DataSource ao qual o controle está ligado

ListSource DataSource que contém os valores a serem exibidos na lista

ListField Campo de LookupSource que será exibido

KeyField Campo de LookupSource que será comparado

DataField Campo de DataSource que é comparado

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

Relatórios

Impressão de Texto

A impressão de um relatório contendo somente texto pode ser feita utilizando o método tradicional do

Pascal, com poucas modificações:

var

<relatório>: TextFile;

begin

AssignPrn(<relatório>);

Rewrite(<relatório>);

Printer.Title := <título do relatório>;

Writeln(<relatório>, ...);

CloseFile(<relatório>);

end;

Para cancelar a impressão durante a geração do relatório pode-se utilizar o método Abort do objeto Printer.

O objeto Printer e o procedimento AssignPrn estão definidos na unit Printers.

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E

Impressão Gráfica

A impressão gráfica pura pode ser feita utilizando-se o objeto Printer:

Propriedades

Nome Descrição

Printing Informa se existe algum documento sendo impresso pelo processo.

Title Título do relatório

PageHeight Altura da página

PageWidth Largura da página

Orientation Orientação (Landscape ou Portrait)

Canvas É a página propriamente dita

PageNumber Número da página sendo impressa

Métodos

Nome Descrição

BeginDoc Inicia a impressão

EndDoc Finaliza a impressão

NewPage Inicia uma nova página

Abort Cancela uma impressão

A impressão propriamente dita de cada página é feita no objeto Canvas:

Propriedades

Nome Descrição

Font Tipo de letra que será utilizado na escrita

Brush Estilo e cor do preenchimento

Pen Estilo e espessura da linha

Métodos

Nome Descrição

TextOut Escreve um texto em uma determinada posição

MoveTo Move o posição de desenho para uma determinada posição

LineTo Desenha uma linha da posição atual até a posição determinada

PolyLine Desenha uma série de linhas

Arc Desenha um arco

Pie Desenha um setor de um gráfico tipo torta

Rectangle Desenha um retângulo

RoundRect Desenha um retângulo com bordas arredondadas

FillRect Desenha um retângulo preenchido

FloodFill Preenche uma área qualquer

Ellipse Desenha uma elipse

Draw Coloca um Bitmap, Ícone ou Metafile no Canvas

StretchDraw Coloca um Bitmap, Ícone ou Metafile no Canvas, alterando o tamanho da

figura

CopyRect Copia uma área do canvas para outro canvas

F 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B EF 0 B E