Programação e Sistemas
da Informação
Módulo 13
Técnicas de Modelação de Dados
Participação obrigatória

Vamos ver os passos a seguir para passar um diagrama E-R para as
tabelas relacionadas que vão constituir a base de dados. Mas para se
lá chegar, para além das relações entre as entidades e dos seus
atributos, há ainda outro pormenor que se revela importante: o da
“participação obrigatória” ou obrigatoriedade do preenchimento
de dados nas tabelas. A questão é fácil de explicar com exemplos.
Relação 1:N com participação
obrigatória “do lado 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. A questão é que,
aqui, cada turma tem necessariamente
alunos, senão não existia!
Então, dizemos que se trata de uma
relação 1:N com participação
obrigatória “do lado N”.
Regra de passagem do diagrama ER para tabelas relacionadas

Numa relação 1:N com obrigatoriedade de participação
“do lado 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
Código
1
N
composta
por
Ano
Número
Turmas
Código da turma
Ano
Alunos
Nome
Alunos
Código da turma
Número do aluno
Nome
Morada
Morada
Relação 1:N sem participação
obrigatória “do lado N”
Imagina agora o caso de uma escola de
informática que oferece vários cursos de
uma semana de duração. Pode acontecer
que, nalgumas semanas, não haja
inscrições nalguns cursos. Por isso, a
relação 1:N entre um curso de uma dada
semana e os seus “N” alunos tem de ser
uma relação 1:N sem participação
obrigatória “do lado N”.
Regra de passagem do diagrama ER para tabelas relacionadas

Numa relação 1:N sem obrigatoriedade de participação
“do lado 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.
Código
Curso
Data de
conclusão
frequentado
por
Data de
início
Cursos
Código do curso
Data de início
Data de conclusão
Número
Alunos/Cursos
Código do curso
Número do aluno
Alunos
Nome
Morada
Alunos
Número do aluno
Nome
Morada
Relação 1:1 com participação
obrigatória de ambos os lados
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 com
participação obrigatória de ambos.
Regra de passagem do diagrama ER para tabelas relacionadas

Numa relação 1:1 com obrigatoriedade de participação de
ambos os lados, é recomendável a criação de uma única
tabela, em que a chave pode ser qualquer das chaves das
entidades envolvidas.
treinada
Turma
Código
Professor
por
Código
Ano
Turmas e professores
Código da turma
Ano da turma
Código do professor
Nome do professor
Nome
Relação 1:1 sem participação
obrigatória de qualquer dos lados
Supõe o torneio de futebol da escola tem
agora as seguintes regras:
- apenas participam as turmas que
desejarem;
- cada turma pode pedir um professor de
Educação Física para treinador, mas não é
obrigada a isso;
- 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 sem participação
obrigatória de qualquer deles.
Regra de passagem do diagrama ER para tabelas relacionadas

Numa relação 1:1 sem obrigatoriedade de participação de
qualquer dos lados, é recomendável 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.
treinada
por
Turma
Código
Ano
Turmas
Código de turma
Ano da turma
Professor
Código
Turmas e professores
Código da turma
Código do professor
Nome
Professores
Código de professor
Nome do professor
Relação 1:1 com participação
obrigatória de apenas um dos lados
Supõe o torneio de futebol da escola tem
agora as seguintes regras:
- todas as turmas têm de participar com uma
equipa;
- cada turma pode pedir um professor de
Educação Física para treinador, mas não é
obrigada a isso;
- 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 com participação
obrigatória apenas do lado das turmas.
Regra de passagem do diagrama ER para tabelas relacionadas

Numa relação 1:1 com obrigatoriedade de participação de
apenas um dos lados, é recomendável a criação de duas
tabelas, em que a chave da entidade com participação não
obrigatória tem de entrar como campo na tabela da outra.
treinada
por
Turma
Código
Ano
Turmas
Código de turma
Ano da turma
Código do professor
Professor
Código
Professores
Código de professor
Nome do professor
Nome
Relação M:N
Aqui a questão da obrigatoriedade de
participação de qualquer dos lados é
irrelevante, já que as relações do tipo M:N
têm sempre o mesmo tipo de solução.
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.
Regra de passagem do diagrama ER 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.
lecciona
Professor
Disciplina
Código
Código
Ano
Designação
Nome
Professores
Código de professor
Nome
Professores/Disciplinas
Código de professor
Código de disciplina
Professores
Código de disciplina
Ano
Designação
Para resumir isto tudo (1/2)
Basta dizer-te agora que, num diagrama E-R, quando queremos
assinalar a obrigatoriedade nas entidades, usamos a seguinte
notação:
Notação Crow’s Foot
(para utilização no Visio)
Participação
não
obrigatória
Participação
obrigatória
Para resumir isto tudo (1/2)
Relação
1:1
Número
de
tabelas
Comentário
1
A chave primária pode ser a chave de qualquer das
entidades.
2
A chave da entidade com participação não
obrigatória tem de entrar como atributo na tabela da
outra
3
A tabela do relacionamento terá como atributos as
chaves de ambas as entidades
2
A chave da tabela da entidade do lado 1 tem de ser
atributo da tabela da entidade do lado N.
3
A entidade do relacionamento terá como atributos
as chaves de ambas as entidades
3
A tabela do relacionamento terá como atributos as
chaves de ambas as entidades
1:1
1:1
1:N
1:N
M:N
Um exemplo
Uma base de dados de uma colecção
de CD áudio. Para veres como tantos
slides se resumem em tão poucos!
A colecção de CD áudio
Vais agora, com a nossa ajuda,
conceber uma base de dados
relacional de uma forma
intuitiva, usando o exemplo da
colecção pessoal de CD áudio e
seguindo os passos que antes te
apresentámos.
A colecção de CD áudio
Passo 1: O propósito da base de dados

A nossa 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, pega no teu
caderno e faz um esboço. Depois, compara com o nosso:
A colecção de CD áudio
CD
Número do CD
Título do CD
Capa
Tipo de música
Ano de edição
Data de aquisição
Modo de
aquisição
Notas
Faixas
Número da
faixa
Título da
faixa
Duração
Intérpretes
Número do
intérprete
Nome do intérprete
Foto
Data de nascimento
País de origem
Notas
A colecção de CD áudio
Se o teu esboço for muito diferente do nosso –
mas não deve ser! – podes adaptar as
instruções que vamos apresentar à tua ideia,
ficando assim com a base de dados ao teu
gosto.
Se não incluíste campos como o Número do CD
ou o Número do intérprete, não te preocupes.
Nós fizemo-lo porque já estamos habituados a
criar atributos deste tipo para se candidatarem
a chaves das suas entidades.
A colecção de CD áudio
Passo 2: estabelecer as relações entre as entidades

É a altura de criar o diagrama E-R. Para não tornar o diagrama
muito pesado, vamos incluir apenas as entidades e as suas
relações. Tenta fazer o teu e depois compara-o com o nosso.
A colecção de CD áudio
CD
1
compostos
por
Faixas
N
1
interpretadas
por
1
Intérpretes
A colecção de CD áudio

Sabemos que antes do passo seguinte temos de escolher
chaves para as tabelas. Vamos então examinar cada entidade:
A colecção de CD áudio

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.
A colecção de CD áudio

Faixas – Na tabela das faixas não há nenhum campo
que seja bom candidato a chave. Então, tal como no
caso dos CD, podíamos criar uma chave com uma
numeração sequencial, mas esse campo nem sequer
seria útil. Ora, aprendeste antes que, nas relações
1:N, como a que existe entre as tabelas CD e Faixas,
o campo chave da tabela “do lado 1” deve ser
copiado para a tabela “do lado N”. Pois bem, o par
composto por Número do CD e Número da faixa
nunca se repete, logo este par serve perfeitamente
como chave desta tabela.
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. Vê este “número do intérprete”
como um “número de sócio”. Como cada intérprete pode ter
vários CD, a relação entre as tabelas Intérpretes e CD será
1:N e o campo Número de intérprete vai ter de ser colocado
na tabela Faixas para estabelecer a relação entre as duas.
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 que aprendeste.
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; e como tem de possuir
pelo menos uma, é uma relação 1:N com participação
obrigatória “do lado N”. Então, obtemos as seguintes tabelas:
CD
Número do CD
Título
Tipo de música
Ano da edição
Data de aquisição
Modo de aquisição
Notas
Faixas
1
Número do CD
N Número da faixa
Título
Duração
A colecção de CD áudio

relação entre Faixas e Intérpretes: é uma relação 1:1, na
medida em que cada faixa tem um intérprete; mas pode
acontecer, como no caso de compilações de canções, que haja
faixas sobre cujos intérpretes não temos dados. Então, a
relação entre estas duas entidades é uma relação 1:1 com
participação obrigatória apenas de um dos lados (o das faixas).
Dizem as regras que a chave da entidade cuja participação não
é obrigatória – o Número do intérprete no nosso caso – deve
surgir como atributo na tabela correspondente à outra
entidade.
Faixas
Número do CD
Número da faixa
Título
Duração
Número do Intérprete
Intérpretes
1
1
Número do intérprete
Nome
Foto
Data de nascimento
País de origem
Notas
A base de dados de CD áudio
CD
Número do CD
Título
Tipo de música
Ano da edição
Data de aquisição
Modo de aquisição
Notas
Faixas
1
N
Número do CD
Número da faixa
Título
Duração
Número do Intérprete
1
Intérpretes
Número do intérprete
Nome
Foto
Data de nascimento
País de origem
Notas
1
Download

ASPECTOS GENÉRICOS SOBRE BASE DE DADOS