Database Systems
Database Systems
Atomicity of updates refers to the concept of File-based systems do not provide any
treating multiple related updates as a single, mechanisms for managing concurrent access to
complete operation. Imagine you have a banking files. Therefore it is up to the individual users to
coordinate their access to files to avoid these
application that needs to transfer money between
kinds of issues. This can be difficult and time
two accounts. Atomic updates ensure that either
consuming , especially in a large organization
the entire transfer is completed successfully, or with many users and many files. Additionally ,
no changes are made at all. file based systems do not provide any way to
enforce access control , so there is no way to
Let's say you transfer money from Account A to
prevent unauthorized access to files.
Account B. Without atomicity, if the update to
Account A succeeds but the update to Account B DBMS Architecture
fails halfway through, you could end up with an
inconsistent state. Account A would show the The architecture of DBMS depends on the
deducted amount, but Account B would still show computer system on which it runs. For example ,
in a client server DBMS architecture , the
the old balance. This can cause confusion and
database systems at a server machine can run
problems in managing finances.
several requests made by client machine. We will
To avoid such issues, atomic updates ensure that understand this communication with the help of
diagrams.
all related updates happen together or not at all.
In a multi-user environment, where multiple
There are three types of DBMS architecture :-
people may be accessing and modifying the same
data simultaneously, atomic updates are crucial. 1) SINGLE TIER ARCHITECTURE
They prevent conflicts and data corruption that
can occur when different users update the same In this type of architecture the database is readily
data at the same time. on the client machine , any request made by
client does not require a network connection to
Relational database systems offers support for perform the action on the database. For
atomic updates through the user of transactions , example , let’s say we want to fetch the records
which allows multiple related updates to be of employee from the database and the database
grouped together and treated as single , is available on your computer system , so the
indivisible operation. If a transaction fails , all request to fetch employee details will be done by
the changes made during the transaction can be your computer and the records will be fetched
rolled back , ensuring that the data remains from the database by your computer as well. This
consistent. type of system is generally referred as local
database system.
Concurrent access by multiple users
SELECT :- To read records from tables 2) Network Model :- The network model is a data
INSERT :- To insert records in to the tables model used in DBMS that is a modification of the
UPDATE :- Update the data in table(s) hierarchical model. In this model , data is
DELETE :- Delete all the records from the table represented in a graph-like structure with nodes
and edges. The nodes represent the data entities ,
3) Data Control Language (DCL) :- It is used to and the edges represent the relationship between
control the access to the database. DCL those entities.
commands are used to grant and revoke
permissions to the users and roles. These In the network model , each node have multiple
commands ensures the security of the data by parent and child nodes. This allows for more
controlling the access to the database objects. complex relationships between data entities to be
represented than in the hierarchical model. Nodes
GRANT :- To grant access to user can also be connected to multiple edges ,
REVOKE :- To revoke access from user allowing for more flexibility in representing
relationships.
4) Transaction Control Language :- It is used to
manage the transactions in the database. One of the key benefits of the network model is
Transactions are a set of operations that are its ability to represent complex data
relationships , however this complexity can also modeled. Each entity has attributes that describe
make it difficult to design and maintain. its properties.
3) Relational Model :- The relational data model Attributes :- Represented as ovals or circles
Is the most widely used data model in modern attached to the entity , attributes describe the
database management system. In this model , properties of an entity. For example , a student
data is organized in tables consisting of rows and entity might have attributes such as name ,
columns. student ID , and date of birth.
4) Object oriented Model :- The object oriented Relationship :- Represented as lines between
data model is designed to store complex data entities , relationships describe how entities are
types such as images , sound and video. In this related to each other. Relationships can be one to
model , data is organized in objects , which one , one to many , or many to many.
consist of attributes and methods. It provides a
high level of flexibility and supports complex SYMBOLS FOR ER-DIAGRAM
relationships between objects. It is mainly used in
multimedia applications. In an Entity-Relationship (ER) diagram, different
symbols are used to represent the components of
5) ER-Model :- The entity relationship model is
the database model. Here is a detailed description
conceptual data model that represents data as a
set of entities and their relationships. It is mainly of each symbol:
used to design database systems before they are
1. Rectangle: A rectangle is used to represent
implemented. The model is composed of three
an entity set, which represents a group or
components , entities , attributes and their
relationships. It provides a graphical collection of similar entities. An entity set
representation of the data model , which makes can represent a real-world object, such as
it easy to understand and communicate. a customer or an employee, or a concept,
such as an order or a product.
ENTITY RELATIONSHIP DIAGRAM
2. Ellipses: Ellipses are used to represent
An entity – relationship diagram (ERD) is a attributes, which are characteristics or
graphical representation of entities and their properties of an entity. Attributes describe
relationships to each other. ER diagrams are the specific details or information
typically used in software engineering and associated with an entity. For example, a
database design to help visually represent the customer entity may have attributes like
relationships between entities.
name, address, and phone number.
An entity is a person , a place , a thing or event 3. Diamonds: Diamonds are used to represent
that is relevant to the system being modeled. For relationship sets, which define the
example , in a university database , entities
associations or connections between entity
might include students , courses , instructors ,
sets. Relationship sets describe how
and departments.
entities from different entity sets are
A relationship is an association between entities. related or linked to each other. For
For example in the university database , there example, a relationship set can represent
might be a relationship between students and the "works for" relationship between
courses , where a student can take many courses employees and departments.
and a course can have many students.
4. Lines: Lines are used to represent the
ER diagrams typically include the following connections between different components
components :- in an ER diagram. They are used to
connect attributes to entity sets and entity
Entities :- Represented as rectangles , entities are
sets to relationship sets. For example, a
the objects that exist with in the system being
line can connect an attribute like "age" to
an entity set like "student", indicating Components of a ER diagram
that "age" is an attribute of the "student"
entity. 1) In entity – in relationship diagrams a strong
entity is an entity that can exist independently ,
5. Double Ellipses: Double ellipses are used where as a weak entity is an entity that can not
to represent multi-valued attributes. A exist being associated with a specific strong
multi-valued attribute is an attribute that entity.
can have multiple values for a single
entity. For example, an entity representing A strong entity is also referred to as a regular
entity because it is independent and has its own
a student may have a multi-valued
unique identifier. For example , in a database for
attribute like "hobbies" that can have
a university , a student is a strong entity because
multiple hobbies associated with it. they have their own unique identifier such as a
student ID number.
6. Dashed Ellipses: Dashed ellipses are used
to represent derived attributes. A derived
On the other hand a weak entity is dependent on
attribute is an attribute whose value can a strong entity and can not exist without it. A
be derived or calculated based on other weak entity does not have its own unique
attributes. It is not directly stored in the identifier and instead relies on the identifier of
database but can be derived from other the related strong entity. For example , in the
attributes. For example, the age of a same university database , a course offering may
be a weak entity because it can not exist without
person can be derived from their birth
being associated with a specific department ,
date.
which is a strong entity.
7. Double Rectangles: Double rectangles are
Weak entities are typically represented in ER
used to represent weak entity sets. A
diagrams with a double rectangle , while strong
weak entity set is an entity set that
entities with a single rectangle. The relationship
cannot be uniquely identified by its own between strong entity and a weak entity is
attributes. It depends on the existence of represented with a solid diamond shape , with
a related entity set called the owner the weak entity being connected to the strong
entity set. For example, a "dependent" entity with a line.
entity set may be a weak entity set that
For example , a bank account can not be
depends on the "employee" entity set as
uniquely identified with out knowing the bank to
its owner.
which the account belongs , so bank account is a
weak entity.
3) RELATIONSHIP
1) One to one
2) One to many
3) Many to one
4) Many to many
2) Binary Operators :- These operators take two The result of this operation would be a new
relations as input and produce a new relation as relation that contains the following tuples.
output. Examples of binary operators include join
and set operations such as union , intersection ID Name Age Salary
and difference. 3 Bob Jones 40 60000
π(Name, Email)(Customers)
Name Email
John Smith [email protected]
m
Williams L-17
R ∩S
Hayes L-15
B
Jackson L-14
ID Name Age
Curry L-93
2 Jane Smith 25
Williams L-17
4 Alice Lee 35
6 Tom 50
Input :- ∏ CUSTOMER_NAME (BORROW) ∪ ∏
Jackson
CUSTOMER_NAME (DEPOSITOR)
Smith
A ∩ B
Mayes
The result of this operation would be a new
Turner
relation that contains only the tuples that appear
Jones in both input relations.
Lindsay
ID Name Age
Hayes
2 Jane Smith 25
Jackson
4 Alice Lee 35
Curry
Williams In this example , the set intersection operator has
been used to find the common tuples in both
4 Set Intersection input relations. The resulting relation contains
only the tuples that appear in both relations.
In relational algebra , the set intersection
operator is a binary operator that combines two
relations and returns a new relation containing
5) Set Difference The set difference operator is a useful tool for
finding the elements that are unique to a
In relational algebra , the set difference operator particular set of data. It is widely used in SQL
is a binary operator that combines two relations and other query languages to construct complex
and returns a new relation containing only the queries that can extract meaningful insights from
tuples that appear in the first relation but not in large datasets.
the second relation. The set difference operator is
represented by the symbol :- R – S 6) Cartesian Product
Where R and S are the input relations. For In relational algebra , the Cartesian product is a
example , consider the following two relations binary operator that combines two relations and
named “A” and “B”. returns a new relation that contains all possible
combinations of tuples from both input relations.
A : The Cartesian product operator is represented by
the symbol x.
ID Name Age
The Cartesian product operator is used in the
1 John Doe 30 following way :-
2 Jane Smith 25
R X S
3 Bob Jones 40
4 Alice Lee 35 Where R and S are the input relations. For
example , consider the following two relations
B. named “A” and “B”.
A
ID Name Age
2 Jane Smith 25 ID Name Age
4 Alice Lee 35 1 John Doe 30
6 Tom Jackson 50 2 Jane Smith 25
A left join is a type of join operation in a Imagine you have two groups of friends, Group A
relational database that combines two tables and Group B. This time, you want to find out
based on a common attribute and returns all the which friends from Group B also belong to Group
records from the left (or first) table and the
A. So, you decide to perform a right join.
matching records from the right (or second) table.
If there is no match in the right table, NULL In a right join:
values are used for the attributes of the right
table in the result set. • You take all your friends from Group B
and write down their names.
Imagine you have two groups of friends, Group A • Then, you look at Group A and see if any
and Group B. You want to find out which friends of your friends from Group B are also
from Group A also belong to Group B. So, you there.
decide to perform a left join. • If a friend from Group B is in Group A,
you write down their name next to their
In a left join:
friend from Group B.
• You take all your friends from Group A • But if a friend from Group B is not in
and write down their names. Group A, you leave that space empty, like
• Then, you look at Group B and see if any a blank space.
of your friends from Group A are also
The right join ensures that you include all your
there.
friends from Group B, even if they don't have
• If a friend from Group A is in Group B,
any friends in Group A. So, the final list will
you write down their name next to their
have the names of all your friends from Group B,
friend from Group A.
and if they have friends in Group A, their names
• But if a friend from Group A is not in
will be written next to them. If they don't have
Group B, you leave that space empty, like
any friends in Group A, the space next to their
a blank space.
name will be empty.
The left join ensures that you include all your
In essence, the right join is similar to the left
friends from Group A, even if they don't have
join, but it focuses on the right (second) group
any friends in Group B. So, the final list will
instead of the left (first) group. It helps you see
have the names of all your friends from Group A,
which friends from one group also belong to
and if they have friends in Group B, their names
another group, and it ensures that you don't miss
will be written next to them. If they don't have
any friends from the second group, even if they
any friends in Group B, the space next to their
don't have any connections in the first group.
name will be empty.
That's how a right join works! It allows you to
That's how a left join works! It helps you see
find the connections between friends in different
which friends from one group also belong to
groups, considering the right group as the Full Functional Dependency: A full functional
primary focus. dependency occurs when an attribute is
functionally dependent on the entire combination
A full outer join is a type of join operation in
of values in the primary key, and not on any
SQL that combines records from two tables based
subset of the key. This means that the attribute
on a specified condition and includes all tuples
depends on all the attributes of the primary key,
from both tables, whether they have a match or
and removing any attribute from the key would
not. It ensures that no data is left out and
break the dependency. In simpler terms, the
includes both the matching tuples and the non-
value of the attribute is determined by the entire
matching tuples from both input tables.
primary key. If any proper subset of the primary
To understand a full outer join, let's imagine two key can determine the attribute, it is not a full
tables: Table A and Table B, each containing functional dependency.
different sets of data. A full outer join between
Example: Consider a table with attributes
these tables works as follows:
(columns) Student ID, Course ID, and Course
1. Take all the tuples from Table A and Instructor. If Course Instructor is fully
write down their attributes. functionally dependent on the combination of
2. Look at Table B and check if any tuples Student ID and Course ID, it means that for a
have matching values based on the given Student ID and Course ID, there is a
specified condition. unique Course Instructor associated with it.
3. If a tuple from Table A matches a tuple
Partial Functional Dependency: A partial
from Table B, write down the attributes
functional dependency occurs when an attribute is
of both tuples together in the result set.
functionally dependent on only a part of the
4. If a tuple from Table A doesn't find a
primary key, and removing any attribute from the
match in Table B, still write down its
key would still maintain the dependency. This
attributes in the result set, using NULL
means that the attribute depends on a subset of
values for the attributes from Table B.
the primary key rather than the entire key.
5. Take all the tuples from Table B that
Partial functional dependencies can lead to data
didn't find a match in Table A and write
anomalies and are undesirable in database design.
down their attributes in the result set,
using NULL values for the attributes from Example: Continuing with the previous example,
Table A. if Course Instructor depends only on the Student
ID and not on the Course ID, it would represent
In simple terms, a full outer join combines the
a partial functional dependency. In this case, the
data from both tables, ensuring that all tuples
Course Instructor is determined by the Student ID
from both tables are included in the result. It
alone, irrespective of the Course ID.
helps you find relationships between data in the
two tables and provides a complete view of the Transitive Dependency: A transitive dependency
data, regardless of matching or non-matching occurs when an attribute is functionally
values. dependent on another non-key attribute rather
than directly on the primary key. In simpler
TYPES OF FUNCTIONAL DEPENDENCY
terms, the value of an attribute depends on
Functional dependency is a concept in database another non-key attribute, which, in turn,
normalization that describes the relationship depends on the primary key. Transitive
between attributes (columns) in a table. It defines dependencies can also lead to data anomalies and
how the values of one or more attributes are undesirable in a well-normalized database.
determine the values of other attributes. In other Example: Suppose we have a table with attributes
words, it specifies the dependencies between (columns) Student ID, Course ID, and Course
attributes based on their values.
Instructor's Department. If the Course Instructor's For example, let's consider a table called
Department depends on the Course ID, and the "CUSTOMERS" with columns like ID, NAME,
Course ID depends on the Student ID, then there AGE, ADDRESS, and SALARY. Each row in this
is a transitive dependency between the Student ID table represents a customer's information, such as
and the Course Instructor's Department. The their ID, name, age, address, and salary.
Course Instructor's Department indirectly depends
A field is a column in a table that holds specific
on the Student ID through the Course ID.
information about each record. In our example,
Identifying and eliminating partial functional the ID, NAME, AGE, ADDRESS, and SALARY are
dependencies and transitive dependencies are the fields of the CUSTOMERS table.
important steps in achieving higher normal forms,
A record, also known as a row, is an individual
such as the Boyce-Codd Normal Form (BCNF) or
entry or a set of data in a table. Each record
the Third Normal Form (3NF), which ensure a
contains values for each field. In our example,
well-structured and non-redundant database
each row in the CUSTOMERS table represents a
design.
customer's information, such as their ID, name,
age, address, and salary.
Generally
A superkey is a set of one or more attributes that To understand 4NF, it's essential to grasp the
uniquely identifies each tuple in a relation. In concept of multi-valued dependencies (MVDs). An
other words, it is a combination of attributes that MVD exists when there is a dependency between
can be used as a primary key. If X is not a two non-key attributes such that for each value
of one attribute, there can be multiple values of
the other attribute. In other words, the two creates dependencies that can only be enforced
attributes are independent of each other. through joins. Join dependencies arise when a
non-trivial join dependency exists among the
The goal of 4NF is to eliminate or minimize these
candidate keys of a relation.
multi-valued dependencies by splitting them into
separate relations. This reduces data redundancy To understand 5NF, it's important to understand
and improves data integrity and efficiency. the concept of a join dependency. A join
dependency occurs when a relation can be
To achieve 4NF, the following conditions must be
recreated by joining two or more other relations
met:
based on their common attributes.
1. The table must be in 3NF.
The goal of 5NF is to eliminate or reduce join
2. There should be no non-key attribute that
dependencies by decomposing the relation further.
is functionally dependent on a subset of
This is achieved by splitting the original relation
the candidate key.
into multiple relations in such a way that each
3. Any multi-valued dependencies must be
relation represents a single entity or concept, and
identified and separated into new
there are no join dependencies among the
relations.
resulting relations.
By splitting the original table into separate tables,
To achieve 5NF, the following conditions must be
each containing one multi-valued dependency, the
met:
resulting relations are free from multi-valued
dependencies and redundancies. This ensures that 1. The table must be in 4NF.
each attribute is functionally dependent on the 2. There should be no non-trivial join
entire primary key and contributes to a more dependencies among the candidate keys.
robust and efficient database design. 3. Any join dependencies must be identified
and separated into new relations.
4NF is especially relevant in complex database
systems with many interrelated tables, as it helps By decomposing the relation to remove join
maintain data consistency and avoids data dependencies, the resulting relations are
anomalies associated with multi-valued independent and can be combined using natural
dependencies. joins to reconstruct the original relation.
It's important to note that achieving higher levels It's important to note that achieving 5NF is not
of normalization, such as 4NF, may not always always necessary or practical for every database
be necessary or practical for every database design. It is primarily applied in complex
design. The level of normalization depends on the database systems with a high degree of
specific requirements and complexity of the data normalization requirements and to address
model. specific join dependency issues. The level of
normalization depends on the specific needs and
Fifth Normal Form complexity of the data model.
SQL WHERE Clause: The WHERE clause is used column1, column2, ..., columnN are the names of
to specify conditions for retrieving data from a the columns you want to select. table_name is
table. It allows you to filter the rows based on the name of the table from which you want to
specific conditions. The syntax is as follows: retrieve data. column_name is the name of the
column you want to compare against the SQL ORDER BY Clause: The ORDER BY clause is
specified values. (val1, val2, ..., valN) is the list used to sort the result set based on one or more
of values to match against the column's value. columns in ascending (ASC) or descending (DESC)
order. It is typically used in conjunction with the
This statement retrieves rows where the column's SELECT statement. The syntax is:
value matches any of the specified values.
SELECT column1, column2, ..., columnN FROM
SQL BETWEEN Clause: The BETWEEN operator is table_name WHERE condition ORDER BY
used to select values within a range in a WHERE column_name {ASC|DESC};
clause. It allows you to specify a range of values
for a column. The syntax is as follows: This clause allows you to control the order in
which the rows are returned, making it easier to
SELECT column1, column2, ..., columnN FROM
analyze and interpret the data.
table_name WHERE column_name BETWEEN
value1 AND value2; SQL GROUP BY Clause: The GROUP BY clause is
used to group rows based on one or more
column1, column2, ..., columnN are the names of
columns and apply aggregate functions to the
the columns you want to select.
grouped data. It is often used with functions like
table_name is the name of the table from which SUM, COUNT, AVG, etc. The syntax is:
you want to retrieve data. column_name is the
SELECT aggregate_function(column_name) FROM
name of the column you want to compare against table_name WHERE condition GROUP BY
the range of values. value1 and value2 are the column_name;
starting and ending values of the range.
This clause allows you to summarize data by
grouping it based on a specific column or set of
This statement retrieves rows where the column's columns. The result set will contain one row for
value falls within the specified range. each unique combination of the grouped
column(s).
SQL LIKE Clause: The LIKE operator is used to
match patterns in a column's value using SQL COUNT Clause: The COUNT clause is used to
wildcard characters in a WHERE clause. It allows count the number of rows that satisfy a specific
you to perform pattern matching based on condition. It is commonly used in combination
specified criteria. The syntax is as follows: with the SELECT statement. The syntax is:
SELECT column1, column2, ..., columnN FROM SELECT COUNT(column_name) FROM table_name
table_name WHERE column_name LIKE { pattern WHERE condition;
};
This clause returns the count of rows that match
column1, column2, ..., columnN are the names of the given condition. It is useful for obtaining the
the columns you want to select. number of records that meet certain criteria.
SQL CREATE TABLE Statement: The CREATE This statement creates an index with a unique
TABLE statement is used to create a new table in constraint on the specified columns of the table.
a database. It specifies the table name and
defines the columns along with their data types. SQL DROP INDEX Statement: The DROP INDEX
The PRIMARY KEY constraint can also be added statement is used to remove an existing index
to define a primary key for the table. The syntax from a table. It permanently deletes the index,
is: and the associated data will no longer be
indexed. The syntax is:
CREATE TABLE table_name (
column1 datatype, ALTER TABLE table_name
column2 datatype, DROP INDEX index_name;
column3 datatype,
... This statement allows you to remove an index
columnN datatype, that is no longer needed or is causing
PRIMARY KEY (one or more columns) performance issues.
);
SQL DESC Statement: The DESC statement is used
This statement allows you to define the structure to retrieve information about the columns and
and schema of a table, including the column their properties in a table. It provides a
names, data types, and primary key. description of the table structure, including
column names, data types, and constraints. The
SQL DROP TABLE Statement: The DROP TABLE syntax is:
statement is used to remove an entire table from
the database. It permanently deletes the table and DESC table_name;
all its associated data. The syntax is:
This statement is often used for inspecting the
DROP TABLE table_name;
structure of a table without displaying the actual
data.
This statement is useful when you no longer need
a table and want to remove it completely from SQL TRUNCATE TABLE Statement: The
the database.
TRUNCATE TABLE statement is used to remove
all rows from a table while keeping the table
SQL CREATE INDEX Statement: The CREATE
INDEX statement is used to create an index on structure intact. It is faster than the DELETE
one or more columns of a table. Indexes help statement for removing all data from a table. The
improve the performance of database queries by syntax is:
allowing faster data retrieval. The syntax is:
CREATE UNIQUE INDEX index_name ON TRUNCATE TABLE table_name;
table_name (column1, column2, ... columnN);
This statement is useful when you want to delete
This statement is useful when you no longer need all the records in a table but retain the table's
a table and want to remove it completely from structure.
the database.
SQL ALTER TABLE Statement: The ALTER TABLE
SQL CREATE INDEX Statement: The CREATE statement is used to modify an existing table
INDEX statement is used to create an index on structure. It allows you to add, drop, or modify
one or more columns of a table. Indexes help columns in a table. The syntax varies based on
the operation:
• To add a new column: ALTER TABLE This statement helps in removing specific rows or
table_name ADD column_name data_type; all rows from a table, depending on the specified
• To drop a column: ALTER TABLE conditions.
table_name DROP column_name;
SQL CREATE DATABASE Statement: The CREATE
• To modify a column: ALTER TABLE
DATABASE statement is used to create a new
table_name MODIFY column_name database in a database management system
data_type; (DBMS). The syntax is:
SQL ALTER TABLE Statement (Rename): The This statement is used to create a new database
ALTER TABLE statement with the RENAME with the specified name.
option is used to rename an existing table to a SQL DROP DATABASE Statement: The DROP
new name. The syntax is: DATABASE statement is used to delete an existing
ALTER TABLE table_name RENAME TO database from a DBMS. The syntax is:
new_table_name;
DROP DATABASE database_name;
This statement is useful when you want to This statement permanently deletes the specified
change the name of a table. database and all its associated tables and data.
INSERT INTO table_name (column1, column2, ..., This statement sets the specified database as the
columnN) VALUES (value1, value2, ..., valueN); current active database for executing SQL
statements.
This statement helps in adding new data rows to
a table. SQL COMMIT Statement: The COMMIT statement
is used to permanently save the changes made
SQL UPDATE Statement: The UPDATE statement
within a transaction in a DBMS. The syntax is:
is used to modify existing records in a table. It
allows you to update the values of one or more COMMIT;
columns for selected rows based on specified
This statement ensures that all changes made
conditions. The syntax is:
since the start of the transaction are permanently
UPDATE table_name SET column1 = value1, saved and made visible to other users.
column2 = value2, ..., columnN = valueN
[WHERE condition]; SQL ROLLBACK Statement: The ROLLBACK
This statement helps in updating the existing data statement is used to undo or revert the changes
in a table. made within a transaction in a DBMS. The syntax
is:
SQL DELETE Statement: The DELETE statement is
used to delete one or more rows from a table ROLLBACK;
based on specified conditions. The syntax is:
This statement discards all changes made since
DELETE FROM table_name WHERE the start of the transaction, bringing the database
{CONDITION}; back to its previous state.
These SQL statements provide the ability to
delete data from tables, create and drop
databases, switch between databases, and manage
transactions. They are essential for data
manipulation, database management, and
ensuring data consistency and integrity.