When I'm designing tables, I try and decouple unrelated data by separating them into two or more tables. This is making the schema more normalized. In the case where you've already deployed a database with a given schema, I would further laud keeping the data in separate tables (your option ii). This ensures that database schema will work with multiple versions of the app, as it's not much fun (possible?) trying to update all the clients that access one remote SQL Server all at the same time.
Foreign keys and triggers can be defined (I believe Visio does this for you automatically) to validate data upon insert and ensure no orphans in the newly added table. I've got many tables that simply contain two columns: two ids that link a row in one table with the row in another (one-to-one relationship)-- without having any direct dependency of one table to the other. =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com
