I'm talking about this blog post by Chris Woodill.
He mentions the following advantages of modeling data via SQL programming instead of SharePoint's lists:
- Primary And foreign keys: one of the most basic concepts in a database is the enforcement of a unique identifier (either system
generated or user supplied) that can identify a record and link
across table in parent child relationships. - Transactions: if two changes are required to go together and the second change fails you want the first change to be undone (rolled back).
- SQL language: complex queries can me written in code using a standard language. Queries can be saved and repurposed.
- Stored procedures: database programmers can write complex routines that can be called as reusable code blocks.
- Indexing and query optimization: used to improve performance, indexing allows the database designer to pre-index specific fields
that are frequently used in queries to improve performance. In
addition, most databases have optimization engines that based on what you are trying to fetch will optimize how the data is retrieved. - Large data and binary fields: most modern databases allow you to store large binary files such as video files, large volumes of text, images, etc. in the database. SharePoint can be made to store large files as documents but you only get one per record and a generic binary object.
- Access outside of SharePoint: lists are accessible outside of SharePoint but only through XML or programming interfaces. Lists are not great data stores to be used for line of business applications written independently of SharePoint because the integration is relatively poor in comparison to running a SQL query on a database.
- Cascading deletes: if a parent record is deleted, its children should also be deleted. In most databases, this can be configured to happen automatically or else reject the delete of the parent until the children are deleted first. This eliminates the risk of orphan child records.
Are all these 8 problems still present in SP 2010 and 2013? Which have been solved?