[x] Data storage, retrieval and update
[x] User accessible catalog or data dictionary describing the metadata
[ ] Support for transactions and concurrency
[x] Facilities for recovering the database should it become damaged
[x] Support for authorization of access and update of data
[ ] Access support from remote locations
[x] Enforcing constraints to ensure data in the database abides by certain rules
Congratulations, apparently zip files are as much of an RDBMS as SQLite. If I bundle zip with ssh (Access support from remote locations) and Linux (Support for transactions and concurrency) did I just create a new RDBMS?
How many checkboxes do I have to have in order to call anything an RDBMS? Is SSH an RDBMS (Access support from remote locations). Can I just put a catalog in a .txt file and check that box? Is XML an RDBMS because it enforces constraints and supports storage retrieval and update? Are chmod and chown an RDBMS because they support authorization of access and update of data?
> SQLite manages are the database, not just merely a file format.
It turns out databases can be just files. Those files must follow a described file format. SQLite files are relational databases that are instantiations of the file format specification for SQLite files. The SQLite library implements that file format as well as some clever logic to support SQL and ACID compliance. Some SQLite libraries do not support these things.
>Connolly and Begg define database management system (DBMS) as a "software system that enables users to define, create, maintain and control access to the database".[24]
>The functionality provided by a DBMS can vary enormously. The core functionality is the storage, retrieval and update of data. Codd proposed the following functions and services a fully-fledged general purpose DBMS should provide:[25]
[x] Data storage, retrieval and update
[x] User accessible catalog or data dictionary describing the metadata
[x] Support for transactions and concurrency
[x] Facilities for recovering the database should it become damaged
[ ] Support for authorization of access and update of data
[ ] Access support from remote locations
[x] Enforcing constraints to ensure data in the database abides by certain rules
Under this definition SQLite - the library - clearly is an RDBMS that leaves out some common features that do not make sense within its niche but is otherwise fully functional and under this definition the files that SQLite manages are the database, not just merely a file format.