vw_materia expone el catálogo de materias como una jerarquía (árbol). Cada fila representa una materia y su relación padre/hijo, además de un campo full_path que describe la ruta completa desde una materia raíz hasta el nodo.
Contrato importante: la jerarquía debe ser acíclica (sin bucles en materia_padre_id).
SELECT materia_id, code, full_path
FROM public.vw_materia
ORDER BY full_path;
SELECT materia_id, full_path
FROM public.vw_materia
WHERE full_path ILIKE '%Historia%'
ORDER BY full_path;
SELECT *
FROM public.vw_materia
WHERE full_path LIKE (
SELECT full_path || '%'
FROM public.vw_materia
WHERE materia_id = 123
)
ORDER BY full_path;