We currently have separate databases per application but I am finding more common tables (ex. countries, employee type) for each database that are replicated. I am considering created a separte lookup database to store all these "lookup" tables. The application databases would then reference the same key in the lookup table which would not only save some space but also allow for cross application/database queries.
Is there an flaw to this design? I don't think I've ever seen it online but most samples online are bound to a single database. The only drawback that comes to mind is the inability to add relationships since that is bound to other tables in the same database. The other issue is .net specific in that I think this would make using the Entity Framework more difficult if not impossible.