Contrainte de Table PGSQL

Bonsoir , je bloque sur une création de table. J’ai créer ma table comme suit mais je dois rajouter une contrainte qui est la suivante :

“Un enseignant doit encadrer au moins 4 étudiants quelquesoit sa fonction”

Comment cela se traduirait t’il ? J’ai bien pensé à un check mais je vois pas comment récupérer son nombre d’étudiant.

Merci beaucoup

CREATE TABLE Entreprise(
	ent_nom			VARCHAR(30)			PRIMARY KEY				,
	ent_adresse		VARCHAR(30)			NOT NULL				,
	ent_type		VARCHAR(30)			NOT NULL				,
	ent_contact_iut	VARCHAR(30) 		NOT NULL
);

CREATE TABLE Enseignant(
	ens_nom			VARCHAR(30)			PRIMARY KEY				,
	ens_prenom		VARCHAR(30)			NOT NULL				,
	ens_fonction	VARCHAR(30)			NOT NULL				,
	ens_tel			INTEGER				NOT NULL				
);

CREATE TABLE Etudiant(
	etu_num			INTEGER				PRIMARY KEY				,
	etu_nom			VARCHAR(30)			NOT NULL				,
	etu_date		DATE				NOT NULL				,
	etu_groupe		INTEGER				NOT NULL				,
	etu_entreprise	VARCHAR(30)			NOT NULL				,
	etu_date_sign	DATE				NOT NULL				,
	etu_par_mar		VARCHAR(30)  		NOT NULL				,
	FOREIGN KEY	(etu_entreprise) REFERENCES Entreprise(ent_nom),
	FOREIGN KEY	(etu_par_mar)	 REFERENCES Enseignant(ens_nom)
);

Personne n’a d’idée ?

Pas de up pour moins de 24h, sinon je ferme.

Et pour répondre à la question, essaye un trigger avant l’ajout ?