Upload
milton-olivares-nunes
View
219
Download
0
Embed Size (px)
Citation preview
1
Bases de dados relacionais
2
Como são?
As bases de dados relacionais são constituídas por uma ou mais tabelas relacionadas entre si.
3
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ê? Dados
de alunos, de professores, de DVD, de receitas de cozinha, de uma colecção de selos,...
2. Definir o conteúdo da base de dados e descrevê-lo num 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.
TurmasCódigo de turmaAno da turma
Turmas e professores
Código da turmaCódigo do professor
ProfessoresCódigo de professorNome do professor
4
Primeiro passo
O que é que se pretende guardar na base de dados?
5
Entidades e atributos (1/3)
Para conceber uma base de dados, é necessário começar por pensar:
Qual é o tema da base de dados?
Que dados vai conter?
6
Entidades e atributos (2/3)
Para a escolha das tabelas a criar e dos seus conteúdos é conveniente ficar com uma ideia dos 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 de Entidades: Aluno, Professor, Disciplina, exame. Atributos consistem nas características de uma entidade. Exemplos de atributos para a
entidade aluno, os seus atributos poderão ser: número, nome, idade, morada, etc.
7
Entidades e atributos (3/3)
A entidade Pode ter como atributos
Aluno
o seu número
o seu nome
a sua morada
o ano que frequenta
a turma a que pertence
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
o seu modelo
o n.º do livrete
o nome do seu dono
Avaria no automóvel
matrícula do automóvel
descrição da avaria
data da entrada na oficina
8
Segundo passo
Definir as relações/associações entre as entidades.
9
Associações
As associações representam a forma como as entidades se relacionam entre si.
Esta fase termina com a elaboração gráfica que modeliza o sistema, o Diagrama de Entidade e Associações (D.E.A.).
Existem três tipos de associações: Associações Unárias Associações Binárias Associações Complexas ou ternárias
10
Tipos de associações
Associações Unárias Este tipo de associação é caracterizada pela relação entre uma
entidade e ela própria.
Associações Binárias Este tipo de associação é caracterizada quando de alguma forma
duas entidades se relacionam entre si.
Associações Complexas ou ternárias Este tipo de associação é caracterizada pela relação existente
entre mais do que duas entidades.
11
Relações entre entidades
Entre as entidades de uma base de dados tem de haver relações.
Exemplos: 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.
12
Entidades e tabelas
Em que medida se relacionam as entidades e os atributos com as tabelas e os campos?
Se identificarmos bem as entidades, as relações entre elas e os seus atributos, será muito fácil obter as tabelas e os campos que vão compor a base de dados
13
Modelo de dados
Modelos Lógicos baseados em Objectos
Utilizados na descrição dos dados ao nível conceptual e ao nível de visualização
DIAGRAMA ENTIDADE ASSOCIAÇÃO (DEA) O modelo de dados ER é baseado na percepção de que o mundo real é
constituído por dois tipos de objectos: ENTIDADES: podem representar pessoas (funcionários,
alunos, ...), organizações (escolas, empresas,...), coisas (livros, Cd’s,...)
RELACIONAMENTO: Relações entre as várias entidades.
14
Diagramas E-A (Entidade-Associação)
O diagrama E-A é um esquema que mostra as entidades e as relações entre elas.
15
Diagramas E-A (Entidade-Associação)
Entidade Relação Atributo
Para concebermos um diagrama destes, basta pensarmos quais são:
- as entidades
- as relações que existem entre elas
- os atributos de cada entidade
- qual é a chave de cada entidade
e representar esses objectos graficamente através da forma devida:
Atributo chave
16
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
17
Tipos de relações
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 e N para M.
18
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, entre 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).
19
Relações do tipo “1 para N” (2/2)
Num diagrama E-A, colocamos o “1” e o “N” dos lados esquerdo e direito da relação:
CDé
composto por
Faixas1 N
20
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 representantes de cada turma a um concurso da escola. 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).
21
Relações do tipo “1 para 1” (2/2)
Num diagrama E-A, colocamos os “1” dos lados esquerdo e direito da relação:
RepresentanteTurma tem um
1 1
22
Relações do tipo “M 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 (M 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 (M livros: N sócios).
23
Relações do tipo “M para N” (2/2)
Num diagrama E-A, colocamos o “M” e o “N” dos lados esquerdo e direito da relação:
Sócios Requisitam Livros
M N
24
Uma nota
Embora estejamos a falar de relações entre entidades, é das entidades do diagrama E-A que vão surgir as tabelas da base de dados.
E as relações entre as entidades vão ditar as tabelas.
25
Relação 1:N
Imagina o caso de uma base de dados com as turmas de uma escola e os seus alunos;
trata-se de uma relação 1:N entre as entidades Turma e Alunos, já que cada turma possui “N” alunos.
26
Regra de passagem do diagrama E-A para tabelas relacionadas
Numa relação 1:N, é necessária a criação de duas tabelas correspondentes às duas entidades e em que a chave da entidade “do lado 1” tem de aparecer na tabela “do lado N”.
Turma composta por
Alunos
Código Ano Número Nome Morada
Turmas
Código da turmaAno
Alunos
Código da turmaNúmero do alunoNome Morada
1 N
Chave externa
27
Relação 1:1
Supõe que na tua escola se organiza um torneio de futebol em que:- todas as turmas têm de participar com uma equipa;- cada turma tem de ter um professor de Educação Física para treinador;- cada professor só treina a equipa de uma turma;A relação entre as turmas e os professores de educação física é de 1:1
28
Regra de passagem do diagrama E-A para tabelas relacionadas
Numa relação 1:1, é recomendável a criação de uma única tabela em que a chave pode ser qualquer das chaves das entidades envolvidas.
Turmas e professores
Código da turmaAno da turmaCódigo do professorNome do professor
Turma treinada por
Professor
CódigoAno
Código Nome
1 1
29
Relação M:N
Supõe o caso, comum entre os professores das disciplinas de Informática, em que cada professor pode leccionar mais do que uma disciplina e cada disciplina é leccionada por vários professores. É uma relação M:N.
30
Regra de passagem do diagrama E-A para tabelas relacionadas
Numa relação M:N, é necessária a criação de três tabelas: duas correspondentes a cada uma das duas entidades e uma terceira, de ligação entre as duas, composta pelas chaves de ambas.
Professor lecciona Disciplina
CódigoNome
Código DesignaçãoAno
Professores
Código de professorNome
Professores/Disciplinas
Código de professorCódigo de disciplina
Disciplina
Código de disciplinaAnoDesignação
N N
31
Para resumir isto tudo
RelaçãoNúmero
de tabelas
Comentário
1 A chave primária pode ser a chave de qualquer das entidades.
2A chave da tabela da entidade do lado 1 tem de ser atributo da tabela da entidade do lado N.
3 A tabela do relacionamento terá como atributos as chaves de ambas as entidades
1:1
1:N
M:N
32
Um exemplo
Uma base de dados de uma colecção de CD áudio.
Concebe uma base de dados relacional de uma forma intuitiva, usando o exemplo da colecção pessoal de CD áudio.
33
A colecção de CD áudio
Passo 1: O propósito da base de dados
A base de dados será sobre uma colecção pessoal de CD áudio. Queremos que a nossa colecção contenha dados sobre os CD e sobre os seus intérpretes. Assim, faça um esboço da Base de Dados.
34
A colecção de CD áudio
CDNúmero do CDTítulo do CDCapaTipo de músicaAno de ediçãoNotas
FaixasNúmero da faixaTítulo da faixaDuração
IntérpretesNúmero do intérpreteNome do intérpreteFotoData de nascimentoPaís de origemNotas
35
A colecção de CD áudio
Passo 2: estabelecer as relações entre as entidades
É a altura de criar o diagrama E-A. Para não tornar o diagrama muito pesado, vamos incluir apenas as entidades e as suas relações.
36
A colecção de CD áudio
CD compostos por
Faixas
interpretadas por
Intérpretes
1 NN
M
37
A colecção de CD áudio
Chaves das Tabelas
CD – o título do CD não é um bom candidato, na medida em que podem existir CD com títulos idênticos. Visto que os outros atributos são ainda piores candidatos, criámos um campo específico para ser chave: Número de CD, começando no número 1 e crescendo até onde for preciso.
38
A colecção de CD áudio
Faixas – o número da faixa não é um bom candidato, na medida em que podem existir faixas com o mesmo número. Assim, atribuímos o campo Código da faixa com um número sequencial começando no número 1 e crescendo até onde for preciso.
39
A colecção de CD áudio
Intérpretes – Prevenindo a hipótese de poder haver intérpretes com nomes iguais, criámos aqui um novo campo denominado Número do intérprete, que será um número associado a cada intérprete e que só vai ser usado internamente pelo SGBD. Este “número do intérprete” funciona como um “número de sócio”.
40
A colecção de CD áudio
Passo 3: determinar as tabelas, os seus campos e as suas relações. Já temos as três entidades com os seus campos-chave definidos e as
suas relações. Vamos agora tratar das tabelas que delas derivam, de acordo com as regras.
41
A colecção de CD áudio
Relação entre CD e Faixas: é uma relação 1:N, na medida em que cada CD possui várias faixas. Então, obtemos as seguintes tabelas:
CD
Número do CDTítulo Tipo de músicaAno da ediçãoData de aquisiçãoNotas
FaixasCódigo_faixaNúmero da faixaTítuloDuraçãoNúmero do CD
N1
42
A colecção de CD áudio
relação entre Faixas e Intérpretes: é uma relação N-M, visto que, uma faixa pode ter vários intérpretes e um intérprete pode estar em várias faixas. Assim, as chaves primárias de ambas estarão na tabela de relacionamento.
IntérpretesNúmero do intérpreteNomeFotoData de nascimentoPaís de origemNotas
FaixasCódigo da faixaNúmero da faixaTítuloDuraçãoNúmero do IntérpreteNúmero do CD
11Faixas/Intérpretes
Número do intérpreteCódigo da faixa
N N
43
A base de dados de CD áudio
CDNúmero do CDTítulo Tipo de músicaAno da ediçãoData de aquisiçãoNotas
N
1
IntérpretesNúmero do intérpreteNomeFotoData de nascimentoPaís de origemNotas
FaixasCódigo da faixaNúmero da faixaTítuloDuraçãoNúmero do IntérpreteNúmero do CD
11Faixas/Intérpretes
Número do intérpreteCódigo da faixa
N N