Question: I am designing a database for use in an information system. It will have data on customers, employees and items. Needless to say, the customers section alone has about a dozen tables.

I would like to know if it's bad practise to split this data over multiple DBs and then just refer amongst them, or if keeping them all in the same DB would be better.

So, rather having a single DB (e.g. **Company\_DB**) with two dozen tables (e.g `CUS_DETAILS`, `EMP_DETAILS`, etc), would it be better to have two DBs (**Company\_Cus, Company\_Emp**) with the `CUS_DETAILS` in one and `EMP_DETAILS` in the other?

Regards.

Answer: 
I think it's better to have it all in one database, rather than having data scattered throughout several databases.

Personally I think the only reason to separate information in different databases would be to have systems or sub-systems, totally different from each other, on a single platform.

The amount of data will be the same, regardless of how many databases you use.
Are you storing the databases on the same disk? If so, splitting it in different databases would give you no improvements at all. References among multiple databases are way slower than multiple tables in the same database.

A single db, however, will be faster and easier to maintain: Only one database to secure, only one database connection to manage in application, etc. 

The reason for database to exists is to keep a group of related objects together so we can manage them accordingly (otherwise we would just create tables procs and views directly, without tying them to a database, and every table would have its own file, statistics, etc). 

If you think putting the tables on the same database would get messy, maybe you need a better object-naming-pattern? 

Bottom line: seems a really bad practice to me as it gives no advantage and lots of drawbacks.