Key-object stores are very useful, but sometimes we need a little more power. Web SQL Database lets us leverage SQL (Structured Query Language) in order to work with structured and relational data simply and efficiently, whereas IndexedDB often needs a lot of programming in order to combine the results from multiple tables or to perform full text searches. SQL makes it very simple to perform these tasks in only a few short lines of code.
As mentioned in the prior chapter, Web SQL Database uses a relational data model typical of databases such as Oracle, PostgreSQL, Microsoft SQL, and many others. This relational model is fantastic for heavily structured data, but isn't so great for data that has a flexible structure. The latter doesn't express relationships within the database schema itself, while the former does, so it can also enforce data integrity at the database level rather than at the code level.
There's one downside to using Web SQL Database: the standards...