Aula 4: Mais Microsoft Access® e Bancos de Dados Relacionais

Propaganda
Página 1 de 14
Aula 4: Mais Microsoft Access® e Bancos de Dados Relacionais
Todas as telas são do MS Access®
23 de Janeiro de 2002
Meta:
Introdução ao modelo relacional de banco de dados e consultas intermediárias (funções de
agregaçã/agrupamento e consultas multi-tabelas).
Descrição:
Discussão de bancos de dados, introdução ao modelo relacional e exemplos dos tipos de consultas que
podem ser solicitadas nos exercícios de laboratório.
Pontos Principais:
Discussão de formato de dados e estrutura de dados
Característica Básica do modelo relacional de banco de dados
Consultas intermediárias
- função de agragação
- construtor de expressões
- atualização de banco de dados
- conexão de diversas tabelas.
Revisão de Banco de Dados:
l
Formato de dados e padrõoes de dados:
- Texto puro: ASCII
- Texto formatado: MSWord, WordPerfect
- Planinha: *.xls, *wk3
- Banco de Dados: dBase *.dbf
l
Diferença entre a escolha do modelo de dados (categoria da classe de dados) e formas possíveis
de padroniza-lo.
l
Uma forma de ver o que é um banco de dados é ve-lo na sua forma de texto ASCII puro, meio
comum de trocar dados entre programas de software. Este formato também é importante porque
muitas informações na web estão disponíveis neste padrão mais básico.
l
Estruturas de dados e modelos de dados
- Estrutura lógica para representar situações do mundo real
- Como coisas de interesse devem ser representadas
- Como coisas podem ser relacionadas umas-às-outras
l
A forma mais simples de banco de dados ´ um arquivo plano (para dados simples e em pequenas
quantidades)
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 2 de 14
Consultas com arquivo plano: Banco de dados de resumo dos empregados do Departamento de
Transportes.
Importando um arquivo tipo *.dbf. Para usar um arquivo *.dbf no MS Access, vá para File depois
para New Database... e com Blank Database marcado, clique OK. Na janela File New Database,
digite um nome de de arquivo como my_dot.mdb e certifique-se que o local onde o arquivo será salvo
está na sua pasta pessoal, de forma que a janela pareça algo como isto:
l
Criando my_dot.mdb na Janela File New Database
A seguir clique no botão Create button. Você deve ver uma janela chamada my_dot: Database:
A nova janela de banco de dados para my_dot
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 3 de 14
Agora vá para File... Get External Data... e depois Import. Na janela de importação, você deve
especificar onde procurar pelo arquivo *.dbf que você quer importar.
Neste caso, vá para
K:\11.208\data\ e certifique-se de especificar o tipo de arquivo como dBase 4 (*.dbf). Agora
selecione employee.dbf e clique no botão Import. O Access agora mostra uma janela
informando "Successfully imported 'employee.'
Feche a janela de importação. Na janela my_dot: Database, você verá employee
listado nas tabelas.
l
l
l
l
l
Revsão da documentação de banco de dados: definição de dados and forumulário de resumo.
Revisão de especificaç*atilde; de consultas básicas
Uso de AND versus OR:
¡ Quando você digita expressõos em mais de uma célula de crit´rio, o Microsoft Access
combina elas usando ou o operador And ou o operador Or. Se as expressõoes estão em
células na mesma linha, o Microsoft Access usa o operador And, o que significa que
apenas os registros que satisfazem o critério em todas as células serão retornados. Se as
experssõoes estão em linhas diferentes da grade de especificação, o Microsoft Access usa
o operador Or, o que significa que os registros que satisfazem o critério em qualquer das
células serão retornados.
Funções de agragaç*atilde;o (count, distinct); grupo por cláusulas
Expressões e expressõoes calculadas (criar um novo campo primeiro!)
¡ Inicialmente uma consulta simples: quantos empregados do DOT dirigem sozinhos como o
principal modo de transporte. Primeiro vamos olhar o dicionário de dados e pesquisar.
Constas de empregados que dirigem sozinhos como mod principal
Resultado da consulta acima
¡
Note que estamos olhando para o registro. Portanto, contando o identificador único da
pesquisa dá o mesmo resultado.
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 4 de 14
¡
Note, no entanto, que as funções de totalização podem fornecer cálculos em registros
selecionados. Por exemplo, pode-se calcular o tempo m´dia de troca apra aqueles que
dirigem sozinhos.
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 5 de 14
¡
As funções de gupo também permitem níveis progressivos de resolução da seleção. Podese examiar o tempo médio de treco por filhal do DOT..
¡
E pode-se olhar mais a fundo o tempo médio de troca por condado de residência dos
empregados de uma filhal do DOT em particular...
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 6 de 14
¡
E, claro, os códigos de CEP dentro dos condados....
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 7 de 14
¡
Também pode ser útil calcular expressões usando dois ou mais ampos. Pode-se contar as
pessoas em uma resdência (HH_SIZE) e o número de pessoas empregadas na residência
(HH_EMPLOYM), mas qual o percentual de pessoas empregadas?
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 8 de 14
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 9 de 14
n
¡
Claro, você pode necessitar apenas da expressão:
No entanto, isto não nos possibilita usar as funções de Agrupar Por. Para isto, adicionamos
Sum:
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 10 de 14
l
ADICIONANDO UM CAMPO E E A EXPRESSÃO CALCULADA E SAVANDO EM
UMA NOVA TABELA:
¡ Também pode ser útil criar um novo campo e então adiconar dados a ele com base em
uma expressão calculada. Na janela principal do banco de dados vá para a aba Tables e
então clique em Design. Vá para o final da tabela de empregados e clique na última linha
de entrada. Insira um nome de campo (sem espaços ou caracteres estranhos). Deposi,
clique dentro da célula Data Type, e um menu aparece. Selecione "Number." Também, na
área cinze abaixo da aba "General", selecione "Double." A sua janela deve parecer algo
como isto:
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 11 de 14
¡
¡
A seguir, feche a tabela e salve-a. Neste ponto sua tabela deve ter uma nova coluna sem
dados.
Vamos criar uma nova consulta com uma expressão calculada e um campo para ser
incluido na nova tabela:
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 12 de 14
¡
Na barra de ferramentas, clique no botão Query select
e no menu Query options
selecione Make-Table Query. Na janela Make Table, insira um novo nome de tabela e
escolha deixar ela no banco de dados atual. Após cliccar no botão Query now
,o
Microsoft Access avisa para com uma janela para confirmar que vamos criar uma nova
tabela. Clique Yes. Tem-se agora uma nova tabela sobre a qual pode-se fazer consultas.
Bancos de Dados Relacionais e Conexões
Um modelo mais complexo é o banco de dados relacional onde existem diversas tabelas que podem
ser conctadas por um identificador comum (assim como o número do seguro social ou o CPF podem
ser utilizados).
l Conexõoes relacionais ligam diferentes tabelas com diferentes tipos de dados. Isto gera informações
que não sã possíveis de obter de outra forma. Por exemplo, pode-se conectar tabelas de proprietários
de prédios, imóveis s e incêndios e determinar qual proprietá teve o maior prejuízo devido ao fogo.
l Examplo de conexõoes relacionais usando tabelas: imóveis, incêndios, taxas de seguro, proprietários
l Crie um banco de dados "Parcels_plus_other"
l Get External Data... e a seguir Import a seguinte tabela: K:\11.208\Data\parcels.dbf e depois
repita para as tabelas FIRES.DBF TAX.DBF e OWNERS.DBF. Dicionário de Dados para
PARCELS, FIRES, TAX, OWNERS
l
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 13 de 14
PARCELS (Informações dos
TAX (Informações de impostos e
FIRES (Incidentes de inc êndio)
Imóveis)
identificador
ownernum do
proprietário
identificador único do
imóvel
wpb
bairro/arredores/quarteirão Wpb
Bairro/arredores/quarteirão wpb
bairro/arredores/quarteirão oname
nome do
proprietário
parcel
número do imóvel no
quarteirão
Parcel
Número do imóvel no
quarteirão
parcel
número do imóvel no
quarteirão
address
Endere ço
residencial
do
proprietário
add1
número na rua
Fdate
Data do incêndio
prptype tipo de propriedade
city
cidade de
residência
do
proprietário
state
estado de
residência
do
proprietário
zip
código de
CEP da
residência
do
proprietário
add2
nome da rua
zip
código de CEP
sqft
área em pés quadrados
onum
identificador do
proprietário
Ignfactor fator de ignição
Estloss
Prejuízo estimado
id
identificador único do
imóvel
do proprietário)
id
Id
Identificador único do
imóvel
OWNERS (Informaçõ
valores
landval valor do terreno
bldval
valor do prédio
tax
imposto territorial
landuse tipo de uso do terreno
l
l
l
l
l
l
Conecte as tabelas com o registro de identificação único: PARCELS.ID à FIRES.ID à
TAX.ID. A seguir, OWNERS.OWNERNUM à PARCELS.ONUM.
Os mesmos tipos de consutas feitos em arquivos planos podem ser feitos em tabelas conectadas.
(Agrupe por, Ordene por)
NOTA: Usp de critérios em tabelas conectadas:
¡ Se a sua consulta inclui tabelas conectadas, os valores especificados nos critérios sobre os
campo de tabelas conctadas são sensíveis ao caso. Eles devem ter o mesmo caso
(maiúsculo ou minúsculo) dos valores na tabela.
Conexões relacionais podem ser úteis de outras formas. Outro exemplo de adicionar
uma tabela e conexão é tornar a análise mais simples fornecendo uma tabela pra traduzir
códigos:
Abra o banco de dadose myemployee.
Use Get External Data... e a seguir Import e em K:\11.208\Data\ seleccione dotmode1.dbf e
abra para ver que é uma tabela simples:
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Página 14 de 14
Conteúdo da tabela dotmode1
Tabelas Employee e dotmode1 conectadas entre MODE1_CODE e MODE1_TO
Resultado da consulta acima
file://T:\Conteúdo\MIT_FINAL_TRAD\11\11.208\Traduzidos\lecture-notes\lecture4imp.htm
27/9/2003
Download