Database management: DBMS categorization

DBMS can be categorized in numerous ways based on factors like architecture, data model, simultaneous access, and usage. If you were to categorize DBMS based on usage, you’ll have transaction processing, analytical processing, NoSQL, multimedia, spatial, sensor, mobile, and open source DBMSs. If you were to categorize it based on architecture, you’d have centralized, client-server, n-tier, federated, cloud, and in-memory DBMS. Once again, there are multiple ways to categorize DBMSs and there isn’t a exhaustive or exclusive method of doing so.

Let’s categorize DBMSs based on data model. We have hierarchical, network, relational, object oriented, XML, NoSQL, and object-relational. Hierarchical is simply a tree model that requires no query processor, meaning it is procedural. Network DBMSs is also procedural and uses network data model which is slightly more flexible than a tree model. Relational DBMS uses relational data model and is declarative and set oriented. SQL is an example of relational DBMSs. Object oriented data model encapsulates data and functionality and objects can be transparently stored/retrieved from the database, object-relational simply uses relational model that has been extended with object oriented concepts like user defined functions, XML DBMSs use XML data model is similar to hierarchical and NoSQL is for unstructured big data.