Skip to content
Learnearn.uk » IB Computer Science » Database Management System (DBMS / RDBMS)

Database Management System (DBMS / RDBMS)

Introduction

Introduction to Database Management Systems

A Database Management System (DBMS) is software that is used to create, manage, and manipulate databases and provides users and programmers with a systematic way to create, retrieve, update, and manage data.

It serves as an interface between the database and its users or the application programs, ensuring that data is consistently organized and remains easily accessible.

Key functions include:

Data Storage, Retrieval, and Update
Data Security and Integrity
Data Administration
Data Models

 

Storage Engine

Database Storage Engine

The storage engine handles the physical storage of data on disk, performs data retrieval and manipulation operations, and ensures data integrity and consistency. It plays a central role in enabling users to create, read, update, and delete (CRUD) data efficiently and reliably.

Key Responsibilities of a Database Storage Engine:

Data Storage and Organization

The storage engine determines how data is organized on disk, using various data structures like tables, indexes, and partitions. It oversees the allocation and management of disk space to accommodate data growth and ensure efficient storage utilization.

Data Access and Retrieval

When a user or application issues SQL queries, the storage engine translates these logical instructions into physical operations to retrieve specific data from disk. It utilizes indexes and other optimization techniques to expedite data retrieval and minimize query response times.

Data Integrity and Consistency

The storage engine safeguards data integrity by maintaining data consistency across the database. It enforces constraints, triggers, and other integrity rules to ensure that data remains accurate and reliable.

Transaction Management

For transactional applications, the storage engine plays a critical role in managing transactions, ensuring data consistency and atomicity in the face of concurrent operations. It employs techniques like locking and rollback to maintain data integrity during transactions.

Data Dictionary

Data Dictionary

A data dictionary is a centralized repository of information about data such as meaning, relationships to other data, origin, usage, and format. It acts as a reference for the database system to understand the structure, constraints, and relationships of the data.

Key components and characteristics of a data dictionary include:

Metadata

It contains metadata, which is data about data. This includes information like table names, column names, data types, sizes of fields, and constraints on the data (like primary keys, foreign keys, unique constraints).

Data Element Descriptions

It provides a detailed description of each data element, including its standard abbreviation, data type, size, allowable values, and any other constraints.

Table Descriptions

For each table or relation in the database, the data dictionary describes its structure, the relationships between tables, and other important attributes.

Usage Rules

It can contain rules for data handling and usage, which helps in maintaining consistency across different parts of the system.

System Information

The data dictionary often includes information about the database system itself, like storage allocation, indexing strategies, and access paths.

Reference Tool

It serves as a guide for database administrators and developers to understand and use the database effectively.

Integrity Constraints

It helps in maintaining the integrity of the database by ensuring that the data follows certain constraints.

Automatic Update

In modern database systems, data dictionaries are usually automatically updated as changes are made to the database structure.

Access Control

The data dictionary can also hold information about access permissions, providing a mechanism for enforcing data security.

Interface

DBMS User Interface

A database management system (DBMS) user interface (UI) is the graphical or text-based interface that allows users to interact with the database. It provides a way to create, read, update, and delete (CRUD) data, as well as to view and analyze data.

There are two main types of DBMS UIs:

Graphical User Interfaces (GUIs)

GUIs provide a visual representation of the database, with icons, menus, and windows. This makes them easier to use for people who are not familiar with SQL or other database programming languages.

Text-based Interfaces (TUI / CLI)

TUIs provide a more command-line-based interface, where users type SQL commands to interact with the database. This can be more powerful and flexible than a GUI, but it can also be more difficult to learn.

Backup

Database backup support

The backup feature in a Database Management System (DBMS) is a critical component for ensuring data integrity and continuity. This feature allows organizations to recover data after unforeseen events like system failures, data corruption, or accidental deletions.

This includes support for:

  • Full, incremental & differential backups
  • Automated backups & backup verification
  • Online & offline backups
  • Hot & cold backups
  • Transaction log file backups
  • Data security and encryption

Reports

Database Reports

There are many different types of database reports, but they can be broadly classified into the following categories:

Summary reports

Summary reports provide a high-level overview of data, such as total sales or the number of new customers.

Detail reports

Detail reports provide a more granular view of data, such as transactions on a particular day or a specific user’s purchase history.

Drill-down reports

Drill-down reports provide a combination of summary and detail information, allowing users to explore data from multiple levels of detail.

Cross-tabulated reports

Cross-tabulated reports summarize data across multiple dimensions, such as sales by product category and region.

Pivot tables

Pivot tables are a type of cross-tabulated report that allows users to dynamically rearrange data and explore it from different perspectives.

Security

DBMS Security Features

Authentication
Ensures that only authorized users can access the database. This is often accomplished through usernames and passwords, though more advanced systems might use biometric authentication or multi-factor authentication.

Authorization and Access Control
Determines the levels of access granted to different users or user groups. This includes read, write, update, and delete permissions on specific data or database objects (tables, views, procedures).

Encryption
Encrypts data stored in the database as well as data in transit to and from the database. Encryption is vital for protecting sensitive information like personal data, financial information, etc.

Auditing
Tracks and records database activities, providing an audit trail that can be analyzed for suspicious activities or used for compliance purposes.

Data Masking
Hides sensitive data by obscuring it (for example, showing only the last four digits of a social security number). This is useful for users who need to access the database but don’t need to see sensitive information.

Row-level Security
Controls access to rows in a database table based on the characteristics of the user executing a query. This allows different users to access the same table while having different views of the data.