1 introdução às bases de dados o que são? que utilidade têm? retirado em: /abrito/tic

67
1 Introdução às bases de dados O que são? Que utilidade têm? retirado em:http://www.prof2000.pt/use rs/abrito/tic/

Upload: internet

Post on 22-Apr-2015

111 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

1

Introdução às bases de dados

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 2: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

2

Uma 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 de dados como sendo uma colecção de dados, como por exemplo os endereços de alunos, a informação do inventário de uma escola, as referências dos livros de uma biblioteca, etc.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 3: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

3

Exemplo: agenda telefónica

Nome Morada Telefone fixo Telefone móvel Data de

nascimento Foto

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 4: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

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 CD tem apenas um título, mas várias faixas. Isto vai ser muito importante quando, daqui a pouco, começares a conceber as tuas bases de dados.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 5: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

5

Outro exemplo: fichas de um médico Nome do paciente Data de nascimento Sexo Morada Contacto telefónico Profissão Consultas

Data Notas Medicação receitada

Designação do medicamento

Número de embalagens

Posologia

Nota agora que um paciente pode ir a várias consultas. E em cada consulta podem ser receitados vários medicamentos. E cada medicamento tem a sua designação, a sua posologia, etc. Esta base de dados é mais complexa do que as anteriores...

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 6: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

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 novo amigo;

Consultas – através de perguntas como “Qual é o número de telefone da Luísa?” ou “Em que dia e mês faz anos o Diogo?”;

Alterações – necessárias, por exemplo, quando alguém muda de casa;

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 7: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

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 ficha corresponde a um registo de uma entidade (pessoa, organização, produto) e cada registo contém um determinado conjunto de informação – campos (ex: morada, telefone, tipo)

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 8: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

8

O que é um SGBD?

Um conjunto de programas que permitem ao

utilizador executar operações como inserções,

eliminações, consultas e alterações sobre o conteúdo

dos ficheiros de dados, além de permitir controlar a

integridade e a segurança desses dados, é um

Sistema de Gestão de Bases de Dados.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 9: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

9

Modelos de bases de dados

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 10: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

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 dados do tipo monotabela (a informação assume a forma de uma simples tabela)

Os sistemas de bases de dados monotabela são bastante limitativos

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 11: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

11

Exemplouma 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 Lisboa 335566 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 ter várias linhas para o mesmo cliente

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 12: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

12

Bases de dados monotabela

Base de dados sobre CD áudio.

Título IntérpreteData

de aquisição

Modo de

aquisição

Número da

faixa

Título da faixa

Duração da faixa

20 anos depois

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

20 anos depois

Rui Veloso Setembro de 2000 Prenda de aniversário 2Sei de uma camponesa

3:07

20 anos depois

Rui Veloso Setembro de 2000 Prenda de aniversário 3Um café e um

bagaço3:34

20 anos depois

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

… … … … … … …

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 13: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

13

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 muito grande! E com dados repetidos desnecessariamente! Apetece-me espremê-la!

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 14: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

14

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;

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 15: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

15

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 16: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

16

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.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 17: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

17

Monotabelas

Solução?

Número da

Faixa

Título da faixa

Duração da 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érpreteData

de aquisição

Modo de

aquisição20 anos depois

Rui Veloso Setembro de 2000Prenda de aniversário

Memphis Elvis Presley Agosto de 1995 Compra Internet

Best OfFrank

SinatraSetembro de 2005 Prenda de Natal

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 18: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

18

No exemplo da empresa

3 tabelas- para registar a informação do cliente

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 19: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

19

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 relacionamento existente entre as outras duas entidades (clientes e produtos)

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 20: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

20

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 de aquisição

20 Anos Depois

Rui Veloso 8-9-2000Prenda de aniversário

Registo

Campo

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 21: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

21

Bases de dados relacionais

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 22: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

22

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!

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 23: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

23

Três passos

Para 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 turmaAno da turma

Turmas e professores

Código da turmaCódigo do professor

Professores

Código de professorNome do professor

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 24: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

24

Primeiro passo

O que é que se pretende guardar na base de dados?

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 25: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

25

Entidades 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?

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 26: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

26

Entidades 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?

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 27: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

27

Entidades 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 um clube

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 seu conteúdo

Automóvel

a sua matrícula

a sua marca

o seu modelo

o n.º do livrete

Avaria no automóvel

matrícula do automóvel

descrição da avaria

data da entrada na oficina

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 28: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

28

Entidades e atributos

Por vezes, alguns atributos

podem ou devem ser

decompostos noutros atributos

que já não podem ser mais

divididos, denominados

atributos atómicos.

O atributo inicial

é decomposto nos atributos atómicos

Morada

Rua

Nº da porta

Código postal

Localidade

Código postalCódigo

Localidade

NomeNomes próprios

Apelido

Data

Ano

Mês

Dia

Exemplos?

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 29: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

29

Exercício

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

Preencha com 15 registos uma das tabelas

Guarde o seu trabalho ficheiro xls com o nome entidades e atributos

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 30: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

30

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á-se o nome de domínio.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 31: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

31

Segundo passo

Relações fortes...

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 32: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

32

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

Exemplos? É para já!...

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 filmes são

interpretados por actores;

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

têm avarias;

Entre as entidades CD áudio e faixa existe uma relação: CD áudio são

compostos por faixas

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 33: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

33

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ção

modo de aquisição

data de aquisição

notas

Nome

Data de nascimento

Foto

País

NotasTítulo

Duração

Número de faixa

Cidade

Número de CD

Número de intérprete

Número de faixa

Atributo chave

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 34: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

34

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)

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 35: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

35

Exercício Para as entidades

livro e utilizador_da_biblioteca Restaurante e cliente Filme e realizador

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

Grave num .DOC com o nome diagrama E-R

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 36: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

36

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 37: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

37

Entidade = Tabela Atributos = Campos Elementos da Entidade = Registos

(cada linha da tabela)

Os campos de uma entidade devem ser valores elementares e não conjuntos de valores

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 38: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

38

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.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 39: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

39

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.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 40: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

40

Campos-chave (3/9)

Regras para ser chave primária:

Não ter valores nulos;

Não existir repetição de valores;

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 41: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

41

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 1995Prenda 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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 42: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

42

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.

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 43: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

43

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 CD

Tí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…

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 44: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

44

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 álbuns de

Peter Gabriel tinham o seu nome como título.

CD

Título IntérpreteData

de aquisição

Modo de

aquisição

Peter Gabriel Peter Gabriel ... ...

Peter Gabriel Peter Gabriel ... ...

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 45: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

45

Campos-chave (8/9)

2ª solução: numerar os CD (campo Número do CD) 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 que tens um número de BI, um número de aluno, um número de sócio...

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 46: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

46

Exemplo considerando os campos da entidade aluno (nome,

idade, ano, morada, telefone)

Idade, ano, morada, telefone não podem servir de CHAVE pois existem pessoas que podem ter a mesma idade, estar no mesmo ano ou morar na mesma casa.

Quanto ao nome, a possibilidade de existirem 2 pessoas com o mesmo nome é muito reduzido, mesmo assim, nada garante que isso não aconteça.

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 47: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

47

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 CD?

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 48: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

48

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!

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 49: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

49

Tipos de relações

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 50: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

50

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.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 51: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

51

Relações do tipo “1 para 1” (1/2)

É um tipo de relação pouco comum. Como exemplos, temos:

A relação entre a tabela de turmas de uma escola e a tabela

dos delegados de cada turma. Cada turma tem um

representante (1:1).

A relação entre um professor e uma turma numa escola

primária: cada professor tem a sua turma (1:1).

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 52: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

52

Relações do tipo “1 para 1” (2/2)

Num diagrama E-R, colocamos os “1” dos lados esquerdo e direito da relação:

RepresentanteTurma tem um1 1

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 53: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

53

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 54: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

54

Relações do tipo “1 para N” (2/2)

Num diagrama E-R, colocamos o “1” e o “N” dos lados esquerdo e direito da relação:

CDé

composto por

Faixas1 N

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 55: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

55

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 tem

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 56: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

56

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 Requisitam

Livros

N N

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 57: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

57

Proposta de trabalho Indique dois exemplos para cada uma das

seguintes relações entre entidades 1 para 1 1 para n n para n

Grave num xls com o nome relações.xls

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 58: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

58

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.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 59: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

59

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

corresponde a uma entidade ou relacionamento entre entidades.

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 campos mas não podem existir duas linhas iguais.

a ordem das linhas e das colunas pode ser alterada em qualquer momento.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 60: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

60

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 o mesmo nome

Não devem existir campos vazios. Se existir este campo 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 linhas duplicadas

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 61: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

61

Exercício:Violações a estas regras, identifique-as

Nº nome Disciplinas

101 Abel Port;Mat

201 Ana Port;Ing;Mat

301 Rui Ing;Mat

310 Sandra Port;Ing;Fran

Nº nome Disciplina Disciplina2

101 Abel Port Mat

201 Ana Port Ing

220 Rui Ing Mat

201 Ana Port Ing

310 Sandra Ing Mat

Nº nome Disciplina Disciplina

101 Abel Port Mat

201 Ana Port Ing

220 Rui Ing Mat

201 Ana Port Fran

310 Sandra Ing Mat

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 62: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

62

TABELAS DE RELACIONAMENTO OU DE RELAÇÃO

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

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

Já vimos que:

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 63: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

63

TABELAS DE RELACIONAMENTO OU DE RELAÇÃO

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

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

externas.

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 64: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

64

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)

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 65: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

65

FASES DE UM PROJECTO DE CRIAÇÃO DE UMA BASE DE DADOS

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

Definir a tabela de relacionamentos

Determinar os relacionamentos entre as diferentes entidades (tabelas)

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 66: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

66

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/

Page 67: 1 Introdução às bases de dados O que são? Que utilidade têm? retirado em: /abrito/tic

67

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

retirado em:http://www.prof2000.pt/users/a

brito/tic/