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?
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.
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
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.
8/7/2019 39351532 Introducao a Uma Base de Dados
http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 5/70
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!)
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)
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.
8/7/2019 39351532 Introducao a Uma Base de Dados
http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 9/70
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
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
8/7/2019 39351532 Introducao a Uma Base de Dados
http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 12/70
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)
8/7/2019 39351532 Introducao a Uma Base de Dados
http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 14/70
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
« « « « « « «
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:
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;
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.
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.
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
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
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)
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
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...
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!
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
8/7/2019 39351532 Introducao a Uma Base de Dados
http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 27/70
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?
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?
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
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?
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
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.
8/7/2019 39351532 Introducao a Uma Base de Dados
http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 34/70
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
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
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)
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
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.
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
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.
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.
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;
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
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
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«
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 ... ...
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...
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.
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?
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!
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...
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.
8/7/2019 39351532 Introducao a Uma Base de Dados
http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 54/70
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
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).
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
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).
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
8/7/2019 39351532 Introducao a Uma Base de Dados
http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 60/70
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.
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.
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
8/7/2019 39351532 Introducao a Uma Base de Dados
http://slidepdf.com/reader/full/39351532-introducao-a-uma-base-de-dados 64/70
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:
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.
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)
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)
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
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