giusto: asp o asp.net o php (limitiamoci... ne basta uno.)
per database puoi usare anche Access...
tutto dipende dalle aspettative del programmatore.

Per linguaggio dinamico intendi non html, giusto?
Database in che senso a grandi linee?

Quello che sto preparando è una guida (tipo elenco) di una determinata categoria di aziende di tutta Italia.
il database è il raccoglitore di tutti i dati che vuoi inserire,
se non hai necessità particolari le immagini puoi tenerle in una cartella e sottocartelle al di fuori del database salvando solo il percorso sul DB.
quindi puoi aggiornarlo, interrogarlo ed estrapolare i contenuti e presentarli come serve a te.
è una faccenda piuttosto complessa: ogni giorno scoprirai che devi fare due cose nuove alle quali non avevi pensato (ma che avresti dovuto consegnare ieri ) .
ma inevitabile fare tutto questo per il lavoro che hai citato