• Unless there's a compelling reason (need for security at the DB level comes to mind) to separate the data, I would go with a single DB. One of the accounting apps I used to support had the data segregated into 12 databases. It was a pain to do any sort of backup and restore to the development or acceptance servers, and writing queries was far slower because of the need to specify the database.

    As for table counts, 800 tables for this sort of application is trivially small.

    Having said that, I would also ask why you want to write your own ERP system when there many more than you can count available from a variety of competent vendors.