O servidor de banco de dados acadêmico da UFBA travou às 23:49. Restaure os três componentes do SGBD, em ordem, antes que o tempo acabe.
man) para relembrar os conceitos de cada desafio.⏱ Tempo até o desligamento: 10:00
O catálogo perdeu as relações entre as 4 tabelas. Marque a chave primária de cada tabela (clique no 🔑 da coluna) e ligue cada chave estrangeira à coluna que ela referencia (clique numa coluna e depois na coluna-alvo).
Não sabe quais colunas são chave? Veja no Explorador de BD (🗄) quais valores nunca repetem e quais repetem os de outra tabela. Veja mais com man chaves no Terminal.
Tarefa: entenda cada tipo de junção entre professor e componente como conjuntos. Em 4 rodadas, para cada alvo: marque as regiões do diagrama que entram no resultado e diga qual cláusula de junção é essa. Acerte as 4 para restaurar o subsistema.
Pense em conjuntos. Nem todo professor tem componente, nem toda componente tem professor — confira no Explorador (🗄) e revise os tipos com man join no Terminal.
Tarefa: para cada professor, quantos alunos diferentes ele aprovou (nota ≥ 7), somando todas as componentes que leciona? Monte a consulta: clique num campo ▢ e depois numa peça abaixo (clique no campo de novo para limpar).
Siga as chaves que você ligou no Esquema para ir de professor até a nota. E cuidado ao contar: um aluno pode repetir. Veja mais com man join e man agregacao no Terminal.
Conceitos por trás dos desafios. Os três percorrem o ciclo de um banco de dados: projetar → consultar → resumir.
componente.prof_id → professor.id), não só em tabelas de ligação.INNER = interseção; LEFT = interseção + sobras da esquerda; RIGHT = interseção + sobras da direita; FULL OUTER = tudo, com NULL onde falta correspondência. "Esquerda/direita" depende da ordem no FROM.professor → componente → matricula), um JOIN por aresta de chave. Ao agregar, COUNT(*) conta linhas e pode inflar com repetições — COUNT(DISTINCT …) conta valores diferentes.Encadeamento: relacionar tabelas (E1) → consultar com JOIN (E2) → resumir com agregação (E3).
—