Aulas práticas - Ficha 1
Bases de Dados (CC2005), Dep. Ciência de Computadores, FCUP
Eduardo R. B. Marques, DCC/FCUP
Objectivos: introdução ao modelo Entidade-Relacionamento (ER).
Material de apoio: O modelo ER ("slides")
Sumário da sintaxe visual ER
Entidades

Relacionamentos

1
Considere a entidade-tipo ALUNO que foi exemplificada nas aulas téoricas:
Considere os seguintes dados para (instâncias de) ALUNO, apresentados de forma tabelada, e indique o que há de errado com cada um dos valores a negrito apresentados.
NumMec |
Nome |
Sexo |
DataNasc |
[Idade] |
Morada(Rua,Num,Andar?, Localidade,CodPostal) |
{NumTelef} |
{Habilitação(Grau,Ano, Instituição)} |
19428771 |
'José Silva' |
M |
17-11-2000 |
19 |
(‘Rua Fim do Mundo’, 783, ‘R/C’, ‘Finisterra’, ’4444-555’) |
{987654321, 222333444} |
{ (‘Ens. Secundário’, 2017, ‘Escola Sec. Dr. Estranho-Amor’) } |
10447777 |
‘Maria Carvalho’ |
F |
08-02-1976 |
44 |
(‘Rua das Bases de Dados’, 1555, NULL, ’Vila Nova de Informática’, ‘4000-123’) |
{933933933} |
{ (‘Ens. Secundário’, 1994, ‘Escola Sec. Vila Nova de Informática’), (‘Lic. Física’, 1998, ‘Fac. de Ciências Univ. Porto’)} |
10447777 |
‘Maria Silveira’ |
NULL |
08-01-1986 |
34 |
(‘Rua SQL’, 8, 'R/C', ’Vila Nova de Informática’, ‘4000-123’) |
{987654321} |
{ (‘Ens. Secundário’, 2004, ‘Escola Sec. Vila Nova de Informática’) } |
12943945 |
‘Roberto Antunes’ |
M |
17-12-1985 |
64 |
'Algures em Elvas' |
{982340210, 221234567 } |
{ (‘Ens. Secundário’, 2004, ‘Escola Sec. Vila Nova de Informática’) } |
2
Tenha em conta os relacionamentos que vimos na aula teórica para o universo (simplificado) de uma faculdade:

Justifique se o modelo de BD apresentado é ou não consistente ou não com os seguintes dados:
- O Dep. de Ciência de Computadores tem como directores o Prof. Alípio Jorge e o Prof. Eduardo Marques.
- O Dep. Física não tem um director definido.
- O Dep. de Ciências das Coisas tem como director o Prof. António das Cenas.
- O Dep. de Ciências das Coisas não tem professores.
- O Prof. António das Cenas trabalha nos Dep. de Ciências das Coisas e Dep. Física.
- O Prof. Eduardo Marques trabalha no Dep. de Ciência de Computadores.
- O Dep. de Ciência das Coisas não é responsável por qualquer curso.
- Os cursos de Licenciatura em Ciência de Computadores e Mestrado em Segurança Informática são da responsabilidade do Dep. Ciências dos Computadores.
- O curso de Licenciatura em Coisas é da responsabilidade dos Dep. Física e do Dep. Ciência das Coisas.
- O curso de Mestrado em Inteligência Artificial não teve ainda alunos inscritos.
- O aluno José Silva esteve inscrito na Licenciatura de Ciência de Computadores de 2015 a 2019, e está inscrito desde 2020 no Mestrado em Segurança Informática.
- A aluna Maria Silva não está ainda inscrita em nenhum curso.
3
Considere um modelo simplificado para o universo de uma
empresa de organização de eventos.
As entidades-tipo em causa e respectivos atributos consistem em:
- FUNCIONÁRIO da empresa: nº CC, nome, data de nascimento, idade, cargo, números de telefone para contacto, e endereço de email opcional.
- ESPAÇO para a realização de eventos com código único, nome, e morada expressa em termos de rua, nº na rua, andar opcional, localidade e código postal.
- EVENTO organizado pela empresa: com código único, nome, data de início, e data de fim.
Apresente uma descrição das entidades-tipo usando a sintaxe textual e visual do modelo ER.
Na descrição de cada entidade-tipo tenha em conta:
- quais são os atributos chave;
- e a classificação de todos os atributos quanto ao tipo de domínio (simples/composto, valor-único/multi-valor, base/derivado, definido/opcional).
4
Considere agora os seguintes relacionamentos entre entitidades no universo da empresa de gestão de eventos:
- Cada funcionário trabalha apenas em um único espaço de eventos. Um espaço de eventos tem pelo
menos um funcionário que trabalha nele.
- Cada espaço de eventos é gerido por um dos funcionários que nele trabalham.
- Um funcionário poderá ter um supervisor e/ou ser supervisor de vários outros funcionários.
- Cada evento tem necessariamente lugar em um ou mais espaços, tendo cada alocação de espaço a evento uma data de início e uma data de fim de ocupação. Poderá haver espaços sem eventos associados e outros a acolher múltiplos eventos.
Tendo em conta estes requisitos:
- Identifique os relacionamentos implícitos entre entidades-tipo.
- Para cada relacionamento identifique as restrições de cardinalidade (1:1, 1:N, N:1, M:N) e participação (parcial/total).
- Desenhe um diagrama ER para os relacionamentos.
5
(adaptado do exame de época de recurso 2018/19)
Considere os seguintes requisitos para uma base de dados de uma rede social simples "Livro das Caras" em que:
- Um utilizador é caracterizado por um identificador de "login" único, nome, e email.
- Cada utilizador pode ser seguidor de outros em que tenha interesse de acompanhar actividades.
- Um utilizador escreve "posts", em que cada "post" é caracterizado por um identificador único, um texto, e um conjunto de "hashtags" (etiquetas de texto). Um "post" tem como autor um único utilizador.
- Os utilizadores podem assinalar que apreciaram "posts" com "likes".
Os utilizadores podem escrever comentários a "posts" . Um comentário tem um número de ordem e um texto associado, sendo o número de ordem de um comentário (apenas) único por "post", isto é, pode-se repetir para ``posts'' diferentes. Tal como um "post", um comentário tem sempre a um autor único.
Dicas:
- Será conveniente modelar comentários usando uma entidade-tipo fraca, tendo como entidade-tipo identificadora a usada para "posts".

- A reação a posts por comentários poderá ser modelada por um relacionamento entre utilizadores e comentários.
Podem haver utilizadores sem qualquer participação em termos de seguimento de outros / seguidores / "posts" / comentários / "likes".
Defina um modelo para a base de dados na forma de um diagrama ER.