Diagrama ER da UnDF

Autor

Douglas Braga

Aplicando os conceitos das seções anteriores, podemos construir o diagrama ER completo do banco de dados da UnDF. Este diagrama captura todos os conjuntos de entidades, relacionamentos, cardinalidades e participações do sistema.

Visão Geral do Domínio

O banco da UnDF representa:

  • Centros acadêmicos, cada um com várias escolas
  • Escolas, cada uma ofertando vários cursos e alocando vários professores
  • Cursos, cada um composto por várias disciplinas e com vários alunos matriculados
  • Professores que ministram disciplinas em turmas específicas
  • Alunos que cursam essas turmas, obtendo notas
  • Pré-requisitos entre disciplinas do mesmo curso

Diagrama ER Completo

er_undf centro centro escola escola pertence_a pertence_a escola->pertence_a N curso curso ofertado_por ofertado_por curso->ofertado_por N professor professor lotado_em lotado_em professor->lotado_em N ministra ministra professor->ministra N aluno aluno matriculado_em matriculado_em aluno->matriculado_em N disciplina disciplina compoe compoe disciplina->compoe N prereq_r prereq disciplina->prereq_r disciplina pertence_a->centro 1 ofertado_por->escola 1 lotado_em->escola 1 matriculado_em->curso 1 compoe->curso 1 ministra->disciplina N ano ano ministra->ano semestre semestre ministra->semestre turma_a turma ministra->turma_a horario horario ministra->horario sala sala ministra->sala prereq_r->disciplina pré-requisito

Legenda e Observações

Elemento Notação Exemplos no diagrama
Entidade forte Retângulo azul centro, escola, professor
Relacionamento Losango amarelo ministra, pertence_a
Seta (→) Lado “um” da cardinalidade pertence_acentro
Linha (—) Lado “muitos” escolapertence_a
Linha dupla (bold) Participação total aluno ==matriculado_em
Elipse Atributo do relacionamento ano, semestre, sala

Notas sobre o diagrama

Cardinalidades:

  • pertence_a, ofertado_por, lotado_em, compoe: todos N:1 — muitos do lado esquerdo para um do lado direito
  • matriculado_em: N:1, com participação total em aluno (todo aluno deve estar matriculado em um curso)
  • ministra: N:N — um professor ministra várias disciplinas; uma disciplina pode ser ministrada por vários professores
  • prereq: N:N autorreferencial — uma disciplina pode ter múltiplos pré-requisitos e ser pré-requisito de múltiplas outras

Agregação (não mostrada no diagrama simplificado):

O relacionamento cursa entre aluno e o relacionamento ministra (com atributos nota e aprovado) é uma instância de agregação — veremos na seção 4.10 como representar isso formalmente.

Verificação do Diagrama

Uma maneira de verificar a correção do diagrama ER é confrontar cada relacionamento com os dados reais:

Relacionamento Instâncias no banco
pertence_a 31→3, 21→2, 11→1 (id_escola→id_centro, 3 pares)
lotado_em 7 professores distribuídos por 3 escolas
ministra 36 tuplas em ministra (7 professores × disciplinas ao longo de semestres)
prereq 16 pares de pré-requisito entre 24 disciplinas

Para Praticar

1. Leitura do diagrama. Com base no diagrama ER da UnDF, responda:

  1. Um professor pode ser lotado em mais de uma escola?
  2. Uma disciplina pode pertencer a mais de um curso?
  3. Um aluno pode estar matriculado em zero cursos?
  • (a) Não. A cardinalidade N:1 em lotado_em indica que cada professor está lotado em exatamente uma escola.
  • (b) Não. A cardinalidade N:1 em compoe indica que cada disciplina pertence a exatamente um curso. (Disciplinas de mesmo nome em cursos diferentes teriam códigos distintos.)
  • (c) Não. A linha dupla (bold) em alunomatriculado_em indica participação total: todo aluno deve estar matriculado em ao menos um curso.

2. Adicionar ao diagrama. O sistema da UnDF precisa registrar os monitores de cada disciplina: um monitor é um aluno que auxilia o professor em uma turma específica. Como você adicionaria essa informação ao diagrama ER? Qual a cardinalidade?

Adicionar um relacionamento monitora entre aluno e o relacionamento ministra (ou entre aluno, professor e disciplina se for ternário). A cardinalidade mais realista:

  • Um aluno pode monitorar múltiplas turmas: N no lado aluno
  • Uma turma pode ter múltiplos monitores: N no lado ministra

Isso caracteriza N:N, possivelmente com atributo periodo (início e fim da monitoria). A implementação seria uma tabela monitora(id_aluno, id_disciplina, ano, semestre, turma, data_inicio, data_fim) com FKs para aluno e ministra.


3. Diagrama alternativo. Outro projetista propõe eliminar a entidade centro e adicionar nome_centro como atributo de escola. Quais seriam as consequências dessa decisão?

Consequências: - Redundância: o nome do centro (ex.: “COETI”) seria armazenado uma vez para cada escola que pertence a ele. Se houvesse múltiplas escolas no mesmo centro, o nome repetiria. - Anomalia de atualização: mudar o nome de um centro exigiria atualizar múltiplas linhas de escola. - Perda de informação: dados próprios do centro (ex.: diretor, endereço, orçamento) não teriam onde ser armazenados.

Manter centro como entidade separada evita esses problemas e permite registrar informações adicionais sobre os centros no futuro.