AYUDA NO ESTOY SEGURO DE LO QUE HICE Y DUDO MUCHO QUE ES CORRECTO AYUDA PORFAVOR!
create table despachos(
numero int primary key,
capacidad int
);

create table directores(
dni varchar(8) primary key,
nomapels varchar(50),
dnijefe varchar(8),
despacho int,
constraint fkdire_despa foreign key (despacho) references despachos,
constraint fkdire_dire foreign key (dnijefe) references directores
);

Vista materializada que muestre el dni, nombre de directores y
números de despacho, de los directores que ocupan los despachos
con capacidad mayor al promedio

HICE ESTO:

CREATE MATERIALIZED VIEW DIRDESPAPROM AS
SELECT DIR.DNI,DIR.NOMBRE,DES.NUMERO
FROM DIRECTORES DIR
JOIN DESPACHO DES ON DIR.DESPACHO=DES.NUMERO
HAVING COUNT(DES.NUMERO)=(SELECT AVG(COUNT (NUMERO))
FROM DESPACHOS
GROUP BY NUMER0)
GROUP BY DIR.DNI,DIR.NOMBRE,DES.NUMERO;

NOSE SI ESTA BUENO,NO SABIA BIEN COMO HACERLO. NECESITO AYUDA PLS