I have a client who has brought in another developer to work on a separate application which has never been integrated into the much larger application which pretty much runs their entire business model. It is a .net with a MSSQL 2008 R2 database.
They are toying with the idea of taking my 30+ table database and grabbing pieces and parts of it to create a completely new database which I will then be expected to change the current system to follow eventually.
I’m never opposed to optimization, and the main table for customers certainly can be split into 2 additional tables now as they are proposing. However I can’t help but wonder if it doesn’t make more sense to take the existing tables and modify them to add/remove fields they want and develop what is essentially a brand new application based off a lot of the datastructure, hooks, and other services I’ve spent the past 7 years developing. Looking for some experience here from someone who maybe has worked within a large application and how updates are released as time goes on.
The other developer is not out for taking over my client in any way. He’s in his late 60’s, semi-retired, and is doing this as a favor to my client since we’re just slammed. He’s a great guy and has always been open to suggestions and discussions, so this will be no different, but I trust the community here and want to do what is best for my client and their new application. So either way you suggest is perfectly fine to me.
Thanks!
When you alter an existing set of database tables, you have to modify all of the programs that access those database tables all at one time.
When you create a new set of database tables, you have to synchronize the existing with the new, but you have the relative luxury of converting the programs to the new set at a more leisurely pace. This is less risky for a complex business process.