First, you look at the data-size expected in the tables, and you look at the expected volume of inserts and deletes. That'll tell you what to expect for each table. Add those together, remembering to include indexes, and perform the necessary math, and you'll have a good idea of the expected size of the database.
Or, for a "rule-of-thumb" solution (less math, more looking), set up a copy of the database and load it up with test/fake data. For example, if you have an orders table, and you expect 100 orders per day, insert 18,000 rows of data into it (enough for about 6 months). Do the same sort of thing for each of the other tables. See how big the database ends up, and how fast it grows, and use that as a starting point.
If you don't want to do all that work yourself, RedGate has a data generator that'll do it for you.
- Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
Property of The Thread
"Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon