A database management system (DBMS) is software that controls the storage, organization, and retrieval of data.
Typically, a DBMS has the following elements:
Kernel code: This code manages memory and storage for the DBMS.
Repository of metadata: This repository is usually called a data dictionary.
Query language: This language enables applications to access the data.
A database application is a software program that interacts with a database to access and manipulate data.
The first generation of database management systems included the following types:
Hierarchical: A hierarchical database organizes data in a tree structure. Each parent record has one or more child records, similar to the structure of a file system.
Network: A network database is similar to a hierarchical database, except records have a many-to-many rather than a one-to-many relationship. The preceding database management systems stored data in rigid, predetermined relationships. Because no data definition language existed, changing the structure of the data was difficult and these systems lacked a simple query language, which hindered application development.
Furthermore, the (DBMS) is a software interface that sits between a database and a user,
or between a database and an application (such as an inventory system). Different DBMSs support different database models and different
ways to create tables and perform CRUD operations.
DDLs [Data Definition Language] and
DMLs [Data Manipulation Language].
A typical DBMS creates, manipulates, modifies, and maintains a database.
A relational database management system (RDBMS) supports the relational model. It performs the same basic functions as those listed for a DBMS. SQL is the data definition and data manipulation language that is packaged with an RDBMS. The following series of images walks you through the major functions of a RDBMS.
Functions of RDBMS
A (RDBMS) relational database management system is a term used to describe an entire suite of programs for both
managing a relational database and
communicating with that relational database engine.
Sometimes (SDK) Software Development Kit front-end tools and complete management kits are included with relational database packages. Microsoft Access is an example of this. Both the relational database and front-end development tools for building input screens are packaged within the same piece of software. In other words, an RDBMS is both the database engine and any other tools that come with the database. RDBMS is just another name for a relational database product.
A Relational Database Management System (RDBMS) serves as a cornerstone in the field of data management and storage. It operates on the premise of the relational model, introduced by E.F. Codd, which organizes data into tables (relations) consisting of rows and columns. The fundamental functions of an RDBMS encompass several key aspects:
Data Storage, Retrieval, and Update: At its core, an RDBMS efficiently stores data in a structured format, using tables. It allows for the retrieval of data through queries, typically written in SQL (Structured Query Language). Users can insert, update, delete, and query data, managing both data and relationships between data.
Data Integrity and Accuracy: The RDBMS enforces data integrity rules to maintain the accuracy and reliability of data. This includes constraints like primary keys (unique identifiers for each record), foreign keys (which establish relationships between tables), and check constraints (which ensure that data entered into a database meets specific criteria).
Data Security: It provides mechanisms to control access to data. This includes authentication (verifying who is accessing the database) and authorization (determining what they are allowed to do). The RDBMS can restrict access to specific tables, fields, or rows within a table.
Data Backup and Recovery: The RDBMS also includes tools for backing up data and recovering data in the event of a failure. This ensures that data is not lost and can be restored to a consistent state.
Transaction Management: It supports transactions, which are sequences of operations performed as a single logical unit of work. Each transaction is atomic, consistent, isolated, and durable (ACID properties). This means that transactions are processed reliably and ensure the integrity of the database.
Concurrent Access and Locking Mechanisms: An RDBMS allows multiple users to access and modify the database concurrently. It employs locking mechanisms and other strategies to ensure that concurrent access does not affect the integrity of the data.
Query Processing and Optimization: The RDBMS includes a query processor to interpret and execute SQL queries. It employs various optimization techniques to ensure that queries are executed in the most efficient manner possible.
Scalability and Performance: It is designed to scale in response to increased data volume or user load, maintaining performance levels. This includes capabilities like clustering, partitioning, and replication.
Data Abstraction and Independence: The RDBMS provides a level of abstraction between the physical storage of data and the logical view presented to users. This data independence allows changes to be made to the database's physical storage without affecting how users access it.
Support for Advanced Features: Modern RDBMSs support advanced features like stored procedures, triggers, and views, which allow for more complex operations and data manipulations.
In summary, a Relational Database Management System provides a comprehensive framework for storing, retrieving, securing, and managing data in a structured format, offering robust tools for ensuring data integrity, security, and performance.
Providing Data Abstraction and Application flexibility with Relational Databases
Relational databases were originally proposed to separate the physical storage of data from its conceptual representation and to provide a mathematical foundation for data representation and querying. The relational data model also introduced a "high-level query language"
(SQL) that provided an alternative to programming language interfaces, making it much faster to write new queries. Relational systems were initially targeted to the same applications as earlier systems and provided flexibility
to develop new queries quickly and
to reorganize the database as requirements changed.
Hence, data abstraction[1] and program data independence were much improved when compared to earlier systems.
Early experimental relational systems developed in the late 1970s and the commercial relational database management systems (RDBMS) introduced in the early 1980s were quite slow, since they did not use physical storage pointers or record placement to access related data records.With the development of new storage and indexing techniques and better query processing and optimization, their performance improved. Eventually, relational databases became the dominant type of database system for traditional database applications.
RDBMS Management and Functions
One RDBMS can manage many relational databases. Oracle, Microsoft, IBM, MySQL, and Sybase have comprehensive RDBMSs available on the market. Each company packages its product(s) with utilities to enhance RDBMS capabilities and performance. Product prices vary widely among these top competitors.
A database management system (DBMS) is a collection of programs that manages the database structure and controls access to the data stored in the database. In a sense, a database resembles a very well-organized electronic filing cabinet in which powerful software, known as a database management system, helps manage the cabinet’scontents.
Data storage: A DBMS provides a systematic and organized way of storing data. It defines the structure of the database in the form of tables, schemas, or other data structures, depending on the type of DBMS (relational, hierarchical, network, etc.).
Data retrieval and querying: A DBMS enables users and applications to retrieve and access data efficiently using a query language, such as SQL for relational databases. It processes queries, optimizes their execution, and returns the requested data to the users or applications.
Data manipulation: A DBMS allows users and applications to insert, update, and delete data. It ensures that data manipulation operations are performed in a consistent and atomic manner, preserving data integrity.
Data consistency and integrity: A DBMS enforces data consistency and integrity rules, such as primary key, foreign key, and unique constraints. It ensures that the data in the database adheres to these rules and maintains referential integrity across related tables or entities.
Transaction management: A DBMS manages transactions, which are a sequence of operations that must be executed atomically (all or nothing) and in isolation from other transactions. It ensures that the database remains in a consistent state even in the case of concurrent transactions, system failures, or errors, adhering to the ACID (Atomicity, Consistency, Isolation, Durability) properties.
Concurrency control: A DBMS implements concurrency control mechanisms to manage simultaneous access to the database by multiple users or applications, preventing conflicts and ensuring data consistency.
Security and access control: A DBMS provides security features to protect data from unauthorized access, modification, or deletion. It implements access control mechanisms, such as user authentication, authorization, and role-based access control, to restrict access to data based on user privileges.
Backup and recovery: A DBMS includes backup and recovery features to ensure data durability and resilience. It allows for regular backups of the database and provides mechanisms to recover data in case of hardware or software failures, data corruption, or human errors.
Performance optimization: A DBMS optimizes the performance of data storage, retrieval, and manipulation operations through techniques such as indexing, query optimization, and caching.
Data import and export: A DBMS provides tools and utilities to import data from external sources or export data to various formats, facilitating data migration, integration, and analysis.
The primary functions of a DBMS are to manage and control data storage, retrieval, manipulation, consistency, integrity, transaction management, concurrency control, security, backup and recovery, performance optimization, and data import/export. These functions ensure that the database is efficient, reliable, and secure, meeting the needs of users and applications.
The next lesson discusses the concept of database change management.
RDBMS - Exercise
Before moving on to the next lesson, click the Exercise link below to check your knowledge of the functions of an RDBMS. RDBMS - Exercise
[1]Data abstraction: Data abstraction is the reduction of a particular body of data to a simplified representation of the whole.
[2]Data Independence: Data Independence is defined as a property of DBMS that helps you to change the Database schema at one level of a database system without requiring to change the schema at the next higher level.