no es necesaria, a menos que te plantees un modelo MVC bien estructurado, pero puedes hacerlo con o sin POO.
puedes, por ejemplo hacerlo de forma estructurada pero utilizando a la vez un ORM POO o similar para bases de datos, como
doctrine, en fin, puedes hacerlo como prefieras