Unfortunatley most pages never spread as large as anticipated. I don't mean to scare you, I'm just saying that the time to use several databases is when you know for a fact it is going to be big. Or never, I would recommend using one database no matter how big it gets. More about this further down.
The pros of using one database:
- It is easy to upgrade the software, you only need to change in one database.
- You don't have to invent ways to use different databases.
- It most defenetely is expandable.
- You only have to administer one database
The pros of using several databases:
- It is easier to customize for different schools.
The only pro of using several databases that I can come up with is to make it easier to customize for different schools. But if you do that you should use code and a database that is specific for that school anyway, breaking that school out of the big database and give it a whole application for itself.
Letäs say that it gets fairly big, you have 1000 schools. Then you expand the application with another database table and a few references to that table in the current tables. With one database you would just have to update that one database, and it is easy to test it afterwards. Total time for update and test: about one hour. If you have 1000 databases you first have to update all the databases, then test them all. Or just update and hope that you didn't miss any database. Total time with update and test: at least 200 hours. Total time with only update: at least 40 hours.
So if you don't have any reason that you can say "this is exactly why I need several databases" use one database. Vague reasons like "expandable and flexible" is no reason since it doesn't say anything clearly.