Just like to share an observation when moving from Cache database development to using MS SQL.
In MS SQL the table definition cannot be isolated from the data. This is a real pain for source control. Anti-pattern?
What I mean is that I can't delete and create a table without loosing the data that it contains. I am limited to using alter statements. Stuck with exporting / importing the data between a table and flat files.
In Cache I can overlay / map many tables over arbitrary storage if I so wanted. I can create and manipulate data before even thinking about having tables.
I was wondering whether this could be used as one of the generalisations of what a "NoSQL" database is.
Maybe a "NoSQL" database is one where tables are optional? Where tables are just a view of data, not hard container / schema for storage.