It is intended to replace spreadsheet use, and the database columnar restrictions are intentional.
Moreover, since it's using sqlite in the backend for the database, cells are allowed to hold the wrong type (and big, red warning colours light up when this happens). This is a sqlite characteristic. So while it mostly does enforce database-like behaviour, it also allows spreadsheet-like lax behaviour.
It really is a mixture of database and spreadsheet.
Comments
It is intended to replace spreadsheet use, and the database columnar restrictions are intentional.
Moreover, since it's using sqlite in the backend for the database, cells are allowed to hold the wrong type (and big, red warning colours light up when this happens). This is a sqlite characteristic. So while it mostly does enforce database-like behaviour, it also allows spreadsheet-like lax behaviour.
It really is a mixture of database and spreadsheet.