Je ne pense pas que vous ayez besoin de la table events_alert, cela ne serait nécessaire que si alert et event sont une relation n:n.
événement
------
id_event
alerte
------
id_alert
id_event
message
date
id_category
id_location
id_alert_f pourrait être ajouté à l'événement, pourrait également être récupéré avec une commande par date min [pour obtenir le premier], ou un booléen dans l'alerte comme is_father