I'm not looking for an exact answer but some from experience. I have developed/designed small databases before but I have been tasked to reverse engineer a web-based application which includes approximately 900 data elements. I'm assuming this database would require about 30-35 tables.
The timeline given preferred is 3-5 days by the customer. Can someone from experience provide me with some information as to how feesible that time line is. I honestly, initially, had given a far much longer time-line.
I think the database schema can be erected fairly quickly (1 week) but more time would be required taking into consideration the relationships, indexes, constraints, keys, etc.
Any insight will be highly appreciated.
asked Oct 31, 2009 at 05:10 PM in Default
It sounds like you are being set up for failure.
I don't know your relationship with the Client but, if possible, it may be best for both of you if you walk away now. Whatever you provide in 3-5 days will be sub-standard and you will always be the one who delivered it, regardless of the unreasonable conditions you were placed under.
That many data elements will have very intricate dependancies and relationships. Forget about even attempting to tackle any of the constraints and stored procedures that will be part of the solution.
If the Client is looking at retaining the current data your noose becomes tighter.
Add access/security on top of all that and you are sure to come up short.
Believe me when I say that you want all the relationships defined in concert with your schema design or you will be creating tables for nothing and creating some truly horrendous workarounds later to make it work later as new relationships are discovered.
answered Nov 01, 2009 at 01:11 AM
I think anybody asking for that sort of database design in 3-5 days doesn't know the craft.
Good design takes thought time - and that time spent thinking about how the system might be used in the future etc will easily outweigh the time spent actually implementing tables etc... and believe me, it will pay dividends...
answered Oct 31, 2009 at 06:44 PM
Matt Whitfield ♦♦
Why do you need to reverse engineer the database? Isn't there a new application to be developed as well? Don't do the two in isolation.
answered Oct 31, 2009 at 06:59 PM