clique para adicionar texto introdução a banco de dados e access [email protected]...

45
Introdução a Banco de Dados e Access [email protected] do no material das professoras Miriam Sayão, Adriana Beiler e Elisa

Upload: carlos-eduardo-carlos-azeredo

Post on 07-Apr-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Introdução a Banco de Dados e Access

[email protected]

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

Page 2: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

1.1. Conceitos Básicos de Banco de Conceitos Básicos de Banco de DadosDados

2. Microsoft Access

3. Modelo Entidade-Relacionamento

4. Planejamento de Banco de Dados

Roteiro

Page 3: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 4: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 5: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Conceitos Básicos de Banco de Dados

Nome Endereço Telefone CIC RGAna 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

: : : : :

Campo

RegistroArquivo

FichaNome: ____Endereço: _____Telefone: ______CIC: ______RG: _______

Registro

Campos

Page 6: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Conceitos Básicos de Banco de Dados

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.

Page 7: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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 ...

Page 8: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 9: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 10: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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.

Page 11: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

1. Conceitos Básicos de Banco de Dados

2.2. Microsoft AccessMicrosoft Access3. Modelo Entidade-Relacionamento

4. Planejamento de Banco de Dados

Roteiro

Page 12: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 13: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 14: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 15: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Microsoft Access

Arquivos possuem extensão MDB. Possui assistentes que facilitam a criação

dos bancos de dados.

Page 16: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Microsoft Access

Page 17: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Microsoft Access

Page 18: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Microsoft Access

Page 19: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

1. Conceitos Básicos de Banco de Dados

2. Microsoft Access

3.3. Modelo Entidade-RelacionamentoModelo Entidade-Relacionamento4. Planejamento de Banco de Dados

Roteiro

Page 20: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 21: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Modelo Entidade-Relacionamento

SGBD Relacional Exemplo de dados organizados na forma de

tabelas:

CodTipoProd DescrTipoProd1 Computador

2 Impressora

CodProd DescrProd PrecoProd CodTipoProd1 PC desktop modelo x 2500 1

2 PC notebook ABC 3500 1

3 Impressora jato de tinta 600 2

4 Impressora laser 800 2

Tipo de Produto

Produto

Page 22: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Modelo Entidade-Relacionamento

Arquitetura de um banco de dados relacional Entidades Atributos (coluna) Relacionamentos Restrições sobre relacionamentos

Page 23: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 24: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 25: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Relacionamentos Fato ou acontecimento que liga dois objetos do

mundo real (ou duas entidades do modelo) Representação:

nome

Modelo Entidade-Relacionamento

Page 26: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

LivroCliente Compra

Modelo Entidade-Relacionamento

Professor ministra Disciplinas

Curso possui

Page 27: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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)

Cliente Compra Item1 N

Professor ministra DisciplinaM N

Modelo Entidade-Relacionamento

Page 28: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Exemplo 1:

• um Aluguel pertence a no máximo um Cliente

• um Cliente pode ter mais de um aluguel

1N

Aluguel pertence Cliente

• um Fornecedor fornece vários Produtos

• um Produto pode ser fornecido vários Fornecedores

MN

Fornecedor fornece Produto

Exemplo 2:

Modelo Entidade-Relacionamento

Page 29: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 30: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 31: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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:

NumCliente Nome Endereço1 Fulano Rua x

2 Beltrao Avenida y

NumPedido NumCliente Quantidade Valor1 2 5 R$ 25,00

2 1 3 R$ 15,00

3 2 2 R$ 10,00

Chave primáriaChave primária Chave estrangeira

Page 32: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

1. Conceitos Básicos de Banco de Dados

2. Microsoft Access

3. Modelo Entidade-Relacionamento

4.4. Planejamento de Banco de DadosPlanejamento de Banco de Dados

Roteiro

Page 33: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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á.

Page 34: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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.

Page 35: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 36: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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).

Page 37: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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.

Page 38: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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.

Page 39: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 40: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Planejamento de Banco de Dados

Evitar informações repetidas Exemplo com uma tabela:

Nome Endereço Telefone Data do Pedido

Total do Pedido

Bombeiros ABC

Av. Dr. Alberto Seavre, 620

(011)3021-8542 10/02/2001 R$ 155,90

Bombeiros ABC

Av. Dr. Alberto Seavre, 620

(011)3021-8542 12/02/2001 R$ 230,90

Bombeiros ABC

Av. Dr. Alberto Seavre, 620

(011)3021-8542 20/02/2001 R$ 35,98

Drogaria Jacó Rua dos Amantes, 465/980

9978-7766 10/12/2000 R$ 34,90

Drogaria Jacó Rua dos Amantes, 465/980

9978-7766 10/02/2000 R$ 145,98

Pizza do Mile Rua Leste, 108 234-9922 20/02/2001 R$ 789,00

Page 41: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Planejamento de Banco de Dados Exemplo após normalizar:

Tabela de Clientes Tabela de Pedidos

Código do Cliente

Nome Endereço Telefone

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

Page 42: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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 Funcionário

Endereço Telefone Data de Treinamento

Aula Realizada

Horas de Crédito

Passou

Filipe Soares R. 16, 221 234-9888 01/01/2000 Liderança 3 Sim Betina Romão R. da Ponte,

40 345-9099 03/10/1999 Atendimento

ao cliente 2 Sim

Nelson Gomes Estr. Oeste, 40

233-9888 10/11/2000 Atendimento ao cliente

2 Sim

Marta Donato R. Guerra, 720

234-2322 10/10/2000 Discurso Público

9 Não

Page 43: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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.

Page 44: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

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

Page 45: Clique para adicionar texto Introdução a Banco de Dados e Access Jeane.claretiano@gmail.com Baseado no material das professoras Miriam Sayão, Adriana Beiler

Planejamento de Banco de Dados

Evitar dados redundantes Tabela Aula

Tabela Treinamento

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

Código do Funcionário

Data Aula Passou?

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