Diagrama de Schema

Autor

Douglas Braga

Quando um banco de dados possui várias relações interconectadas por chaves estrangeiras, é útil visualizar sua estrutura de forma gráfica por meio de um diagrama de schema.

O que é um Diagrama de Schema?

Um diagrama de schema é uma representação visual da estrutura de um banco de dados. Ele mostra as relações (tabelas), seus atributos, as chaves primárias (sublinhadas ou destacadas) e as chaves estrangeiras (indicadas por setas entre tabelas).

Convenções:

  • Chave primária: atributo sublinhado
  • Chave estrangeira: seta saindo do atributo e apontando para a relação referenciada

Diagrama do Banco de Dados da UnDF

schema centro centro id_centro sigla nome_centro escola escola id_escola sigla nome_escola id_centro escola->centro curso curso id_curso sigla_curso nome_curso id_escola n_semestres carga_horaria tipo_curso curso->escola professor professor id_prof nome id_escola ch_semanal salario professor->escola aluno aluno id_aluno nome id_curso ano_ingresso aluno->curso disciplina disciplina id_disciplina nome_disciplina id_curso semestre carga_horaria disciplina->curso ministra ministra id_disciplina ano semestre turma id_prof horario sala ministra->professor ministra->disciplina matricula_disciplina matricula_disciplina id_disciplina ano semestre turma id_aluno nota aprovado matricula_disciplina->aluno matricula_disciplina->ministra prereq prereq id_disciplina id_prereq prereq->disciplina id_disciplina prereq->disciplina id_prereq

Leitura do Diagrama

  • Atributo sublinhado = chave primária (identifica unicamente cada tupla)
  • Seta = chave estrangeira (o atributo referencia a chave primária da tabela apontada)
  • centro e escola formam a hierarquia organizacional da UnDF
  • curso e professor referenciam escola; aluno e disciplina referenciam curso
  • ministra é a relação de associação entre professor e disciplina (com chave composta de 4 atributos)
  • matricula_disciplina registra as matrículas de alunos em turmas específicas e referencia tanto ministra quanto aluno
  • prereq é uma relação de autorreferência sobre disciplina: ambos os atributos da chave composta (id_disciplina e id_prereq) são chaves estrangeiras que apontam para a mesma tabela disciplina

Para Praticar

1. Leitura do diagrama. Com base no diagrama de schema:

  1. Quais tabelas possuem chave primária composta (mais de um atributo sublinhado)?
  2. Quantas tabelas referenciam diretamente disciplina por chave estrangeira?
  3. Qual é o “caminho” de chaves estrangeiras de matricula_disciplina até centro?
  1. ministra (4 atributos: id_disciplina, ano, semestre, turma), matricula_disciplina (5 atributos) e prereq (2 atributos).

  2. Três: ministra (via id_disciplina), prereq (via id_disciplina) e prereq (via id_prereq) — ou seja, ministra e prereq referenciam disciplina.

  3. matricula_disciplinaministradisciplinacursoescolacentro. São 5 saltos.


2. Diagrama de uma nova tabela. A UnDF deseja registrar as salas de aula do campus. Cada sala pertence a uma escola e possui número, capacidade e tipo (laboratorio, auditorio, sala_aula). Escreva o schema dessa nova relação e indique qual FK ela teria.

\[sala(\underline{id\_sala},\ numero,\ capacidade,\ tipo,\ id\_escola)\]

A chave estrangeira seria id_escola → escola.id_escola. A tabela ministra poderia então referenciar sala.id_sala em vez de armazenar o nome da sala como VARCHAR.