39351532 introducao a uma base de dados

71
1 Introdução às bases de dados O que são? Que utilidade têm?

Upload: valdenilsoncosta

Post on 08-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 1/70

1

Introdução às bases de dados

O que são? Que utilidade têm?

Page 2: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 2/70

2

U

ma definição de base de dados Uma base de dados é uma colecção de dados

relacionados entre si que pode ser estruturada de

várias formas, de modo a corresponder às

necessidades de processamento e consulta dos

seus utilizadores. 

De uma forma simples podemos definir uma base dedados como sendo uma colecção de dados, como por

exemplo os endereços de alunos, a informação doinventário de uma escola, as referências dos livros deuma biblioteca, etc.

Page 3: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 3/70

3

E

xemplo: agenda telefónica

Nome

Morada Telefone fixo Telefone móvel Data de

nascimento Foto

Page 4: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 4/70

4

Outro exemplo: colecção de CD

áudio Título Intérprete

Tipo de música Data de aquisição Modo de aquisição Faixas

N.º da faixa Título Duração

Um aspecto importante: cada CDtem apenas um título, mas váriasfaixas. Isto vai ser muito importantequando, daqui a pouco, começares a

conceber as tuas bases de dados. 

Page 5: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 5/70

Page 6: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 6/70

6

Que operações se podem efectuar sobre

os dados?Exemplo da agenda telefónica: Inserções ± para quando queres guardar os dados de um novoamigo;

Consultas ± através de perguntas como ³Qual é o número detelefone da Luísa?´ ou ³Em que dia e mês faz anos o Diogo?´;

Alterações ± necessárias, por exemplo, quando alguém mudade casa;

Eliminações ± para quando queres eliminar alguém da lista(por razões que só a ti dizem respeito, claro!)

Page 7: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 7/70

7

Ficheiros de uma base de dados são constituídos por um conjunto de

registos, estruturados em campos

Ex: conjunto de fichas em que cada fichacorresponde a um registo de uma entidade(pessoa, organização, produto) e cadaregisto contém um determinado conjuntode informação ± campos (ex: morada,telefone, tipo)

Page 8: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 8/70

8

O que é um SGBD

?Um conjunto de programas que permitem ao utilizadorexecutar operações como inserções, eliminações,

consultas e alterações sobre o conteúdo dos ficheirosde dados, além de permitir controlar a integridade e asegurança desses dados, é um Sistema de Gestão de

Bases de Dados. 

Page 9: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 9/70

Page 10: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 10/70

10

Modelos de bases de dados No Excel uma base de dados consiste

numa tabela- as linhas correspondem aos registos

- as colunas correspondem aos campos

O Excel só pode manipular bases de dadosdo tipo monotabela (a informação assumea forma de uma simples tabela)

Os sistemas de bases de dadosmonotabela são bastante limitativos

Page 11: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 11/70

11

E

xemplouma empresa que comercializa um conjunto de artigos pretendecriar uma base de dados para registar esses artigos, bem como asencomendas efectuadas pelos seus clientes, em relação aos quaisse pretende ter registados os dados habituais (nome, endereço,

telefone, etc)

Cliente Endereço Telef/fax Produto Modelo Preço Data_enc Quant

Silva Lisboa 665544 Alicate A1 400 04/05/05 400

Santos porto 554466 Martelo M1 250 04/05/05 200

Costa Lisboa33

5566 Alicate A1 400 04/05/05 150

Silva Lisboa 665544 Tesoura T1 150 05/06/05 220

Para registar numa única tabela as encomendas dos clientes teríamos que tervárias linhas para o mesmo cliente

Page 12: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 12/70

Page 13: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 13/70

Mono tabelaMonotabela

Cliente Endereço Telef/fax Produto Modelo

repete Silva Lisboa 665544 Alicate A1Santos porto 554466 Martelo M1Costa Lisboa 335566 Alicate A1

repete Silva Lisboa 665544 Tesoura T1

Nesta tabela os dados dos clientes repetem-se (cliente,endereço e telef  /fax)

Page 14: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 14/70

Page 15: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 15/70

15

Bases de dados monotabela Base de dados sobre CD áudio.

Título Intérprete Datade

aquisição

Modode

aquisição

Númeroda

faixa

Títuloda faixa

Duraçãoda faixa

20 anosdepois

Rui Veloso Setembro de 2000 Prenda de aniversário 1 Chico Fininho 2:31

20 anosdepois

Rui Veloso Setembro de 2000 Prenda de aniversário 2 Sei de umacamponesa

3:07

20 anosdepois

Rui Veloso Setembro de 2000 Prenda de aniversário 3 Um café e umbagaço

3:34

20 anos

depois

Rui Veloso Setembro de 2000 Prenda de aniversário 4 Estrela do rock¶n¶roll 4:16

« « « « « « «

Page 16: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 16/70

16

Bases de dados monotabela Composta por uma única tabela.  Cada coluna possui uma designação que a identifica (³Título´,

 ³Intérprete´, etc).

Cada tabela tem ³N´ linhas.

Mas, para vários CD, fica muitogrande! E com dados repetidosdesnecessariamente! Apetece-me

espremê-la!

De facto, este modelo possui vários problemas, tais como:

Page 17: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 17/70

17

Redundância de dados

A redundância dos dados (excesso)

Título do CD e o nome do intérprete são

repetidos sem necessidade;

Page 18: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 18/70

18

D

ificuldades na manutenção

Dificuldade na sua manutenção

Qualquer alteração a um dado repetido teria

de ser feita em todas as ocorrências do dado.

Page 19: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 19/70

19

Integridade dos dados Dificuldade na manutenção da

integridade Basta um engano na alteração de um dado

para comprometer a integridade desse

mesmo dado.

Page 20: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 20/70

20

Monotabelas Solução?

Númeroda

Faixa

Títuloda faixa

Duraçãoda faixa

1 Chico Fininho 2:31

2 Sei de uma camponesa 3:07

3 Um café e um bagaço 3:34

4 Estrela do rock¶n¶roll 4:16

1 Love me tender 3:12

12 New York 4:16

Dividir a tabela em várias e relacioná-las

Título Intérprete Datade

aquisição

Modode

aquisição

20 anosdepois Rui Veloso Setembro de 2000 Prenda deaniversário

Memphis Elvis Presley Agosto de 1995 Compra Internet

Best Of FrankSinatra

Setembro de 2005 Prenda de Natal

Page 21: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 21/70

21

No exemplo da empresa 3 tabelas

- para registar a informação do cliente

- para registar a informação dos artigos- para registar as encomendas

Page 22: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 22/70

22

Tabela clientes

Cod-cliente nomecliente endereço Telef/fax

Tabela produtos

Cod_produto Produto Modelo Preço

Tabela Encomendas

Cod_cliente Cod_produto Data_enc Quant

Neste caso a tabela encomendas reflecte um relacionamentoexistente entre as outras duas entidades (clientes e produtos)

Page 23: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 23/70

23

Tabelas No modelo relacional utilizam-se tabelas para guardar os

dados.

Cada linha contendo dados tem o nome de registo.

A cada coluna é dado o nome de campo. 

Título IntérpreteData de

aquisiçãoModo deaquisição

20Anos

DepoisRui Veloso 8-9-2000

Prenda de

aniversário

Registo

Campo

Page 24: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 24/70

24

Bases de dados relacionais

Quando as relações são causas dealgumas ralações...

Page 25: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 25/70

25

Como são? As bases de dados relacionais são constituídas por uma ou

mais tabelas relacionadas entre si.

Mas que tabelas? Relacionadas

como? Não estou a perceber nada!

Page 26: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 26/70

26

Três passosPara construir uma base de dados podemos seguir três passos:

1. Definir o objectivo da base de dados ± é para guardar o quê?

2. Definir o conteúdo da base de dados através de um diagrama E-R 

3. Obter as tabelas da base de dados relacional. Ou seja, um

conjunto de tabelas relacionadas entre si através de campos comuns.

Turmas

Código de turma Ano da turma

Turmas e professores

Código da turmaCódigo do professor 

Professores

Código de professor Nome do professor 

Page 27: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 27/70

Page 28: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 28/70

28

E

ntidades e atributos (1 /5

)Para conceber uma base de dados, é necessário começar por

pensar:

Qual é o tema da base de dados?

Que dados vai conter?

Page 29: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 29/70

29

E

ntidades e atributos (2 /5

) Antes de pensar em tabelas é necessário desenhar em termos

lógicos a BD. Para isso é preciso introduzir os conceitos de

entidade e de atributo. 

Uma entidade é algo (objectos, pessoas,

acontecimentos) sobre o qual queremos guardar dados que

lhes dizem respeito, dados esses que são classificados por

atributos.

Exemplos?

Page 30: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 30/70

30

E

ntidades e atributosA entidade Pode ter como atributos

Aluno o seu número

o seu nome

a sua morada

o seu telefone

a sua idade

Turma o seu código

a sua descrição

o seu ano

Sócio de umclube

o número de sócio

o seu nome

a sua morada

o seu número de BI

A entidade Pode ter como atributos

DVD o seu número

o seu título

a data da gravação

uma descrição do seuconteúdo

Automóvel a sua matrícula

a sua marca

o seu modelo

o n.º do livrete

Avaria noautomóvel

matrícula do automóvel

descrição da avaria

data da entrada na oficina

Page 31: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 31/70

31

E

ntidades e atributosPor vezes, alguns atributos

podem ou devem ser

decompostos noutros

atributos que já não podemser mais divididos,

denominados atributos

atómicos. 

O atributoinicial

é decomposto nos atributosatómicos

Morada Rua

Nº da porta

Código postal

Localidade

Código postal Código

Localidade

Nome Nomes próprios

Apelido

Data Ano

Mês

Dia

Exemplos?

Page 32: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 32/70

32

Exercício

Indique o nome de 3 entidades eseus atributos (cinco pelo menos).

Preencha com 15 registos uma dastabelas Guarde o seu trabalho ficheiro xls

com o nome entidades e atributos

Page 33: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 33/70

33

Entidades e atributos (5/5)

Exemplos:

Classificação de final de período a uma disciplina ±

0 a 20 (número)

Data de Nascimento ± 01 /01 /1970 (data)

Idade ± 0 a 110 (número)

Telefone ± 2?? ??? ??? (texto)

Ao conjunto de valores que um atributo pode tomar dá-seo nome de domínio. 

Page 34: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 34/70

Page 35: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 35/70

35

Relações entre entidadesEntre as entidades de uma base de dados tem de haver relações. 

Entre as entidades aluno e turma existe uma relação: a turma possui

alunos;

Entre as entidades sócio do clube de vídeo e DVD existe uma relação:sócios requisitam DVD;

Entre as entidades filme e actores existe uma relação: os f ilmes são

interpretados por actores;

Entre as entidades automóvel e avaria existe uma relação: automóveis

têm avarias;

Entre as entidades C D áudio e f aixa existe uma relação: C D áudio são

compostos por f aixas

Page 36: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 36/70

36

Diagramas E-R (Entidade-Relação)

Para isso, terás que saber como de concebe um diagrama E-R , ou seja, um

esquema que mostra as entidades e as relações entre elas. 

CD

são interpretados

por 

são compostos

por 

Intérpretes Faixas

Título

Intérprete

tipo de

música

ano de

ediçãomodo de

aquisição

data de

aquisição

notas

Nome

Data de

nascimentoFoto

País

NotasTítulo

Duração

Númerode faixaCidade

Número de

CD

Número deintérprete

Númerode faixa

Atributochave

Page 37: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 37/70

37

Diagramas E-R (Entidade-Relação)

Entidade Relação Atributo

Para conceber um diagrama destes, basta pensar quais são:

- as entidades

- as relações que existem entre elas

- os atributos de cada entidade

- qual é a chave de cada entidade (o que identifica a entidade inequivocamente)

e representar esses objectos graficamente através da forma

devida:

(Sem dúvidas)

Page 38: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 38/70

38

Exercício

Para as entidades livro e utilizador_da_biblioteca

Restaurante e cliente

Filme e realizador

defina os respectivos atributos, a chave e crie umdiagrama do tipo E-R 

Grave num .DOC com o nome diagrama E-R

Page 39: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 39/70

39

Entidades e tabelas E porque temos falado tanto de relações, em que medida se

relacionam as entidades e os atributos com as tabelas e os

campos?

Eu sabia que isto estava

tudo relacionado! Sóainda continuo semperceber como...

Pois bem, se identificares bem entidades, as relações entre elas e os seus

atributos, será depois muito fácil obter as tabelas e os campos que vão

compor a base de dados. 

Page 40: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 40/70

40

Entidade = Tabela Atributos = Campos Elementos da Entidade =  Registos

(cada linha da tabela)

Os campos de uma entidade devem servalores elementares e não conjuntosde valores

Page 41: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 41/70

41

Campos-chave (1 /9)

Uma das regras da constituição de tabelas no modelo

relacional, determina que cada registo deve ser único.

Como identificar, um registo de uma tabela?

O modelo relacional utiliza um mecanismo de chaves. 

As chaves não são mais do que um ou vários

campos da tabela.

Page 42: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 42/70

42

Campos-chave (2 /9)

Todos os campos, que não possuem

valores repetidos nem nulos, e

identificam um registo de forma

unívoca, tomam o nome de chave

primária. 

Page 43: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 43/70

43

Campos-chave (3 /9)

Regras para ser chave primária:

Não ter valores nulos;

Não existir repetição de valores;

Page 44: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 44/70

44

Campos-chave (4/9)

Qual a chave primária?

CD

Título Intérprete Data de aquisição Modo de aquisição

Best Of Brian Adams Julho 1995 Prenda de Natal

20 anos depois Rui Veloso Setembro de 2000 Prenda de aniversário

Memphis Elvis Presley Agosto de 1995 Compra Internet

Best Of Frank Sinatra Setembro de 2005

Best Of Cranberries Setembro de 2005 Prenda de Natal

Page 45: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 45/70

45

Campos-chave (5/9)

Quando existem problemas na escolha das chaves, existem duas soluções possíveis,

das quais devemos escolher a mais adequada a cada situação concreta:

1. Escolher não apenas um campo, mas um conjunto de campos

para chave e assim formarmos uma chave composta. 

1. Criar um novo campo para desempenhar o papel de campo-chave,

garantindo nós que nunca terá conteúdos repetidos nem nulos. 

Normalmente cria-se um novo campo (artificial), numerado

automáticamente, sem repetição de valores

Page 46: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 46/70

46

Campos-chave (6/9)

Título Intérprete Data de aquisição Modo de aquisição

20 Anos Depois

Do Lado dos Cisnes

Rui Veloso

GNR

8/9/2000

24/12/2002 Prenda de Natal

Prenda de aniversário

Campos-chave ± chave composta

Número do

CDTítulo Intérprete Data de aquisição Modo de aquisição

1

2

20 Anos Depois

Do Lado dos Cisnes

Rui Veloso

GNR

8/9/2000

24/12/2002 Prenda de Natal

Prenda de aniversário

Campo-chave

2 soluções«

Page 47: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 47/70

47

Campos-chave (7/9)

1ª solução: chave composta - T ítulo e o Intérprete. Evita-se

assim a possibilidade de repetições, já que é muito pouco provável

que um mesmo intérprete lance dois CD com o mesmo título.

Pouco provável, mas não impossível... Os quatro primeiros álbunsde P eter Gabriel tinham o seu nome como título.

CD

Título Intérprete Datade

aquisição

Modode

aquisição

Peter Gabriel Peter Gabriel ... ...

Peter Gabriel Peter Gabriel ... ...

Page 48: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 48/70

48

Campos-chave (8/9)

2ª solução: numerar os CD (campo Número do C D) e garantir a não

existência de CD com números idênticos e nulos.

CD

Número do CD Título Intérprete Datade

aquisição

Modode

aquisição

1 Best of Brian Adams ... ...

2 Best Of Cranberries ... ...

É esta a solução mais usada nas bases de dados. É por isso quetens um número de BI, um número de aluno, um número de sócio...

Page 49: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 49/70

49

Exemplo considerando os campos da entidade aluno (nome,

idade, ano, morada, telefone)

Idade, ano, morada, telef one não podem servir de

CHAVE pois existem pessoas que podem ter a mesmaidade, estar no mesmo ano ou morar na mesma casa. 

Quanto ao nome, a possibilidade de existirem 2 pessoascom o mesmo nome é muito reduzido, mesmo assim, nadagarante que isso não aconteça.

Para evitar essa situação é comum recorrer-se a umcampo artificial, por ex, nº de processo do aluno,código do produto, etc.

Page 50: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 50/70

50

Campos-chave (9/9)

Quando adicionamos um campo a uma tabela apenas para que ele

seja chave, ele toma o nome de chave derivada. 

Se a escolha para chave vier dos campos já existentes na tabela, essa

chave tomará o nome de chave natural.

Qual destes casos foi o do

campo Número do C D?

Page 51: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 51/70

51

Entidades e tabelas (de novo...)

Ainda falta mais uma coisinha : conhecer os tipos de

relações que existem entre as entidades. 

Mas isso é fácil,acredita em mim!

Page 52: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 52/70

52

Tipos de relações

Ainda bem que aqui não há ciúmes...

Page 53: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 53/70

53

Numa primeira análise...

As entidades têm relações entre si. Nas bases

de dados relacionais, são três os tipos de

relações entre entidades:

1 para 1

1 para N

N para N.

Page 54: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 54/70

Page 55: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 55/70

55

Relações do tipo ³1 para 1´ (2 /2)

Num diagrama E-R, colocamos os ³1´ dos lados esquerdo e direitoda relação:

RepresentanteTurma tem

um1 1

Page 56: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 56/70

56

Relações do tipo ³1 para N´ (1 /2)

É o tipo de relação mais frequente, da qual são exemplos:

Uma colecção de CD áudio, em que cada CD tem um título e uma data de

aquisição, mas várias faixas (1:N);

Uma biblioteca, em que cada colecção tem um título mas vários volumes

(1:N);

Uma turma com uma designação, mas vários alunos (1:N);

Um torneio de futebol com uma dada designação, mas várias equipas

(1:N);

Um automóvel com várias idas à oficina (1:N);

Um clube de vídeo, em que um filme pode ter vários DVD ou cassetes

(1:N).

Page 57: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 57/70

57

Relações do tipo ³1 para N´ (2 /2)

Num diagrama E-R, colocamos o ³1´ e o ³N´ dos ladosesquerdo e direito da relação:

CD

é

compost

o por Faixas1 N

Page 58: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 58/70

58

Relações do tipo ³N para N´ (1 /2)

São exemplos:

A relação entre disciplinas e alunos de uma escola: cada

aluno frequenta aulas de várias disciplinas e cada disciplina temvários alunos nela inscritos (N alunos: N disciplinas);

A relação entre livros e sócios de uma biblioteca: um sócio

pode requisitar vários livros da biblioteca, podendo esse mesmo

livro ser requisitado por diferentes sócios (N livros: N sócios). 

Page 59: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 59/70

59

Relações do tipo ³N para N´ (2 /2)

Num diagrama E-R, colocamos o ³N´ e o ³N´ dos lados esquerdo e direito da relação:

Sócios Requisita

m

Livros

N N

Page 60: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 60/70

Page 61: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 61/70

61

Uma nota

Embora estejamos a falar de relações entre

entidades, é das entidades do diagrama E-R 

que vão surgir as tabelas da base de dados.

Page 62: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 62/70

62

Na base de dados relacional Cada tabela tem um nome único dentro da base de dados e

corresponde a uma entidade ou relacionamento entreentidades.

Cada coluna, ou campo, tem um nome único dentro da tabela,mas podem existir campos com o mesmo nome noutra tabela da

mesma base de dados

Cada campo só pode ter um valor dentro de um registo

cada linha corresponde a um registo

as várias linhas podem conter dados repetidos em alguns camposmas não podem existir duas linhas iguais.

a ordem das linhas e das colunas pode ser alterada em qualquermomento.

Page 63: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 63/70

63

Na base de dados relacional

Regras Numa base de dados não podem existir duas tabelas

com o mesmo nome

Numa tabela não podem existir campos com omesmo nome

Não devem existir campos vazios. Se existir estecampo não pode ser utilizado como chave

Só é permitido atribuir um valor em cada campo,

por registo Cada linha da tabela representa uma entidade, ou

ocorrência única, por isso não podem existir linhasduplicadas

Page 64: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 64/70

Page 65: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 65/70

65

TABELAS DE RELACIONAMENTO OU DE RELAÇÃO

Chave de uma tabela: campo ou conjuntode campos que conseguem identificar deforma única cada registo da tabela

A chave deve respeitar as seguintesregras: ser unívoca = o valor ser único em cada registo não nula = não podem existir valores nulos

Já vimos que:

Page 66: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 66/70

66

TABELAS DE RELACIONAMENTO OU DE RELAÇÃO

Para estabelecer relações entre tabelas énecessário criar uma tabela derelacionamento

A tabela de relacionamento deve incluir, entre osseus campos, as chaves das tabelas que entram norelacionamento. Neste caso as chaves chama-se

externas.

Page 67: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 67/70

67

TABELAS DE RELACIONAMENTO OU DE RELAÇÃO

Temos portanto 4 tipos de chaves:

Primária Composta (2 ou mais)

Derivada (campo artificial)

Externa (chaves das tabelas que entram no relacionamento)

Page 68: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 68/70

68

FASES DE UM PR OJECTO DE CR IAÇÃO DE UMA BASE DE DADOS

Definir cada entidade (tabela)enumerando os seus atributos (campos) eidentificando os campos chave

Definir a tabela de relacionamentos

Determinar os relacionamentos entre asdiferentes entidades (tabelas)

Page 69: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 69/70

69

Como os SGBD (sistemas de gestão

de bases de dados) não conseguem

desenvolver relações de n para n,tem que se criar uma 3ª tabela de

relacionamentos e assim ter

relação 1 para 1

Page 70: 39351532 Introducao a Uma Base de Dados

8/7/2019 39351532 Introducao a Uma Base de Dados

http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 70/70

70

Alunos

Codaluno

Nomealuno

Morada

telefone

Disciplinasinscritas

Codaluno

codisciplina

Disciplinas

Nomedisciplina

Anodisciplina

codisciplina

Cod aluno nome morada telefone Disciplinas

101 Abel Aveiro 222222 Port;Mat

201 Ana Aveiro 111111 Port;Ing;Mat

301 Rui Ílhavo 333333 Ing;Mat

310 Sandra Vagos 444444 Port;Ing;Fran