A database is like a spreadsheet workbook:

  • A database contains a series of tables.
  • Each table contains a series of columns.
  • Columns have a name and a data type. Data types are typically text, integer, date, and boolean.

The developer dictates the schema, which is the names of all of the tables and all of the column definitions. The developer might also seed one or more tables with an initial set of rows.

Users cannot modify the schema. Instead, they can add, update, and delete rows from one or more tables.

It might sound too simple, but that's actually all that users do on the web: they add, update, and edit rows in a database.

A web application is basically nothing more than a nice-looking record-keeping system.