Database Management System (DBMS) : 

  • A Database Management System (DBMS) is a software application or system that enables users to efficiently create, manage, and interact with databases
  • A database is a structured collection of data that is organized and stored for easy retrieval and manipulation. 
  • DBMS serves as an intermediary between users and the database, allowing users to interact with the data without needing to understand the underlying technical details of data storage and retrieval.
  • In 1960, Charles W. Bachman designed the integrated database system, the” first” DBMS.

Common types of Database Management Systems include:

  • Relational DBMS (RDBMS): Stores data in structured tables with predefined relationships. 
    • Examples : MySQL, PostgreSQL, FoxProOracle Database, and Microsoft SQL Server.
  • NoSQL DBMS: Suitable for unstructured or semi-structured data, NoSQL databases include document stores (e.g., MongoDB), key-value stores (e.g., Redis), and graph databases (e.g., Neo4j).
  • NewSQL DBMS: A hybrid approach that combines the benefits of RDBMS and NoSQL databases, providing scalability and ACID (Atomicity, Consistency, Isolation, Durability) compliance. Examples include CockroachDB and Google Spanner.
  • In-memory DBMS: Stores data in memory for faster access and low-latency operations. Examples include Redis and Apache Cassandra.

SQL (Structured Query Language):

  • SQL is a standardized programming language used for managing and querying relational databases.
  •  It provides a set of commands for defining and manipulating data and database structures.

DML (Data Manipulation Language):

  • DML is a subset of SQL (Structured Query Language) used to manipulate and manage data stored in a database. 
  • It includes commands for performing operations such as retrieving, inserting, updating, and deleting data in database tables.

DDL (Data Definition Language):

  • DDL is another subset of SQL used to define, modify, and manage the structure of a database, including tables, constraints, indexes, and other schema-related objects. 
  • DDL commands are used to create, alter, and delete database objects.

DCL (Data Control Language):

  • DCL is a subset of SQL that deals with access control and permissions within a database. 
  • DCL commands are used to grant or revoke privileges to users or roles, allowing or restricting access to certain database objects.

ODBC (Open Database Connectivity)

  • ODBC stands for “Open Database Connectivity,” and it is a standard interface for connecting and interacting with databases. 
  • ODBC is designed to enable applications to access data from various database management systems (DBMS) in a consistent and uniform manner, regardless of the specific database system being used. 
  • It was developed by Microsoft and later adopted as a standard by many other software vendors.

Data processing : 

  • Data processing refers to the transformation of raw data into meaningful and useful information through a series of operations and techniques. 
  • It involves various stages.
    • Data Manipulation : Data manipulation involves altering the structure or content of data to make it more suitable for analysis, reporting, or visualization.
    • Data Computation : Data computation involves performing calculations, mathematical operations, and data transformations on datasets to derive new information or metrics.
    • Information management in a database involves the systematic organization, storage, retrieval, and utilization of data to turn it into meaningful and valuable information for decision-making, analysis, and various business processes. 

Windows Registry : 

  • In Microsoft Windows operating systems, the Windows Registry, often referred to simply as the “Registry,” is a hierarchical database used to store configuration settings and options for the Windows operating system and installed software. 
  • It plays a crucial role in managing system settings, user preferences, and application configurations. 

Extension of a database:

  • The extension of a database refers to the actual data stored in the database at a specific point in time
  • It is the collection of all the rows or records in the database tables.

Intension of a database:

  • The intension of a database refers to the overall structure, schema, or design of the database. 
  • It defines the data types, relationships between tables, constraints, and the organization of data within the database.

Database software : 

  • Database software, also known as a database management system (DBMS), is used to create, manage, and manipulate databases. some examples of popular database software:
    • Microsoft SQL Server: Developed by Microsoft.
    • Oracle Database: 
    • MySQL: 
    • PostgreSQL:
    • MongoDB
  • SQLite.
  • IBM Db2: 
  • MariaDB: 
  • Apache Cassandra
  • Redis: Redis is an in-memory data store that can be used as a database, cache, or message broker. 
  • CouchDB
  • Amazon Aurora: offered by Amazon Web Services (AWS)..
  • Microsoft Access: Microsoft Access is a desktop database management system included in the Microsoft Office suite. 

Database Structure and its types

  • The structure of a database refers to how data is organized and stored within the database management system (DBMS). 
  • It is the Building blocks of a database.
  • Two Types of Database Structure
    • linear data structure
    • Non linear data structure

linear data structure : 

    • A linear data structure is a type of data structure in which data elements are organized sequentially, and each element has a unique predecessor and successor, except for the first and last elements.
    • Here are some common examples of linear data structures:
  • Arrays
  • Stacks
  • Linked Lists
  • Vectors (Dynamic Arrays)
  • Strings

Arrays

  • An array is a collection of elements/ data stored in contiguous memory locations. 
  • It can store a fixed size collection of elements of the same data type.
  • Elements can be accessed using their indices. 
  • Arrays have a fixed size when declared.
  • In many programming languages like C, C++, and Java, arrays are used to store collections of data.

Linked Lists:

  • A linked list is a collection of nodes, where each node contains a data element and a reference (or link) to the next node in the sequence. 
  • Linked lists can be singly linked (each node points to the next) or doubly linked (each node points to both the next and previous nodes).
  • Linked lists are commonly used in data structures and algorithms.

Stacks:

  • A stack is a linear data structure that follows the Last-In-First-Out (LIFO) principle. 
  • Elements are added and removed from the top of the stack. 
  • All Insertions and Deletions are made at one end.
  • Example: The call stack in programming is implemented as a stack data structure.

Queues:

  • A queue is a linear data structure that follows the First-In-First-Out (FIFO) principle. 
  • Elements are added at the rear (enqueue) and removed from the front (dequeue) of the queue. 
  • It is used for tasks that require processing in a specific order.
  • Print job management in a printer queue is an example of using a queue.

Vectors (Dynamic Arrays):

  • A vector is a dynamic array that can grow or shrink in size as needed. It combines some properties of arrays (random access) with dynamic sizing.

Strings:

  • Strings are sequences of characters , where each character follows the next in a linear fashion
Database Concepts