Introduction
As the complexity of our code and the demands of our objectives increase, we soon realize the need for a place to store our data.
We then have to ask the question: What is the best way to store our data? The answer depends on the type of data we are working with since different challenges require different solutions.
If we're doing something very simple, we could save our data as a flat CSV file, which has the added benefit of enabling users to view the CSV file in a spreadsheet application.
If we are working with data that has clearly relational qualities, for instance accounting data whereby there are clear, distinct relationships between two sides of a transaction, then we would choose a relational database such as the popular MySQL.
In many cases relational databases became a de facto standard for nearly all data scenarios. This led to the necessity of imposing relationships upon otherwise loosely-related data (such as website content) in an attempt to squeeze it into our relational...