Understanding Data in SharePoint 2010

Whenever you design a data-driven application, regardless of the platform, you need to consider how your data is stored and managed. The data model addresses various aspects of data storage and management, including how and where your data is stored, how the relationships between different pieces of information are defined and managed, and how you will access your data.

When you work with SharePoint 2010, one of the first things you should consider is whether you can map your data storage requirements to the built-in data structures provided by the SharePoint platform. SharePoint defines a wide range of lists that can be used without modification or extended according to your needs by creating list templates, defining list instances, or associating content types you create to a list. The following are some examples:

  • If you want to store a list of projects, together with descriptive information about each project, you can use a basic list.
  • If you want to store statements of work (Word documents) and bid information (Excel workbooks) related to a project, you can use a document library with content types.
  • If you want to store image resources for a particular project, you can use a picture library with content types.

This sounds intuitive, but one of the basic challenges of SharePoint development is to understand what SharePoint provides in order to avoid recreating existing functionality. Spend time exploring the list types and content types that are provided by SharePoint 2010, and consider how these components can meet your needs during the data modeling process.

This section provides an overview of the data-driven components in SharePoint 2010 and examines how they relate to the concepts of data modeling in general. The section includes the following topics:

  • SharePoint Data Models in Broader Context. This topic provides a high-level discussion of how SharePoint 2010 relates to broader issues of data storage and data modeling.
  • SharePoint Columns, Lists, and Content Types. This topic provides an overview of the main components of data storage and data modeling in SharePoint 2010.
  • List Relationships in SharePoint 2010. This topic describes how you can create list relationships and execute queries using these relationships between lists in SharePoint 2010. It examines the key similarities and differences between list relationships in SharePoint and foreign key constraints in relational databases.
  • Query Throttling and Indexing. This topic describes the concept of query throttling in SharePoint 2010 and explains how an effective indexing strategy can mitigate performance issues in general and query throttling in particular.