I am currently doing some self study on Flask web development with Python and I am stuck on the “Database” topic.
In that particular chapter of the book, it was mentioned that there are many different database framework packages that one can choose from to integrate it with the web application that one is currently developing.
From my understanding on what I have read in the book, database frameworks are database management systems (DBMS) which are software system like MySQL, SQLite, Redis, MongoDB, CouchDB, SQLAlchemy etc that can be used to manage and manipulate the database. However, upon further research on this topic, i find the following pretty confusing:
My question is based on the picture attached above: Are database management system (DBMS), database and database engines the same thing? From the snapshot above, snapshot 1 is saying DBMS (MySQL, SQLite etc.) is a computer software application that is used to manage the database itself. Snapshot 2 is saying that the database is a collection of organized information. Snapshot 3 is saying database engines are software components (InnoDB, Aria etc.) that is used by a DBMS to manage database. These 3 points are totally different and I could not see that how a “database engine” can be equivalent to a DBMS and also the “database” itself as stated in the extract in Snapshot 4 and 5.
Appreciate if someone could enlighten me on this.