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

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

Upload: lykiet

Post on 06-Nov-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução a Banco de Conceitos Básicos de Banco de Dados ...cnunes/ferramentas/Aulas/BD-Access.pdf · dos dados armazenados no banco de dados Exemplos: Microsoft Access, Oracle,

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.

Page 2: Introdução a Banco de Conceitos Básicos de Banco de Dados ...cnunes/ferramentas/Aulas/BD-Access.pdf · dos dados armazenados no banco de dados Exemplos: Microsoft Access, Oracle,

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

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

Page 3: Introdução a Banco de Conceitos Básicos de Banco de Dados ...cnunes/ferramentas/Aulas/BD-Access.pdf · dos dados armazenados no banco de dados Exemplos: Microsoft Access, Oracle,

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.

Page 4: Introdução a Banco de Conceitos Básicos de Banco de Dados ...cnunes/ferramentas/Aulas/BD-Access.pdf · dos dados armazenados no banco de dados Exemplos: Microsoft Access, Oracle,

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

Page 5: Introdução a Banco de Conceitos Básicos de Banco de Dados ...cnunes/ferramentas/Aulas/BD-Access.pdf · dos dados armazenados no banco de dados Exemplos: Microsoft Access, Oracle,

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

Page 6: Introdução a Banco de Conceitos Básicos de Banco de Dados ...cnunes/ferramentas/Aulas/BD-Access.pdf · dos dados armazenados no banco de dados Exemplos: Microsoft Access, Oracle,

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

Page 7: Introdução a Banco de Conceitos Básicos de Banco de Dados ...cnunes/ferramentas/Aulas/BD-Access.pdf · dos dados armazenados no banco de dados Exemplos: Microsoft Access, Oracle,

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

Page 8: Introdução a Banco de Conceitos Básicos de Banco de Dados ...cnunes/ferramentas/Aulas/BD-Access.pdf · dos dados armazenados no banco de dados Exemplos: Microsoft Access, Oracle,

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