Yes, DBMS (Database Management System) is software that manipulates the data. There are these most popular ones. SQL is simply an integrated or independant layer that will extract a subset of a larger database and then, that smaller database can be manipulated by the DBMS, but data is not considered the management system only the software like ACCESS or FILEMAKER that manipulates it.
I can definately appreciate why this seems like a fog. Generally speaking, the application that defines the fields, establishes realations between one table and the other and thier key fields is considered DBMS, or a least in my opinion. Even though you can enter and view data in the DBMS, I don't consider data entry, database management.
I used to design databases using Access and implemented front ends (application that would manipulate the data) using VB. This way, the client didn't need Access or Visual Basic, but I could supply the EXE & MDB files. However, had I used those constructs in VB that could create fields, relationships and queries, it could then have been considered a DBMS.
There was one occasion where if the database did not exist, code was designed into the front end application to create fields, key fields and relationships. Once that was done, it was done, so I wouldn't consider the application a management system as the focus was data entry. The user was totally unaware though, that when they were looking for a customer by surname, the application was actually using a sequel statement to extract that subset and then put the result in a list box.
The term SQL database is ambiguous also. The fact that you can issue a sequel statement and derive a subset is completely irrelevant to the user and by looking at the data would have no way of knowing this.
If you're in one of those predicaments where cls.__private attributes just aren't enough since they can easily be accessed through inst._cls__private, and you need something a little more secure, here's ...