Title: Introdu
1Introdução a Banco de Dados e Access
Isabel Harb ManssourPorto Alegre, maio de 2007
Baseado no material das professoras Miriam Sayão,
Adriana Beiler e Elisa Boff
2Roteiro
- Conceitos Básicos de Banco de Dados
- Microsoft Access
- Modelo Entidade-Relacionamento
- Planejamento de Banco de Dados
3Conceitos Básicos de Banco de Dados
- Arquivos
- Permitem o armazenamento permanente de dados
- Dados persistentes
- Dispositivos de armazenamento secundários
- Armazenam arquivos
- Discos magnéticos, discos ópticos, fitas
magnéticas
4Conceitos Básicos de Banco de Dados
- Campo (Field)
- Conjunto de caracteres com o mesmo significado
- Exemplo nome
- Registro (Record)
- Conjunto de campos relacionados
- Exemplo nome, endereço, idade, telefone de uma
pessoa - Representado por uma instância de uma classe
- Arquivo (File)
- Conjunto de registros relacionados
- Exemplo informações sobre um grupo de pessoas
5Conceitos Básicos de Banco de Dados
Campo
Nome Endereço Telefone CIC RG
Ana Silva Andradas 34 332.56.35 345.565/9 271646252
João Neto Siqueira 34 353.46.54 454.567/8 456546568
Maria Santos Ipiranga 67 223.66.51 028.480/8 873260269
Registro
Arquivo
6Conceitos Básicos de Banco de Dados
- Arquivo seqüencial
- Todos os registros estão organizados na forma de
uma lista, um depois do outro. - Os registros podem estar dispostos ordenadamente,
obedecendo a seqüência determinada pela chave
primária. - É possível incluir, excluir, alterar e consultar
os registros.
7Conceitos Básicos de Banco de Dados
- Arquivo seqüencial
- Exemplo
E O F
8Conceitos Básicos de Banco de Dados
- Arquivo seqüencial
- Pesquisa seqüencial
9Conceitos Básicos de Banco de Dados
- Arquivo de índice
- Consiste em um arquivo que guarda o campo chave e
a posição do registro no disco - Exemplo
E O F
Arquivo de Dados
Arquivo de Índice
10Conceitos Básicos de Banco de Dados
- Arquivos de índice
- Permitem o acesso rápido às dados
- Vários podem ser criados
- Índice por nome
- Índice por idade
- Índice por telefone
- ...
11Conceitos Básicos de Banco de Dados
- Programas que trabalham com arquivos devem
permitir - Incluir, excluir, consultar e alterar registros
- Incluir novos campos nos registros
- Excluir campos dos registros
- Gerar listagens com diferentes ordenações
12Conceitos Básicos de Banco de Dados
- Banco de Dados (ou base de dados - BD)
- Conjunto de arquivos relacionados
- Dados com uma estrutura regular que organizam a
informação - Normalmente agrupa informações utilizadas para um
mesmo fim. - Exemplo folha de pagamento, controle de estoque,
controle de contas
http//pt.wikipedia.org/wiki/Banco_de_dados
13Conceitos Básicos de Banco de Dados
- SGBD - Sistema Gerenciador de Banco de Dados
- Conjunto de programas cujo objetivo principal é
gerenciar o acesso e a correta manutenção dos
dados armazenados no banco de dados - Exemplos Microsoft Access, Oracle, Sybase, etc.
14Roteiro
- Conceitos Básicos de Banco de Dados
- Microsoft Access
- Modelo Entidade-Relacionamento
- Planejamento de Banco de Dados
15Microsoft Access
- Microsoft Office Access (MSAccess)
- Sistema relacional de administração de banco de
dados. - Incluído no pacote Microsoft Office Professional.
- Permite o rápido desenvolvimento de aplicações
que envolvem - Modelagem e estrutura de dados
- Interface a ser utilizada pelos usuários
16Microsoft Access
- Trabalha com os seguintes objetos
- Tabela armazenamentos dos dados.
- Consulta filtro sobre os dados armazenados nas
tabelas. - Formulários como um formulário em papel que se
preenche a mão. - Relatório
- Informação que foi organizada e formatada
- Meio de recuperação e apresentação dos dados
17Microsoft Access
- Trabalha com os seguintes objetos
- Macro
- Executa automaticamente uma tarefa ou uma série
de tarefas - Tarefaação
- Módulo
- Procedimentos e funções que são escritos em uma
linguagem chamada de ACCESS BASIC, e que podem
ser chamadas dentro de uma consulta, de um
formulário ou de um relatório
18Microsoft Access
- Arquivos possuem extensão MDB.
- Possui assistentes que facilitam a criação dos
bancos de dados.
19Microsoft Access
20Microsoft Access
21Microsoft Access
22Roteiro
- Conceitos Básicos de Banco de Dados
- Microsoft Access
- Modelo Entidade-Relacionamento
- Planejamento de Banco de Dados
23Modelo Entidade-Relacionamento
- Banco de Dados Relacional
- Segue o Modelo Relacional
- Define maneiras de armazenar, manipular e
recuperar dados estruturados unicamente na forma
de tabelas
24Modelo Entidade-Relacionamento
- SGBD Relacional
- Exemplo de dados organizados na forma de tabelas
Tipo de Produto
CodTipoProd DescrTipoProd
1 Computador
2 Impressora
Produto
CodProd DescrProd PrecoProd CodTipoProd
1 PC desktop modelo x 2500 1
2 PC notebook ABC 3500 1
3 Impressora jato de tinta 600 2
4 Impressora laser 800 2
25Modelo Entidade-Relacionamento
- Chave
- Usada para identificar linhas e estabelecer
relações entre linhas de tabelas - Conjunto de um ou mais atributos que determinam a
unicidade de cada registro - Permite o relacionamento entre tabelas
26Modelo Entidade-Relacionamento
- Tipos de chave
- Chave primária (PK - Primary Key)
- Apresenta um valor diferente para cada registro
do arquivo - Permite identificar um único registro no arquivo
- Identifica o registro desejado em uma operação de
acesso a um arquivo, facilitando a sua
recuperação - Um campo pode ser escolhido como chave primária
- Exemplo código de um funcionário
27Modelo Entidade-Relacionamento
- Tipos de chave
- Chave estrangeira (FK - Foreign Key)
- Coluna ou combinação de colunas cujos valores
aparecem necessariamente na chave primária de
outra tabela - Define um relacionamento entre as tabelas e pode
ocorrer repetidas vezes - Exemplo
Chave primária
Chave estrangeira
Chave primária
NumPedido NumCliente Quantidade Valor
1 2 5 R 25,00
2 1 3 R 15,00
3 2 2 R 10,00
NumCliente Nome Endereço
1 Fulano Rua x
2 Beltrao Avenida y
28Roteiro
- Conceitos Básicos de Banco de Dados
- Microsoft Access
- Modelo Entidade-Relacionamento
- Planejamento de Banco de Dados
29Planejamento de Banco de Dados
- Com um BD você não pode fazer muitas experiências
na base da tentativa e erro. - Antes que você crie seu BD, deverá fazer as
seguintes perguntas - Quais dados eu desejo armazenar, e qual é a
melhor maneira de organizá-los? Isso determina as
tabelas que você precisará. - Quais as ações de entrada de dados eu realizo no
dia-a-dia de minha empresa? Isso determina os
formulários de que você precisará. - Quais informações eu quero saber sobre o estado
da empresa? Essa resposta indica que relatórios e
consultas você desejará.
30Planejamento de Banco de Dados
- Determinando as tabelas
- Tecnicamente, você só precisa de uma tabela, o
mínimo para que um banco de dados funcione. - Mas o maior erro que a maioria das pessoas comete
é colocar muitas informações em uma única tabela. - O Access é um programa de gerenciamento de banco
de dados relacional ele trata de muitas tabelas
e cria relacionamentos entre elas.
31Planejamento de Banco de Dados
- Por exemplo, em um banco de dados que registra
pedidos de clientes, você pode ter as seguintes
tabelas - Clientes
- Métodos de Entrega
- Vendedores
- Pedidos
- Produtos
- Detalhes do Pedido
32Planejamento de Banco de Dados
- Planejar as tabelas antes de criar seu banco de
dados é importante. - É difícil mudar a estrutura de uma tabela depois
que ela estiver preenchida com dados (mas não
impossível).
33Planejamento de Banco de Dados
- Normalização dos dados torna as tabelas o mais
eficientes e compactas possíveis, para eliminar a
possibilidade de confusão e erro. - Algumas regras, chamadas regras de normalização,
governam o modo como um BD deve armazenar suas
tabelas - Evitar informações repetidas.
- Evitar dados redundantes.
34Planejamento de Banco de Dados
- Evitar informações repetidas
- Suponha que você queira manter informações de
contato sobre seus clientes juntamente com um
registro de cada transação que eles efetuarem. - Se você mantivesse tudo em uma tabela, teria que
repetir o nome completo do cliente, o endereço e
o número de telefone toda vez que incluísse uma
nova transação. - Também teria que mudar o endereço em cada
registro de transação para esse cliente.
35Planejamento de Banco de Dados
- Evitar informações repetidas
- Uma maneira melhor é atribuir a cada cliente um
número de código. - Inclua esse número de código em uma tabela
contendo nomes e endereços. - Depois use o mesmo número de código como um
vínculo em uma tabela separada que contenha as
transações
36Planejamento de Banco de Dados
- Evitar informações repetidas
- Exemplo com uma tabela
37Planejamento de Banco de Dados
- Exemplo após normalizar
- Tabela de Clientes
- Tabela de Pedidos
38Planejamento de Banco de Dados
- Evitar dados redundantes
- Suponha que você queira acompanhar quais
funcionários freqüentam certas aulas de
treinamento. Existem muitos funcionários e aulas. - Uma forma seria manter tudo em uma única tabela
Pessoal, da seguinte forma
39Planejamento de Banco de Dados
- Evitar dados redundantes
- E se um funcionário tiver mais de uma aula?
- Você teria de incluir uma linha duplicada na
tabela para relacioná-lo e depois teria o
problema descrito anteriormente vários registros
com entradas de campo praticamente idênticas. - E se o único funcionário que assistiu a uma
determinada aula sair da empresa? - Quando você excluir o registro desse funcionário,
apagará também as informações sobre as horas de
crédito da aula.
40Planejamento de Banco de Dados
- Evitar dados redundantes
- Uma maneira melhor seria criar tabelas separadas
para Funcionário, Aulas e Treinamento Realizado,
da seguinte forma - Tabela Funcionários
41Planejamento de Banco de Dados
- Evitar dados redundantes
- Tabela Aula
- Tabela Treinamento