SharePoint is an excellent product for collaboration and content management; however, it is also a great database front end. In this post, I will explain how a list is really nothing more than a data entry and data reporting interface for a back end database.
When you create a list in SharePoint, you are actually creating a set of database table in the back end SQL Server. Because SharePoint allows you to create your own custom lists, the back end database tables are not as simple as traditional tables one might create in a database-driven application, but they are tables nonetheless.
In order to support the list, SharePoint will store two important sets of information. The first is the description of the SharePoint lists and the second is the data stored in the lists. The description of the lists will contain the columns included and the requirements of those columns as well as the lists properties, such as the name and description. The data stored in the SharePoint lists will be in a different table. This table contains all of the column values for all of your lists with list IDs used to map them to the appropriate visible list in the SharePoint interface.
You can verify all of this by directly querying the back end SQL Server database. I don't recommend that you play around in this back end database very much as your actions could quickly lead to disaster (accidentally deleting or improperly modifying data), but you can see the structure SharePoint uses to store the list.
The next time you need a simple tracking table, consider using a SharePoint list. The SharePoint lists will have automatically generated forms. The data will be backed up automatically with your, hopefully, already scheduled SharePoint backups. And the interface will be familiar to your users.
Custom lists provide yet another way that SharePoint shows its power. I'll provide a demonstration video soon showing you just how to create such a custom list. Until then, happy computing!