Sometime simple questions are very interesting. A day ago, jr. developer asked me question : What is Heap?
In SQL Server 2005 data is stored within tables. Data within a table is grouped together into allocation unites based on their column data types, what it means is one kind of data types are stored together in allocation unites. Data within this allocation unit is stored in pages. Each pages are of size 8KB. Group of 8 pages is stored together and they are referred as Extent. Pages within a table store the data rows with structure which helps to search/locate data faster. If the data of table is not logically sorted, in other word there is no order of data specified in table it is called as Heap Structure.
If index is created on table, the data stored in table is sorted logically and it is called as clustered index. If index is created as separate structure pointing location of the data it is called non clustered index.
If you interested in learning more about Indexes read SQL SERVER – Understanding new Index Type of SQL Server 2005 Included Column Index along with Clustered Index and Non-clustered Index
Reference : Pinal Dave (http://blog.SQLAuthority.com)