CREATE VIEW vista_alumnos_info AS
SELECT
    a.correo,
    a.nombre,
    a.apellido,
    a.nivel_ingles,
    gg.grado,
    gg.grupo,
    gg.nivel
FROM edca.alumnos a
LEFT JOIN edca.grados_grupos gg ON a.grados_grupos_id = gg.id;

CREATE VIEW vista_alumnos_all_info AS
SELECT
    a.correo,
    a.nombre,
    a.apellido,
    a.nivel_ingles,
    COALESCE(a.grados_grupos_id, 0) AS grados_grupos_id,
    gg.grado,
    gg.grupo,
    gg.nivel
FROM edca.alumnos a
LEFT JOIN edca.grados_grupos gg ON a.grados_grupos_id = gg.id;

CREATE VIEW vista_trabajadores_info AS
SELECT
    t.correo,
    t.nombre,
    t.apellido,
    t.url_foto,
    r.nombre AS rol,
    d.nombre AS departamento,
    d.tipo AS tipo_departamento
FROM edca.trabajadores t
LEFT JOIN edca.roles r ON t.rol_id = r.id
LEFT JOIN edca.departamentos d ON t.departamento_id = d.id;

CREATE VIEW vista_trabajadores_all_info AS
SELECT
    t.correo,
    t.nombre,
    t.apellido,
    t.url_foto,
    COALESCE(r.id, 0) AS rol_id,
    r.nombre AS rol_nombre,
    COALESCE(d.id, 0) AS departamento_id,
    d.nombre AS departamento_nombre,
    d.tipo AS departamento_tipo
FROM edca.trabajadores t
LEFT JOIN edca.roles r ON t.rol_id = r.id
LEFT JOIN edca.departamentos d ON t.departamento_id = d.id;
