Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior...

24
1 1 Informática II Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Informática II – Cap. 5-2 Bases de Dados - MsAccess Filipe Caldeira - 2001 2 Informática II Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Introdução Porquê a utilização de Sistemas de Bases de Dados (SBD)? – Armazenamento dos dados de uma forma consistente ( a informação não deve conter informação divergente sobre o mesmo facto), de fácil acesso usando linguagens de consultas e com mecanismos de segurança para o acesso à informação

Transcript of Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior...

Page 1: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

1

1Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Informática II – Cap. 5-2Bases de Dados - MsAccess

•Filipe Caldeira - 2001

2Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Introdução

Porquê a utilização de Sistemas de Bases de Dados (SBD)?– Armazenamento dos dados de uma forma

consistente ( a informação não deve conter informação divergente sobre o mesmo facto), de fácil acesso usando linguagens de consultas e com mecanismos de segurança para o acesso à informação

Page 2: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

2

3Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Dados vs Informação

• Dados só se transformam em informação quando relacionados ou interpretados de alguma forma.

• As pessoas, ao tomarem decisões, utilizam a informação e não os dados.

• A informação é uma necessidade diária em qualquer acto de gestão e tem um papel fundamental na previsão de actividades e resultados futuros de uma empresa.

4Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Sistemas de Bases de Dados

Funções de um SGBD• Descrição

• Manipulação⇒Consulta⇒Inserção⇒Actualização

• Controlo⇒Confidencialidade⇒Segurança

Base de Dados

SGDB

AplicaçãoA

AplicaçãoB

AplicaçãoC

SGBDSistema de Gestão de Bases de Dados

Page 3: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

3

5Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Funcionalidades de um SGBD

• Conjunto de programas para aceder aos dados

• Evitar redundâncias e inconsistências

• Facilitar o acesso aos dados

• Permitir acesso simultaneo à informação

• Garantir a segurança dos dados

• Garantir integridade da informação, de acordo com restrições pré-definidas

6Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Exemplo

Um banco quer guardar a informação dos seus clientes e das contas.

Para além de guardar a informação, o banco precisa de programas para• Fazer débitos e créditos numa conta

• Abrir e fechar contas

• Ver o saldo de uma conta

• Fazer os estratos das contas

Page 4: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

4

7Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Vantagens

• Facilidade de partilha dos dados

• Diminuição dos custos de utilização e de pesquisa

• Diminuição dos custos de manutenção e de exploração

• Prevenção da redundância e da ambiguidade dos dados

• Consistência na formatação dos dados

• Suporte à criação de múltiplas formas de visualização da informação

8Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

TabelasOs dados estão armazenados em forma de

tabelas nas diferentes bases de dados, comoo ORACLE e o ACCESS.

Para o desenho e a construcção de SBDs são utilizados modelos conceptuais, como o modelo Entidade-Relações

O objectivo principal é o de providenciar um modelo independente do método de armazenamento e acesso de dados.

Page 5: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

5

9Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Modelo Entidade-Relação (ER)Identificação das “coisas” de maior importância

num dado sistema do mundo real: as entidades, as propriedades das entidades (os atributos), e a forma como se relacionam entre si (as relações)

São fácilmente compreendidos pelos não-especialistas

O diagrama ER é o ponto de partida para o desenho da base de dados.

10Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Conceitos do modelo ER (1)Entidades

– Um conjunto de objectos que se podem distinguir(identificar)

– Exemplo:⇒O conjunto de todos os clientes do banco.⇒O conjunto de todas as contas do banco.

Atributos– Propriedades de um entidade

– Exemplos: Nome, telefone e morada dos cliente

Page 6: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

6

11Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Conceitos do modelo ER (2)Relações

• Conjunto de associações entre várias entidades

Cliente Conta

33 193710

22 Maria Lisboa 3847101

11 Manuel Beja 168389

11111 100.000$00

11112 50.000$00

11113 60.000$00

relação

conjunto entidade

entidade

12Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Tipos de relaçõesRelação “um para um” (1:1)

– Uma pessoa só tem um nº de bilhete de identidade.

Relação “um para muitos” (1:N)– Uma turma tem vários alunos, mas um aluno só

pertence a uma turma.

Relação “muitos para muitos” (N:M)– Uma conta bancária pode pertencer a vários clientes

e vice-versa.

Page 7: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

7

13Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Como distinguir entidades?Chaves

– Um ou mais atributos que permitem distinguir entre entidades, i.e permitem identificar (inequivocamente) cada uma das entidadesde um conjunto de entidades.

– Exemplo:• O atributo nº de cliente da entidade clientes.

Nas relações a chave corresponde à união das chaves das entidades associadas à relação

14Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Exemplo de um modelo ER

n º c lien tes

n om e m o rad a te lefon e

con tas

d a ta n º sa ld o

M :N

c lien tes/c on tas

Page 8: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

8

15Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Modelo Relacional /Tabelas

Como implementar o modelo ER? – No modelo relacional em forma de tabelas• Dado um diagrama ER, que tabelas se devem

criar?⇒A cada conjunto entidade, e a cada conjunto

relação, vai corresponder um tabela.• Com que atributos?

16Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Elaborar um modelo de dados

Determinar o alcance (suas fronteiras) da análise

Identificar as entidades

Identificar as relações entre as entidades

Identificar os atributos das entidades e das relações

Identificar a chave de cada entidade

Page 9: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

9

17Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Entidades

Conjunto entidade E com n atributos a1,…,an

– Deve criar-se uma tabelacom n colunas, uma para cada atributo.

nome morada telefone

clientes ...

clientes nome morada telefone

18Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

RelaçõesConjunto relação R

entre entidades E1,…,Em com k atributos adicionaisa1,…,ak.

Então os atributos da relação correspondem às chaves das entidades mais os k atributos adicionaisa1,…,ak.

clientes

nome morada telefone

contas

data saldo

M:N

clientes/contas

clientes/conta nº cliente data

chave(E )1 chave(E )2

atributo(R)

Page 10: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

10

19Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

TabelasClientes número nome morada telefone

141 João Évora 12635142 Maria Lisboa 61623918

Conta número saldo100 200.000$00200 50.000$00300 100.000$00

Conta/Clientes

Númerocliente

NúmeroConta

Data

141 100 21.10.1998142 100 22.10.1998142 200 27.11.1998

20Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Criação de Tabelas em Access•Criar uma Base de Dados nova, em que se irá inserir as tabelas.

–Ficheiro > Nova > Base de Dados -> Dar nome ao ficheiro e especificar a pasta onde ficará

•Criar tabela Criar tabela

Page 11: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

11

21Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Criação de Tabelas em Access•Cria-se uma nova tabela em Vista de Estrutura

•Zonas no ecrã para a construcção de tabelas– Nome do Campo

•Poderão ser 64 caracteres incluindo espaços

– Tipo de Dados•Texto (alfanumérico), Número (dados numéricos que podem ser utilizados para cálculos), Data/Hora, Moeda, Númeração Automática (para as chaves, autoincrementável), Sim/Não (booleana)

–Descrição (Descrição do campo)

–Propriedades do Campo (Geral ou Pesquisa)•Para permitir alterar tamanho dos campos, controlos de verificação, buscas em outras tabelas, etc.

22Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Tabelas

ChaveSe não fôr indicada nenhuma chave primária, então o Access propõe a criação de uma chave.

Nome da tabelagravar comFicheiro > Guardarcomo

Page 12: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

12

23Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Lookup Lists (Listas de Pesquisa) - 1•Automatização a nível da tabela para a selecção de informação de um atributo (coluna)

–Criar tabela auxiliar para armazenar as actividades económicas

24Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Lookup Lists (Listas de Pesquisa) - 2–Regressar à tabela“Clientes” e aceder às propriedades Pesquisado campo “Actvidade Económica” e alterá-las como se mostra ao lado

–Agora não é mais preciso inserir os conteudos destecampo, mas sim seleccioná-los.

Page 13: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

13

25Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Inserção de mais duas tabelas–Tabela auxiliar “Tipos de Cursos”

–Tabela “Cursos Facturados”

26Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Como é feita a inserção com Pesquisa na Tabela

Page 14: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

14

27Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Definir Relações entre as Tabelas–Aceder ao menu “Ferramentas” e seleccionar “Relações” ou botão

Criar ligação–Em mostrar tabela, adicioná-las todas

–Arrastar e largaro rato do campona tabela “um”para o resp. campo na tabela“muitos”

28Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Criar Relações entre Tabelas

Page 15: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

15

29Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Tabelas Criadas

30Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Estruturação de bases de dados Access

•Determinar as tabelas necessárias à base de dados

•Determinar os atributos de cada tabela

•Determinar os atributos com valores exclusivos, i.e., os atributos chaves

•Determinar as relações entre as tabelas

•Aperfeiçoar a estrutura

•Adicionar os dados

Page 16: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

16

31Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Consultas•Não basta armazenar os dados.

−Há que, pelo menos, poder consultar os dados armazenados.

•O que são consultas?−Analisar a informação nas tabelas para obter um conjunto filtrado de informação

·Que tipo de consultas existem?−Selecção, Projecção, Junção, ...

32Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Consultas assistidas em Access•Consultas mais usadas

–seleccionar um conjunto de campos de uma ou várias tabelas (projecção)

–criar condições que permitam filtrar um conjunto de registos (selecção)

–operações estatísticas sobre os registos

Page 17: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

17

33Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Consulta de SelecçãoSeleccionar Consultas > Criar consulta na vista de estrutura

Seleccionar quais as tabelas necessárias à consulta pretendida

34Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Selecção de CamposArrastar os campos pretendidos para as colunas da consulta p/ a zona (QBE)

Zona Query-by-Example (QBE) onde são especificadas características específicas da consulta

Page 18: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

18

35Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Executar Consulta–Activar a consulta seleccionando no menu Consulta > Executar ou através do botão

36Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Assistente de Consulta

Page 19: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

19

37Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Consultas com Condição Simples•Exemplo:

–Seleccionar as empresas com actividades em Informática

Indicar critério

Resultado

38Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Consultas com Condição Múltipla•Exemplo:

–Seleccionar as empresas com actividades em Indústria ou estejam em Cascais

–Utilizar o LIKE para a selecção de substrings

Page 20: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

20

39Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Consultas entre Tabelas

–Obter um conjunto de registos constituídos por dados provenientes de várias tabelas, havendo a necessidade de relacioná-las.

–A relação tem por base um campo comum(p.e. o Nº de Cliente)

40Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Exemplo: Junção das Tabelas Clientes e Cursos Facturados

Page 21: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

21

41Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Consultas com Campos Calculados–Calcular “Total Curso”, ou seja multiplicar o “Nº de Participantes” e o “Custo por Participante”

•Ao criar uma Query seleccionar ambas as tabelas “Clientes” e Cursos Facturados”

•Seleccionar os registos (veja em baixo)

•Inserir no campo Total Curso: [Nº de participantes] * [Custo por Participante]

42Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Operações EstatísticasSeleccionar ΣΣΣΣ para agrupar– Como, por exemplo, o

somatório ou a média– Exemplo:

• Total gasto por cada cliente em cursos

Total Curso: Soma([Nº de participantes]*[Custo por Participante])

• Agrupar pela empresa (Group By)

Page 22: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

22

43Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Consultas em SQL

•Linguagem comercial padrão para consultas no modelo relacional

•As consultas em SQL são feitas sempre segundo um esquema

Uma pergunta típica em SQL tem a forma

select A1, A2, ... , Am

from E1, E2, ... , En

where condition

atributos

Entidades (tabelas)

44Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Selecção•selecção de tuplos, ou linhas, com as seguintes condições {====, ≠≠≠≠, <<<<, ≤≤≤≤, >>>>, ≥≥≥≥}

•Exemplo:

select *from Clienteswhere Nº de Clientes > 2

Page 23: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

23

45Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Projecção•selecção de colunas

•Exemplo:

select Clientes.Empresafrom Clientes

46Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Junção•De mais de uma tabela, por exemplo as tabelas “Clientes” e “Cursos Facturados”

select Clientes.Nº de Cliente, Clientes.Empresa, Cursos Facturados.Designação

from Clientes, Cursos Facturados where Designação = “Access 2000”

Page 24: Informática II – Cap. 5-2 Bases de Dados - MsAccess...Informática II Instituto Superior Politécnico de VISEU Escola Superior de Tecnologia Entidades Conjunto entidadeE com n atributos

24

47Informática IIInformática II

Instituto Superior Politécnico de VISEUEscola Superior de Tecnologia

Mais ExemplosNº de Cliente, Empresa em Lisboa

Total do Curso agrupado pelas empresas

select Nº de Cliente, Empresafrom Clienteswhere Morada like “Access 2000”

select c.Empresa, cf.”Nº de participantes”, “Nº de participantes” * “Custo por Participante”

from Clientes c, Cursos Facturados cfgroup by c.Empresa