Cita: Tenia pensado crear automáticamente una base de datos con las mismas características (80 tablas) por cada escuela que se registre y manejar su información de forma independiente..
Si el sistema Web se comporta como un SaaS (Software as a service), es decir, generas una instancia independiente de ejecución del sistema por cada escuela que se registra, entonces también deberías crear una base de datos por cada escuela, esto tiene ventajas como por ejemplo, definir diferentes políticas de backup, almacenamiento, seguridad, optimización, etc en función del uso o tamaño de cada base, la desventaja es el mantenimiento, por ejemplo si una actualización del sistema requiere crear una tabla nueva, lo tienes que hacer en cada base.
Cita: ..inclusive también dividir estas bases de datos individuales por años.
basededatos1-2011, basededatos1-2012.
basededatos2-2011, basededatos2-2012.
Esto no se recomienda, cuando tienes que dividir los datos, en este caso por años, se debe hacer a nivel de tabla con Partitioning, pero además, no es una decisión que se toma en la fase de diseño del modelo, más bien corresponde a la fase de tuning y solo se implementa en las bases de datos que lo necesiten, hay más info en
http://dev.mysql.com/doc/refman/5.6/...titioning.html
Saludos