The data tier in a web application is used to provide persistent data storage of information, that is, information such as user data, blog posts, account information, orders, etc. The data tier is typically divided into data access components, and the data store itself. In this course we will focus primarily on the data store, and you will learn how to attach production-quality data stores to your web applications. The data store in a web application is typically a relational (i.e., SQL) database, but it could be many other things: ranging from a key-value store, to a document store, to a graph database (these are often referred to as NoSQL databases). Basically, a data store can be any technology the web application uses to retrieve and store data persistently across web sessions.
In this course you will first learn about entity-relationship diagrams and the basic concepts associated with the relational database model, including the canonical means of interacting with relational databases using queries written in Structured Query Language (SQL). You will learn how to connect the production-quality PostgreSQL database to a web application. Next we will cover a data access topic, namely object-relational mapping. This is used to convert data between incompatible type systems, in our case, between object-oriented data models in a web application and a relational database. You will learn how the Active Record Design Pattern is used to solve the object-relational mapping problem, and you will use it in a web application. Finally, you will learn how to connect a number of NoSQL databases to a web application, including NoSQL databases deployed as cloud services.