
- DBMS - Home
- DBMS - Overview
- DBMS - Architecture
- DBMS - Data Models
- DBMS - Data Schemas
- DBMS - Data Independence
- DBMS - System Environment
- Centralized and Client/Server Architecture
- DBMS - Classification
- Relational Model
- DBMS - Codd's Rules
- DBMS - Relational Data Model
- DBMS - Relational Model Constraints
- DBMS - Relational Database Schemas
- DBMS - Handling Constraint Violations
- Entity Relationship Model
- DBMS - ER Model Basic Concepts
- DBMS - ER Diagram Representation
- Relationship Types and Relationship Sets
- DBMS - Weak Entity Types
- DBMS - Generalization, Aggregation
- DBMS - Drawing an ER Diagram
- DBMS - Enhanced ER Model
- Subclass, Superclass and Inheritance in EER
- Specialization and Generalization in Extended ER Model
- Data Abstraction and Knowledge Representation
- Relational Algebra
- DBMS - Relational Algebra
- Unary Relational Operation
- Set Theory Operations
- DBMS - Database Joins
- DBMS - Division Operation
- DBMS - ER to Relational Model
- Examples of Query in Relational Algebra
- Relational Calculus
- Tuple Relational Calculus
- Domain Relational Calculus
- Relational Database Design
- DBMS - Functional Dependency
- DBMS - Inference Rules
- DBMS - Minimal Cover
- Equivalence of Functional Dependency
- Finding Attribute Closure and Candidate Keys
- Relational Database Design
- DBMS - Keys
- Super keys and candidate keys
- DBMS - Foreign Key
- Finding Candidate Keys
- Normalization in Database Designing
- Database Normalization
- First Normal Form
- Second Normal Form
- Third Normal Form
- Boyce Codd Normal Form
- Difference Between 4NF and 5NF
- Structured Query Language
- Types of Languages in SQL
- Querying in SQL
- CRUD Operations in SQL
- Aggregation Function in SQL
- Join and Subquery in SQL
- Views in SQL
- Trigger and Schema Modification
- Storage and File Structure
- DBMS - Storage System
- DBMS - File Structure
- DBMS - Secondary Storage Devices
- DBMS - Buffer and Disk Blocks
- DBMS - Placing File Records on Disk
- DBMS - Ordered and Unordered Records
- Indexing and Hashing
- DBMS - Indexing
- DBMS - Single-Level Ordered Indexing
- DBMS - Multi-level Indexing
- Dynamic B- Tree and B+ Tree
- DBMS - Hashing
- Transaction and Concurrency
- DBMS - Transaction
- DBMS - Concurrency Control
- DBMS - Deadlock
- Backup and Recovery
- DBMS - Data Backup
- DBMS - Data Recovery
- DBMS Useful Resources
- DBMS - Quick Guide
- DBMS - Useful Resources
- DBMS - Discussion
DBMS - Classification
Databases are nothing but a sophisticated way to store data. Database Management Systems (DBMSs) are essential for managing data efficiently. However, not all DBMSs are the same. They are classified based on different criteria that impact how they store, process, and provide access to data.
In this chapter, we will understand the major types of DBMSs, with examples and explanations of their unique features for a better understanding.
Classification by Data Model
Data model is the foundation of any DBMS; it determines how the data is organized, represented, and interacted with. We can classify a database into a specific category based on the data model it uses:
Relational DBMS (RDBMS)
Relational databases use a table-based format for data storage. The data is stored in rows and columns. This structure makes data relationships easy to manage, using keys to connect tables.
MySQL is one of the most popular RDBMSs. It is used by many different websites and applications for tasks like managing user data and processing orders. Other examples include Oracle Database and Microsoft SQL Server.
Object-Oriented DBMS (OODBMS)
Object-oriented databases store data as objects, similar to how programming languages like Java and C++ structure data. These DBMSs are great for applications that involve complex data structures.
For example, db4o (Database for Objects) is an OODBMS often used in embedded systems. It can handle complex data models directly, which makes it a good fit for applications with nested data. For example an inventory systems with different types of products.
Hierarchical DBMS
A hierarchical DBMS organizes its data in a tree-like structure. Each parent record has one or more child records, resembling a family tree. This model works well for situations where data relationships are naturally hierarchical. IBM's IMS (Information Management System) is a classic hierarchical DBMS. It is used in industries like banking to maintain customer records.
Network DBMS
A Network DBMS allows multiple parent-child relationships, forming a web-like data model. This flexibility supports more complex relationships. IDMS (Integrated Database Management System) is a network DBMS. It is often used for applications requiring many-to-many relationships, such as supply chain management.
NoSQL DBMS
NoSQL databases are designed to handle large volumes of unstructured or semi-structured data. They are more flexible than traditional relational databases and cater to the needs of modern applications, where variable data schemas are used.
A NoSQL DBMS can be further classified into the following categories −
- Document-based − Stores data in documents, often in JSON format (e.g., MongoDB).
- Key-Value Stores − Simple databases where data is stored as a key and associated value (e.g., Redis).
- Column-family Stores − Store data in columns rather than rows, suitable for analytical processing (e.g., Cassandra).
- Graph Databases − Designed to handle data with complex relationships (e.g., Neo4j).
MongoDB is widely used in applications where scalability and flexibility is needed. It is like real-time analytics and content management systems.
Classification by User Support
We can also classify a database based on the number of users it can support simultaneously:
Single-User Systems
Here the systems support one user at a time. These are often used for personal or small-scale applications. They typically run on individual PCs or workstations. For example, Microsoft Access is a single-user DBMS suitable for small business data management tasks.
Multi-User Systems
Multi-user systems allow multiple users to access and work with the database simultaneously. These are needed for collaborative environments and enterprise-level applications. For example, PostgreSQL is a powerful multi-user DBMS, known for its advanced features like concurrency control and high availability. It is used by large businesses for data warehousing and complex transactions.
Classification by Database Distribution
We can classify a database based on the way it stores the data:
Centralized DBMS
In a centralized DBMS, the data is stored in a single location. It is such as one server or data center. All user access and data processing are handled centrally. Like a university’s library system that stores all the records in one main server and allows students and faculty to access them remotely is a form of centralized DBMS.
Distributed DBMS (DDBMS)
A distributed DBMS is used to store data across multiple locations, connected through a network. This setup gives data to be processed locally while still being part of a larger database. There are quite a few such solutions like Amazon DynamoDB. They are distributed NoSQL database service, designed to handle large amounts of data across different regions and data centers. It is often used for high-availability applications like online gaming or financial transactions.
Distributed DBMS can be further classified into two different categories −
- Homogeneous DDBMS − All sites use the same DBMS software.
- Heterogeneous DDBMS − Different sites may use varied DBMS software, but a middleware facilitates integration.
Classification by Cost and Licensing
One can also consider the financial aspects of a DBMS, like its cost and licensing, to put it into a category −
Open-Source DBMS
Open-source DBMSs are free to use and can be modified as needed. Such databases are ideal for small and medium businesses or development projects with budget constraints. For example, MySQL and PostgreSQL are popular open-source DBMSs.
Commercial DBMS
Commercial DBMSs come with licensing fees and often provide robust customer support, additional features, and service-level agreements. For example, Oracle Database is a commercial RDBMS with extensive capabilities like real-time data analytics and high transaction processing speeds. It is a go-to database for financial institutions and large corporations that need reliable, scalable database solutions.
Classification by Purpose
Some DBMSs are classified based on their specific uses or performance requirements −
General-Purpose DBMS
A general-purpose DBMS can handle various types of data and support multiple applications and use cases. For example, SQL Server is a general-purpose DBMS used for everything from small business applications to large-scale enterprise systems.
Special-Purpose DBMS
Special-purpose DBMSs are built to meet specific requirements. For instance, some are designed for handling streaming data or specialized analytics. Real-time processing systems, like those used in telecommunications for call records, often rely on specialized DBMSs optimized for rapid data ingestion and retrieval.
Conclusion
In this chapter, we highlighted how a databased can be classified into different categories based on various criteria such as data models, user support, database distribution, cost, and purpose.
We also explored examples such as MySQL, MongoDB, and Oracle Database, understanding their unique features and applications. Each type of DBMS has its own distinct purpose, from supporting a single user on a personal project to managing data for a global enterprise.