Estimating the Size of a Database
When you design a database, you may have to estimate how large the database will be when filled with data. Estimating the size of the database can help you determine the hardware configuration you will require to do the following:

Achieve the performance required by your applications. For more information, see Hardware Considerations in Database Performance.

Guarantee the appropriate physical amount of disk space required to store the data and indexes.
Estimating the size of a database can also help you determine whether the database design needs refining. For example, you may determine that the estimated size of the database is too large to implement in your organization and that more normalization is required. Conversely, the estimated size may be smaller than expected. This would allow you to denormalize the database to improve query performance.
To estimate the size of a database, estimate the size of each table individually and then add the values obtained. The size of a table depends on whether the table has indexes and, if they do, what type of indexes.
Topic  Description 

Defines the steps and calculations needed to estimate the amount of space required to store the data in a table and associated indexes.  
Defines the steps and calculations needed to estimate the amount of space required to store the data in a heap. A heap is a table that does not have a clustered index.  
Defines the steps and calculations needed to estimate the amount of space required to store the data in a clustered index.  
Defines the steps and calculations needed to estimate the amount of space required to store the data in a nonclustered index. 
Concepts
Designing IndexesOther Resources
Designing TablesDesigning Databases