Você está na página 1de 48

Introdução a Banco de

Dados e Access

Isabel Harb Manssour

Porto Alegre, maio de 2007

Baseado no material das professoras Miriam Sayão, Adriana Beiler e Elisa Boff
Roteiro

1. Conceitos Básicos de Banco de


Dados
2. Microsoft Access
3. Modelo Entidade-Relacionamento
4. Planejamento de Banco de Dados
Conceitos 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
Conceitos 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
Conceitos Básicos de Banco de Dados

Ficha Registro
Nome: ____
Endereço: _____
Telefone: ______ Campos
CIC: ______
RG: _______

Campo

Nome Endereço Telefone CIC RG


Registro
Ana Silva Andradas 34 332.56.35 345.565/9 271646252
Arquivo
João Neto Siqueira 34 353.46.54 454.567/8 456546568
Maria Santos Ipiranga 67 223.66.51 028.480/8 873260269
: : : : :
Conceitos 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.
Conceitos Básicos de Banco de Dados

 Arquivo seqüencial
 Exemplo:
Nome: João Nome: Maria Nome: José Nome: Ana Nome: Paulo
E
End: ____ End: ____ End: ____ End: ____ End: ____
Fone: ____ Fone: ____ Fone: ____ Fone: ____ Fone: ____
O
Válido: V Válido: V Válido: V Válido: V Válido: V F

Todos os registros possuem o mesmo tamanho e são


armazenados seqüencialmente na memória
Conceitos Básicos de Banco de Dados

 Arquivo seqüencial
 Pesquisa seqüencial
Nome: João Nome: Maria Nome: José Nome: Ana Nome: Paulo Nome: Rita
E
End: ____ End: ____ End: ____ End: ____ End: ____ End: ____
Fone: ____ Fone: ____ Fone: ____ Fone: ____ Fone: ____ Fone: ____
O
Válido: V Válido: V Válido: V Válido: V Válido: V Válido: V F
Conceitos 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:
E100 E101 E102 E103 E104 E105
Nome: João Nome: Maria Nome: José Nome: Ana Nome: Paulo Nome: Rita
E
End: ____ End: ____ End: ____ End: ____ End: ____ End: ____
O
Fone: ____ Fone: ____ Fone: ____ Fone: ____ Fone: ____ Fone: ____
F
Válido: V Válido: F Válido: V Válido: V Válido: V Válido: V
Arquivo de Dados

E
Chave: Ana Chave: João Chave: José Chave: Maria Chave: Paulo Chave: Rita
O
Posição: E103 Posição: E100 Posição: E102 Posição: E101 Posição: E104 Posição: E105
F
Arquivo de Índice
Conceitos 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
 ...
Conceitos 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
Conceitos 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
Conceitos 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.
Roteiro

1. Conceitos Básicos de Banco de Dados


2. Microsoft Access
3. Modelo Entidade-Relacionamento
4. Planejamento de Banco de Dados
Microsoft 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
Microsoft 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
Microsoft Access

 Trabalha com os seguintes objetos:


 Macro
 Executa automaticamente uma tarefa ou uma série
de tarefas
 Tarefa=açã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
Microsoft Access

 Arquivos possuem extensão MDB.


 Possui assistentes que facilitam a criação
dos bancos de dados.
Microsoft Access
Microsoft Access
Microsoft Access
Roteiro

1. Conceitos Básicos de Banco de Dados


2. Microsoft Access
3. Modelo Entidade-Relacionamento
4. Planejamento de Banco de Dados
Modelo Entidade-Relacionamento

 Banco de Dados Relacional


 Segue o Modelo Relacional
 Define maneiras de armazenar, manipular e
recuperar dados estruturados unicamente na
forma de tabelas
Modelo 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
Modelo Entidade-Relacionamento

 Arquitetura de um banco de dados relacional


 Entidades
 Atributos (coluna)
 Relacionamentos
 Restrições sobre relacionamentos
Modelo Entidade-Relacionamento

 Entidades
 Representam pessoas ou objetos que existem
no mundo real, e sobre os quais queremos
guardar informações
 Exemplos: funcionário, obra, máquina, aluno
 Representação:
nome da entidade
Modelo Entidade-Relacionamento

 Atributos
 Representam características ou informações
das entidades ou dos relacionamentos
 Exemplos para entidades:
 Funcionário: nome, matrícula, data de admissão,
número da carteira profissional
 Obra: responsável, data de início, custo previsto
 Máquina: material, tipo, responsável, custo
 Aluno: nome, matrícula, curso, situação
Modelo Entidade-Relacionamento

 Relacionamentos
 Fato ou acontecimento que liga dois objetos do
mundo real (ou duas entidades do modelo)
 Representação:

nome
Modelo Entidade-Relacionamento

 Diagrama de Entidade-Relacionamento (DER)


 Utilizado para:
 Interagir com o usuário
 Definir depósitos permanentes de dados
 Focalizar relacionamentos entre entidades, tabelas ou
arquivos

Cliente Compra Livro Curso possui

Professor ministra Disciplinas


Modelo Entidade-Relacionamento

 Cardinalidade: é o número de objetos de cada tipo


que participa no relacionamento
 Pode ser.
 1:1 (um para um); 1:N (um para muitos);
N:1 (muitos para um); M:N (muitos para muitos)

1 N
Cliente Compra Item

M N
Professor ministra Disciplina
Modelo Entidade-Relacionamento
Exemplo 1:
N
Aluguel pertence Cliente
1

• um Aluguel pertence a no máximo um Cliente

• um Cliente pode ter mais de um aluguel

Exemplo 2:
N
Fornecedor fornece Produto
M

• um Fornecedor fornece vários Produtos

• um Produto pode ser fornecido vários Fornecedores


Modelo 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
Modelo 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
Modelo 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
NumCliente Nome Endereço 1 2 5 R$ 25,00
1 Fulano Rua x 2 1 3 R$ 15,00
2 Beltrao Avenida y 3 2 2 R$ 10,00
Roteiro

1. Conceitos Básicos de Banco de Dados


2. Microsoft Access
3. Modelo Entidade-Relacionamento
4. Planejamento de Banco de Dados
Planejamento 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á.
Planejamento 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.
Planejamento 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
Planejamento 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).
Planejamento 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.
Planejamento 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.
Planejamento 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
Planejamento de Banco de Dados

 Evitar informações repetidas


 Exemplo com uma tabela:
Nome Endereço Telefone Data do Total do Pedido
Pedido
Bombeiros Av. Dr. Alberto (011)3021-8542 10/02/2001 R$ 155,90
ABC Seavre, 620
Bombeiros Av. Dr. Alberto (011)3021-8542 12/02/2001 R$ 230,90
ABC Seavre, 620
Bombeiros Av. Dr. Alberto (011)3021-8542 20/02/2001 R$ 35,98
ABC Seavre, 620
Drogaria Jacó Rua dos Amantes, 9978-7766 10/12/2000 R$ 34,90
465/980
Drogaria Jacó Rua dos Amantes, 9978-7766 10/02/2000 R$ 145,98
465/980
Pizza do Mile Rua Leste, 108 234-9922 20/02/2001 R$ 789,00
Planejamento de Banco de Dados
 Exemplo após normalizar:
 Tabela de Clientes
 Tabela de Pedidos
Código do Nome Endereço Telefone
Cliente
1 Bombeiros ABC Av. Dr. Alberto Seavre, 620 (011)3021-8542
2 Drogaria Jacó Rua dos Amantes, 465/980 9978-7766
3 Pizza do Mile Rua Leste, 108 234-9922
Código do Cliente Data do Pedido Total do Pedido
1 10/02/2001 R$ 155,90
1 12/02/2001 R$ 230,90
1 20/02/2001 R$ 35,98
2 10/12/2000 R$ 34,90
2 10/02/2000 R$ 145,98
3 20/02/2001 R$ 789,00
Planejamento 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:
Nome do Endereço Telefone Data de Aula Horas Passou
Funcionário Treinamento Realizada de
Crédito
Filipe Soares R. 16, 221 234-9888 01/01/2000 Liderança 3 Sim
Betina Romão R. da Ponte, 345-9099 03/10/1999 Atendimento 2 Sim
40 ao cliente
Nelson Gomes Estr. Oeste, 233-9888 10/11/2000 Atendimento 2 Sim
40 ao cliente
Marta Donato R. Guerra, 234-2322 10/10/2000 Discurso 9 Não
720 Público
Planejamento 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.
Planejamento 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

Código Nome do Funcionário Endereço Telefone


1 Filipe Soares R. 16, 221 234-9888
2 Betina Romão R. da Ponte, 40 345-9099
3 Nelson Gomes Estr. Oeste, 40 233-9888
4 Marta Donato R. Guerra, 720 234-2322
Planejamento de Banco de Dados

 Evitar dados redundantes


 Tabela Aula
Código da Aula Aula Créditos
C1 Liderança 3
C2 Atendimento ao cliente 2
C3 Discurso Público 9

 Tabela Treinamento
Código do Data Aula Passou?
Funcionário
1 01/01/2000 C1 Sim
2 03/10/1999 C2 Sim
3 10/11/2000 C2 Sim
4 10/10/2000 C3 Não

Você também pode gostar