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, FoxPro, Oracle 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