introdução a banco de conceitos básicos de banco de dados...

Post on 06-Nov-2018

225 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

2. Microsoft Access

3. Modelo Entidade-Relacionamento

4. Planejamento de Banco de Dados

Roteiro

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

:::::

873260269028.480/8223.66.51Ipiranga 67Maria Santos

456546568454.567/8353.46.54Siqueira 34João Neto

271646252345.565/9332.56.35Andradas 34Ana Silva

RGCICTelefoneEndereçoNome

Campo

RegistroArquivo

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

Registro

Campos

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ãoEnd: ____Fone: ____Válido: V

Nome: MariaEnd: ____Fone: ____Válido: V

Nome: JoséEnd: ____Fone: ____Válido: V

Nome: AnaEnd: ____Fone: ____Válido: V

Nome: PauloEnd: ____Fone: ____Válido: V

Todos os registros possuem o mesmo tamanho e são armazenados seqüencialmente na memória

EOF

Conceitos Básicos de Banco de Dados

� Arquivo seqüencial� Pesquisa seqüencial

Nome: JoãoEnd: ____Fone: ____Válido: V

Nome: MariaEnd: ____Fone: ____Válido: V

Nome: JoséEnd: ____Fone: ____Válido: V

Nome: AnaEnd: ____Fone: ____Válido: V

Nome: PauloEnd: ____Fone: ____Válido: V

Nome: RitaEnd: ____Fone: ____Válido: V

EOF

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:

Nome: JoãoEnd: ____Fone: ____Válido: V

Nome: MariaEnd: ____Fone: ____Válido: F

Nome: JoséEnd: ____Fone: ____Válido: V

Nome: AnaEnd: ____Fone: ____Válido: V

Nome: PauloEnd: ____Fone: ____Válido: V

Nome: RitaEnd: ____Fone: ____Válido: V

E100 E101 E102 E103 E104 E105

Arquivo de Dados

Arquivo de Índice

EOF

Chave: AnaPosição: E103

Chave: JoãoPosição: E100

Chave: JoséPosição: E102

Chave: MariaPosição: E101

Chave: PauloPosição: E104

Chave: RitaPosição: E105

EOF

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

������������� �������������� �� � ��

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.

1. Conceitos Básicos de Banco de Dados

2.2. Microsoft AccessMicrosoft Access3. Modelo Entidade-Relacionamento

4. Planejamento de Banco de Dados

Roteiro

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

1. Conceitos Básicos de Banco de Dados

2. Microsoft Access

3.3. Modelo EntidadeModelo Entidade--RelacionamentoRelacionamento4. Planejamento de Banco de Dados

Roteiro

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:

Impressora2

Computador1

DescrTipoProdCodTipoProd

2800Impressora laser4

2600Impressora jato de tinta3

13500PC notebook ABC2

12500PC desktop modelo x1

CodTipoProdPrecoProdDescrProdCodProd

Tipo de Produto

Produto

Modelo Entidade-Relacionamento

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

� 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

LivroCliente Compra

Modelo Entidade-Relacionamento

Professor ministra Disciplinas

Curso possui

� 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

Exemplo 1:

• um Aluguel pertence a no máximo um Cliente

• um Cliente pode ter mais de um aluguel

1

NAluguel pertence Cliente

• um Fornecedor fornece vários Produtos

• um Produto pode ser fornecido vários Fornecedores

M

NFornecedor fornece Produto

Exemplo 2:

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

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:

Avenida y

Rua x

Endereço

Beltrao2

Fulano1

NomeNumCliente

R$ 10,00223

R$ 15,00312

R$ 25,00521

ValorQuantidadeNumClienteNumPedidoChave primária

Chave primária Chave estrangeira

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

����� � ���!��� "�#�$����� %���� ��&� ��

"���#� ��&� ��

���'�����(�)�

(*��%���(#'�����+��*��,���-�

.-��/�-��0����� �-�-���--�� 12����,3-�

���'�����(�)�

(*��%���(#'�����+��*��,���-�

.-��/�-��0����� ���-���--�� 12���-,3-�

���'�����(�)�

(*��%���(#'�����+��*��,���-�

.-��/�-��0����� �-�-���--�� 12���,3��

%�������4��5� 16�� ���(������,�����3�-�

33��0����� �-�����---� 12���,3-�

%�������4��5� 16�� ���(������,�����3�-�

33��0����� �-�-���---� 12����,3��

&77�� ��8#�� 16��9����,��-�� ���033��� �-�-���--�� 12���3,--�

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

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:

����� ��:6����;���

� ���!�� "�#�$���� %���� ��"����������

(6#��1��#7� ��

<����� ��)�= ���

&����6�

:#���+������ 1����,����� ���03���� -��-���---� 9 ����!�� �� +��������1��>�� 1�� �� &����,�

�-����03-33� -���-��333� (��� ������

����#������� +��

��#����?����� ����� @����,��-�

���03���� �-�����---� (��� �����������#�����

�� +��

8�����%������ 1�� ?6����,���-�

���0����� �-��-��---� %��6����&A'#���

3� �>��

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

� 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

top related