A Spreadsheet is Not a Database
Thinking of Databases as an Excel File is too simplistic a metaphor and misses the main point that differentiates the two.
But, Justin isn’t completely wrong. Sure, a spreadsheet can represent rows and columns of data (i.e. tabular). And, some spreadsheet packages actually go so far as to allow you to have multiple “sheets”, which, with a bit of stretching and (perhaps) misuse can even be related to another table for use in a custom input (e.g. a drop down list) or who knows what. There’s also this concept of pivot tables–the equivalent in a relational database being an aggregate query1.
So, why is his metaphor too simplistic? It relates2 to the fact that a spreadsheet’s data is “live.” It’s a living thing, reacting to changes in input, changes in formulas, newly added formulas, etc.. The difference between a relational database and a spreadsheet is simple. The spreadsheet is a live, running program, and the tables in a relational database are nothing more than rotting bits.
- 2013/09/24
-
Hopefully you don’t notice, but it’s possible in some RDBMSes to create what are known as views (or materialized views, or both). With these, you could essentially define a query (or a procedure) that computed the same data as could be found in your spreadsheet, in a sort of “live” fashion. Updates either occur on some timer, or when you request it via a query. ↩
-
No pun intended ↩