Ficha 01 · ER e cardinalidades
- Identificar entidades e atributos
- Determinar cardinalidades
- Desenhar diagramas ER
- Resolver N:M
- Converter para tabelas
O SQL desta ficha segue o dialeto do MySQL 8.
Parte I · Identificar entidades
Exercício 1 · Da descrição ao modelo (15 pts)
Lê o seguinte requisito e identifica entidades, atributos e relações:
«Uma escola tem vários professores, cada um com nome, e-mail e disciplina principal. Cada professor leciona uma ou mais turmas. Uma turma tem um professor por disciplina, pelo que pode ter vários professores. Cada turma tem um código, ano letivo e vários alunos (cada aluno tem número, nome e data de nascimento). Cada aluno pertence a apenas uma turma de cada vez.»
a) Lista as 3 entidades (3 pts).
b) Para cada entidade, lista atributos (8 pts).
c) Indica cardinalidades (4 pts).
Exercício 2 · Cardinalidades (10 pts)
Para cada situação, indica 1:1, 1:N ou N:M e justifica numa frase:
a) Pessoa e Cartão de Cidadão ___
b) Cliente e Encomenda ___
c) Aluno e Disciplina ___
d) Condutor e Carta de Condução ___
e) Autor e Livro ___
Parte II · Resolver N:M
Exercício 3 · Tabela de associação (20 pts)
Modela o caso Aluno e Disciplina com nota e ano letivo associados.
a) Desenha as 3 tabelas necessárias (com colunas). (15 pts)
b) Justifica porque é que nota e ano_letivo ficam na tabela de associação, não nas outras. (5 pts)
Parte III · Chaves
Exercício 4 · Escolher PK (10 pts)
Para cada entidade, identifica uma boa chave primária e justifica:
a) Cliente (nome, e-mail, telefone). ___
b) Município (nome, distrito, código oficial). ___
c) Inscricao (aluno_id, disciplina_id, ano). ___
d) Livro (isbn, titulo, autor). ___
Parte IV · Cenários
Exercício 5 · Modelar biblioteca (25 pts)
Pretende-se modelar uma biblioteca municipal. Requisitos:
- Catálogo de livros (título, autor, ISBN, ano, editora).
- Vários exemplares físicos do mesmo livro (cada um com código de barras único).
- Sócios (id, nome, e-mail).
- Empréstimos: um sócio leva um exemplar com data de saída e data prevista de retorno; quando devolve, regista-se a data efetiva.
a) Identifica as entidades (5 pts).
b) Desenha tabelas com colunas, PK e FK (15 pts).
c) Indica restrições adicionais úteis (5 pts).
Exercício 6 · Festival de música (20 pts)
Um festival tem palcos (nome, capacidade). Em cada palco atuam bandas em concertos (data e hora, duração). Uma banda tem um nome e um país de origem, e dá vários concertos. Há voluntários (nome, telefone); cada voluntário é coordenado por outro voluntário (os coordenadores principais não têm coordenador). Cada voluntário é atribuído a um palco num determinado turno (manhã, tarde ou noite).
a) Identifica uma relação recursiva e indica como se implementa. (5 pts)
b) Identifica uma relação ternária e escreve a tabela que a implementa. (8 pts)
c) Indica a cardinalidade entre Banda e Concerto e entre Palco e Concerto, e a FK correspondente. (7 pts)