DATABASE PROGRAMMING
Question One
1. Organizations invest significant resources in protecting their data and the information
of their clients to remain competitive. A part from ensuring security, explain the
various advantages that a well-organized database brings to an organization (20
marks).
A well-organized database offers numerous advantages to an organization beyond just ensuring
security and maintaining competitiveness.1 These advantages contribute significantly to
operational efficiency, strategic decision-making, and overall business success.2 Here are some
key benefits:
1. Improved Data Accessibility and Retrieval:
A well-structured database, with clear relationships between data elements and efficient
indexing, allows users to quickly and easily access the information they need.3 This reduces the
time spent searching for data, leading to increased productivity across departments.4
Illustration: Instead of sifting through numerous spreadsheets to find a customer's purchase
history, a sales representative can retrieve all relevant information with a simple query in a well-
organized CRM database.
Allows users to quickly and easily access the information they need from the data base.
2. Enhanced Data Consistency and Integrity:
A database management system (DBMS) enforces data integrity rules, such as data types,
constraints, and relationships, minimizing redundancy and inconsistencies.5 This ensures that the
information stored is accurate, reliable, and consistent across the organization.
Illustration: When a customer updates their address, a well-designed database ensures that this
change is reflected in all relevant tables (e.g., shipping, billing, marketing), preventing
discrepancies and errors.
Creates data consistency and integrity through data types, constraints, and relationships
ensuring that the information stored is accurate, reliable and consistent across the
organization.
3. Better Data Sharing and Collaboration:
A centralized database provides a platform for different departments and users to access and
share information seamlessly (while adhering to security protocols).6 This fosters collaboration,
improves communication, and enables a holistic view of the business operations.7
Illustration: The marketing team can access sales data to understand campaign performance,
while the product development team can analyze customer feedback stored in the database to
inform future product iterations.
Offers a platform where the users of the database can share information seamlessly
4. Informed and Faster Decision-Making:
With organized and readily available data, managers and executives can make more informed
and timely decisions.8 They can analyze trends, identify opportunities, and assess the impact of
different strategies based on accurate information.
Illustration: By analyzing sales data stored in the database, a retail manager can quickly identify
best-selling products, understand seasonal trends, and make informed decisions about inventory
management and promotions.9
5. Increased Data Analysis and Business Intelligence Capabilities:
A well-organized database facilitates the use of powerful data analysis tools and business
intelligence (BI) platforms. This allows organizations to extract valuable insights, identify
patterns, and generate reports that support strategic planning and forecasting.
Illustration: A company can use a data warehouse (a type of well-organized database) and BI
tools to analyze customer demographics, purchasing behavior, and website activity to
personalize marketing campaigns and improve customer segmentation.10
6. Streamlined Business Processes and Increased Efficiency:
By automating data entry, validation, and retrieval processes, a well-organized database can
significantly streamline various business operations, reducing manual effort and minimizing
errors.11 This leads to increased efficiency and lower operational costs.
Illustration: An automated inventory management system linked to a database can track stock
levels, trigger reorders when necessary, and update records in real-time, reducing the risk of
stockouts or overstocking and saving time for warehouse staff.12
7. Improved Customer Relationship Management (CRM):
A well-organized CRM database allows organizations to effectively manage customer
interactions, track preferences, and personalize communication.13 This leads to improved
customer satisfaction, loyalty, and retention.
Illustration: A customer service representative can quickly access a customer's complete history
of interactions, purchases, and preferences from the CRM database to provide personalized and
efficient support.14
8. Enhanced Scalability and Flexibility:
A properly designed database can be scaled to accommodate growing data volumes and evolving
business needs.15 It offers the flexibility to adapt to new data requirements and integrate with
other systems as the organization expands.
Illustration: As a company grows and its customer base increases, a scalable database can
handle the larger volume of customer records and transaction data without compromising
performance.16
9. Reduced Data Redundancy and Storage Costs:
Normalization techniques in database design minimize data duplication, leading to more efficient
storage utilization and reduced storage costs.17
Illustration: Instead of storing the same customer address in multiple tables, a well-designed
relational database will store it in one central table and link it to other relevant tables, saving
storage space.
10. Better Data Governance and Compliance:
A well-managed database facilitates the implementation of data governance policies, ensuring
data quality, security, and compliance with relevant regulations (e.g., GDPR, HIPAA).18
Centralized control over data access and modifications makes it easier to enforce these policies.
Illustration: Access controls within the database can be configured to ensure that only
authorized personnel can view or modify sensitive customer data, helping the organization
comply with privacy regulations.19
In conclusion, a well-organized database is a strategic asset that provides a multitude of
advantages beyond security. It acts as the backbone for efficient operations, informed decision-
making, enhanced customer relationships, and ultimately contributes to an organization's overall
growth and success in today's data-driven world.20 Investing in a robust and well-managed
database system is crucial for organizations looking to leverage their data effectively and gain a
significant competitive edge.
Question Two
2a) As the Database Administrator, your IT Manager has tasked you with setting up a
database system for managing company records and client data. List and describe the
different types of Database Management Systems. (10 marks)
As the Database Administrator, tasked with setting up a database system for managing
company records and client data, it's crucial to understand the different types of Database
Management Systems (DBMS) available. Each type has its own structure, strengths, and
weaknesses, making it suitable for specific kinds of data and applications. Here are some of the
primary types of DBMS you should consider:
1. Relational Database Management Systems (RDBMS):
Description: RDBMS is the most widely used type of DBMS. It structures data in tables
consisting of rows (records) and columns (attributes).1 Relationships between different tables are
established using keys (primary and foreign keys), ensuring data integrity and reducing
redundancy.2 SQL (Structured Query Language) is the standard language for interacting with
RDBMS to query, update, and manage data.3
Strengths:
o Structured Data: Excellent for managing structured data with clear relationships. 4
o Data Integrity: Enforces data consistency and integrity through constraints and relationships.
o Mature Technology: Well-established with a large community, extensive tools, and robust
features.5
o ACID Properties: Supports Atomicity, Consistency, Isolation, and Durability, ensuring reliable
transactions.6
o Flexibility: SQL provides powerful and flexible data manipulation capabilities. 7
Examples: MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server, SQLite.8
2. NoSQL Database Management Systems:
Description: NoSQL (Not Only SQL) DBMS are designed to handle large volumes of
unstructured, semi-structured, and rapidly changing data.9 They deviate from the traditional
relational model, offering more flexibility in schema design and scaling.10 There are several types
of NoSQL databases:
o Key-Value Stores: Store data as key-value pairs, optimized for simple lookups and high
performance.11 (e.g., Redis, Memcached).12
o Document Databases: Store data in document-like structures (e.g., JSON, XML), allowing for
flexible and nested data.13 (e.g., MongoDB, Couchbase).14
o Column-Family Databases: Store data in columns rather than rows, optimized for read-heavy
workloads and large datasets. (e.g., Cassandra, HBase).15
o Graph Databases: Model data as nodes and edges, emphasizing the relationships between data
points.16 Useful for social networks, recommendation engines, and fraud detection.17 (e.g., Neo4j,
Amazon Neptune).
Strengths:
o Scalability: Designed for horizontal scaling to handle massive datasets and high traffic.18
o Flexibility: Schema-less or flexible schemas allow for easier adaptation to changing data
requirements.19
o Performance: Often optimized for specific use cases, providing high performance for those
scenarios.
o Handling Unstructured/Semi-structured Data: Well-suited for data that doesn't fit neatly into
tables.20
Examples: MongoDB, Cassandra, Redis, Neo4j, Couchbase.
3. Object-Oriented Database Management Systems (OODBMS):
Description: OODBMS integrate database capabilities with object-oriented programming (OOP)
concepts.21 Data is stored as objects, which can have attributes (data) and methods (functions).
Relationships between objects can be complex and directly represent real-world relationships.
Strengths:
o Complex Data Models: Suitable for applications with complex data structures and relationships,
such as multimedia or engineering applications.
o Integration with OOP: Seamlessly integrates with object-oriented programming languages,
reducing the impedance mismatch between the application and the database. 22
o Rich Data Types: Supports a wide range of data types, including objects and multimedia.23
Examples: Gemstone, ObjectStore, InterSystems Caché (now known as InterSystems IRIS).
While once prominent, their adoption is less widespread compared to RDBMS and NoSQL.
4. Hierarchical Database Management Systems:
Description: Hierarchical DBMS organize data in a tree-like structure with parent-child
relationships.24 Each child node can have only one parent node, forming a strict hierarchy.
Strengths:
o Simple Structure: Easy to understand and implement for simple hierarchical data.
o Fast Access for Hierarchical Data: Efficient for retrieving data that follows the defined
hierarchy.25
Weaknesses:
o Limited Relationships: Difficult to represent complex, many-to-many relationships.
o Data Redundancy: Can lead to data duplication.26
o Navigation Complexity: Retrieving data outside the hierarchical path can be complex.
Examples: IBM's Information Management System (IMS).27 This model is largely considered
legacy, though the hierarchical concept can still be found in some data structures.
5. Network Database Management Systems:
Description: Network DBMS are an extension of the hierarchical model, allowing a child node
to have multiple parent nodes, thus supporting more complex, many-to-many relationships.28
Strengths:
o More Flexible Relationships: Can model more complex relationships than hierarchical
databases.
o Reduced Redundancy: Compared to hierarchical models.
Weaknesses:
o Complexity: Can be more complex to design and navigate than hierarchical models.
o Lack of Standardization: Less standardized compared to relational databases.29
Examples: Integrated Data Store (IDS). This model is also largely considered legacy.
Choosing the Right DBMS:
The best type of DBMS for your company records and client data will depend on several factors,
including:
The nature and structure of your data: Is it highly structured, unstructured, or a mix?
The relationships between data elements: Are they simple or complex?
The volume of data and anticipated growth: Do you expect massive scalability needs?
The performance requirements of your applications: Do you need fast reads, writes, or
complex queries?
The need for data integrity and consistency: How critical is transactional reliability?
Your team's existing skills and infrastructure: What technologies are your developers and
administrators familiar with?
Budget constraints: Are you looking for open-source or commercial solutions?
For managing company records and client data, which often involves structured information with
relationships (e.g., clients having multiple addresses, placing multiple orders), a Relational
Database Management System (RDBMS) is often a strong starting point due to its maturity,
data integrity features, and powerful querying capabilities with SQL.30 However, depending on
specific needs for scalability or handling less structured client interactions (e.g., activity logs,
emails), exploring a NoSQL Document Database or even a hybrid approach might be
beneficial.
As the Database Administrator, your next step would be to analyze the specific requirements of
your company's records and client data to make an informed decision on the most suitable
DBMS.
2b) Explain five key functions that can be performed using a Database Management
System. (10 marks)
Here are five key functions performed using a Database Management System (DBMS):
1. Data Definition: The DBMS allows you to define the structure of the database, including tables,
fields, data types, and relationships. This ensures data consistency and integrity.
2. Data Manipulation: You can add, modify, delete, and retrieve data within the database. SQL
(Structured Query Language) is commonly used for these operations.
3. Data Storage and Management: The DBMS handles the physical storage of data on disk,
optimizes storage for efficiency, and manages data access.
4. Data Security and Access Control: DBMS provides mechanisms to control who can access and
modify specific data, ensuring data security and preventing unauthorized access.
5. Data Backup and Recovery: The DBMS offers tools for backing up data to prevent data loss
and for restoring data in case of failures.
Question Three
Write brief descriptions of the following terms in the context of database programming:
(20 marks)
1. Authorization Manager (5 marks)
2. The Authorization Manager is a crucial component within a Database Management
System (DBMS) responsible for controlling and managing user access rights and
privileges to database objects. It determines who can perform which actions (e.g.,
SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP) on specific
database elements such as tables, views, procedures, and schemas.
3. In essence, the Authorization Manager enforces the security policies defined by the
Database Administrator (DBA). When a user attempts to access or manipulate data or
database structures, the Authorization Manager verifies their credentials and checks if
they have the necessary permissions for the requested operation. If the user is authorized,
the operation proceeds; otherwise, it is denied. This component plays a vital role in
ensuring data security, integrity, and compliance by preventing unauthorized access and
modifications.
2. Data Manipulation Language Compiler (5 marks)
The Data Manipulation Language (DML) Compiler is a component of the DBMS that translates
DML statements, such as those written in SQL (Structured Query Language) for data retrieval
and manipulation, into a low-level executable form that the database system can understand and
process efficiently.
When a database programmer or user issues a DML query (e.g., a SELECT, INSERT, UPDATE, or
DELETE statement), this statement is first analyzed by the DML Compiler. The compiler checks
the syntax of the DML statement for correctness, validates the referenced database objects
(tables, columns, etc.), and then generates an execution plan. This execution plan outlines the
steps the database system needs to take to fulfill the request, such as which tables to access,
which indexes to use, and the order of operations. The compiled and optimized execution plan is
then passed to the query execution engine for actual data processing.
3. Embedded DML pre-compiler (5 marks)
4. The Embedded DML Pre-compiler is a tool used in database programming when DML
statements are embedded directly within the code of a host programming language (e.g.,
Java, C++, Python). This allows developers to integrate database operations seamlessly
into their applications.
5. The pre-compiler's primary function is to scan the host language source code, identify the
embedded DML statements (often marked by specific keywords or syntax), and translate
these statements into a form that can be understood and processed by the DBMS.
Typically, the pre-compiler replaces the embedded DML statements with function calls
or code snippets in the host language that will interact with the DBMS runtime
environment. This intermediate code then needs to be compiled by the regular compiler
of the host programming language. At runtime, these generated calls will communicate
with the DBMS to execute the database operations. The pre-compiler simplifies the
process of integrating database access into application code by handling the translation
layer.
4. File Manager (5 marks)
The File Manager is a core component of the DBMS responsible for the physical storage and
organization of database files on the storage media (e.g., hard disks, SSDs). It acts as an interface
between the higher-level database operations and the underlying operating system's file system.
The File Manager handles tasks such as allocating and deallocating storage space for database
files, managing the physical layout of data on disk (including tables, indexes, and log files), and
retrieving and updating data blocks as requested by other DBMS components like the buffer
manager and the query execution engine. It ensures efficient access to data by optimizing file
organization and managing the physical addresses of data records. The File Manager plays a
critical role in the performance and reliability of the database system by efficiently managing the
persistent storage of the database.
Section B – Practical
Question Four (60 marks)
You have been give the task of designing a database for a school that will store
information about students, teachers, and courses, Using SQL, create the following
tables and write the corresponding queries for each task.
Queries:
i. Create a table for classes with the fields: class_id, class_name, teacher_id. (4
marks)
ii. Create a table for students with the fields: subject_id, subject_name,
teacher_id. (6 marks)
iii. Create a table for teachers with the fields: student_id, name, class_id,
subject_id. (5 marks)
iv. Insert a new student with the following details: student_id = 102, name =
“Emily Johnson”, class_id = 201, subject_id = 301. (5 marks).
v. Add a new teacher with the following details: teacher_id = 202, name =
“Michael Brown”, department = “Science”. (5 marks)
vi. Add a new subject with the following details: subject_id = 302, subject_name =
“Chemistry:, teacher_id = 202. (5 marks)
vii. Display the names and class information of all students. (5 marks)
viii. Add a roll_no column to the students table. (5 marks)
ix. Remove the teacher_id column from the subject table. (5 marks)
x. Display the names and departments of all teachers. (5 marks)
xi. Show the name of the teacher who teaches the subject with ID 302. (10
marks).
-- i. Create a table for classes
CREATE TABLE Classes (
class_id INT PRIMARY KEY,
class_name VARCHAR(255),
teacher_id INT
);
-- ii. Create a table for subjects
CREATE TABLE Subjects (
subject_id INT PRIMARY KEY,
subject_name VARCHAR(255),
teacher_id INT
);
-- iii. Create a table for students
CREATE TABLE Students (
student_id INT PRIMARY KEY,
name VARCHAR(255),
class_id INT,
subject_id INT
);
-- iv. Insert a new student
INSERT INTO Students (student_id, name, class_id, subject_id)
VALUES (102, 'Emily Johnson', 201, 301);
-- Create a table for Teachers (as it's needed for the next queries)
CREATE TABLE Teachers (
teacher_id INT PRIMARY KEY,
name VARCHAR(255),
department VARCHAR(255)
);
-- v. Add a new teacher
INSERT INTO Teachers (teacher_id, name, department)
VALUES (202, 'Michael Brown', 'Science');
-- vi. Add a new subject
INSERT INTO Subjects (subject_id, subject_name, teacher_id)
VALUES (302, 'Chemistry', 202);
-- vii. Display the names and class information of all students
SELECT s.name, c.class_name
FROM Students s
JOIN Classes c ON s.class_id = c.class_id;
-- viii. Add a roll_no column to the students table
ALTER TABLE Students
ADD COLUMN roll_no INT;
-- ix. Remove the teacher_id column from the subject table
ALTER TABLE Subjects
DROP COLUMN teacher_id;
-- x. Display the names and departments of all teachers
SELECT name, department
FROM Teachers;
-- xi. Show the name of the teacher who teaches the subject with ID 302
SELECT t.name
FROM Teachers t
JOIN Subjects sub ON t.teacher_id = sub.teacher_id
WHERE sub.subject_id = 302;
AUG 2023
Question one
1) How does the implementation of a database offer additional significance
and benefits to organizations beyond safeguarding information and client
data, contributing to their competitiveness in their respective industries
(25 marks)
Implementation of a database offers numerous benefits namely
Improved Data management
1. Centralized Data Storage: A database provides a single , unified view of
organizational Data, reducing data duplication and inconsistencies.
2. Data Integration: Database enable integration of data from various
sources, providing a comprehensive understanding of business operation
Enhances Decision-Making
1. Data Analysis: Database support complex queries and analytics,
enabling organizations to gain insights into customer behavior,
market trends, and operational efficiency
2. Business Intelligence: Database provide a foundations for business
intelligence tools, helping organizations make data-driven
decisions
Increased Efficiency
1. Automated Processes: Databases can automate routine tasks,
such as data entry, reporting, and data validation.
2. Improved productivity: By providing quick access to relevant data,
databases enable employees to focus on high-value tasks.
Better Customer Service
1. 360-Degree Customer View: Databases provide a
comprehensive view of customer interactions, enabling
personalized service and improved customer relationships.
2. Targeted Marketing: Databases support targeting
marketing efforts, helping organizations reach their
desired audience.
Competitive Advantage
1. Data-Driven innovation: Databases enable organizations to identify new business
opportunities and innovate based on data insights.
2. Agility and Responsiveness: Databases support rapid reponse to changing market
conditions, enabling organizations to stay competitive
Additional Benefits
1. Scalability: Databases can handle large volumes of data and scale with
organizational growth
2. Security: Databases provide robust security features to protect sensitive
data
3. Compliance: Database help organizations comply with regulatory
requirements and industry standards.
Question Two
2a) As the appointed database Administrator at Pinz Ltd, tasked by your IT Manager to institute
a database system for overseeing the company’s records and client data, provide details on the
diverse categories of Database Management Systems. (10)
There are various categories of database management systems each with its own strength and
advantages
1. Relational Database Management System (RDMS): These databases organize data into
tables width defined relationships. Supporting structured query language (SQL).
Examples: MYSQL, PostgreSQL, Microsoft SQL Server.
2. NoSQL Database Management Systems: Designed to handle large amount of
unstructured or semi-structured data, often used for big data and real-time web
applications Examples include Mongo DB, Cassandra, Redis
3. Object-Oriented Database Management Systems: Store data inform of Objects,
supporting complex data types and relationships. Example, Object DB, Matisse.
4. Graph Database Management Systems: Designed to store and query complex
relationships between data entities, often used for social networks and
recommendation systems. Examples: Amazon Neptune.
5. Cloud Database Management Systems: Hosted in the cloud, providing scalability,
flexibility, and reduced maintainance. Examples Google Cloud SQL, Microsoft Azure
Cosmos DB.
6. In-Memory Database Management Systems: Store data in memory providing fast access
and query performance. Examples: Oracle TimesTen.
7. 2b) Elaborate on five operations that can be executed utilizing a Database Management
System, as instructed by your IT Manager at Pinz Ltd (10 marks)
Operations Using DBMS
1. Data Creation: Inserting new data into the database, such as adding new
customers records or product information.
2. Data Retrieval: Retrieving specific data from the database, such as
generating reports or querying customer information.
3. Data Update: Modifying existing data in the database, such as updating
customer addresses or product prices.
4. Data Deletion: Deleting unnecessary or outdated data from the database,
such as removing inactive customer accounts
5. Data Querying: Executing complex queries to extract insights from the
data, such as analyzing sales trends or identifying customer behavior
patterns.
a) Create another table for employees on leave, the table must have
a primary key with auto increment, the employee name should be
foreign key in this table, add other two columns of your choice.
create table employees_on_leave(
-> id int auto_increment,
-> employee_name varchar(255),
-> leave_start_date date,
-> leave_end_date date,
-> primary key(id),
-> index (employee_name),
-> foreign key (employee_name)
references employees (name));
b) Write a query that adds a new column to the table, name the
column employee age with datatype integer.(5 marks)
alter table add column employee_age int;
c) Write a query that filters out employees who
don’t belong to the procurement and Accounting
department. (10 marks)
Select * from employees where department IN
(‘PROCUREMENT’, ‘ACCOUNTING’);
d) The column for hours worked is of text datatype.
Write a query that changes it to integer datatype.
(5 marks)
Alter table employees modify column hours_worked int;
e) Implement user roles with varying levels of access
privileges to ensure data security by writing SQL
queries to grant and revoke specific permissions
to user (10 marks)
CREATE ROLE ‘admin_role’;
CREATE ROLE ‘hr_role’;
CREATE ROLE ‘finance_role’;
--Grant all privileges to admin role
GRANT ALL PRIVILEGES ON *.* TO ‘admin_role’;
--Grant specifics privileges to hr_role
GRANT SELECT, INSERT, UPDATE ON employees TO ‘hr_role’;
--Grant specific privileges to finance role
GRANT SELECT, INSERT, UPDATE ON financial_records TO ‘finance_role’;
Create users
CREATE USER ‘admin_user ‘@’%’
IDENTIFIED BY ‘password’;
CREATE USER ‘hr_user’@’%’
IDENTIFIED BY ‘password’;
CREATE USER ‘finance_user’@’%’
IDENTIFIED BY ‘password’;
Assigning roles to Users
GRANT ‘ admin_role’ TO ‘admin_user’@’%’;
GRANT ‘hr_role’ TO ‘hr_user’@’%’;
GRANT ‘finance_role’ TO ‘finance_user’@’%’;
Revoking Permissions
--Revoking specific privilege from hr role
REVOKE INSERT ON employees from ‘hr_role’;
Revoke all privileges from finance role
REVOKE ALL PRIVILEGES ON financial_records from ‘finance_role’;
--Check permissions for a specific user
SHOW GRANTS FOR ‘admin_user ‘@’%’;
f) Write a query that will retrieve employees in
ascending order according to their worked hours
(5 marks)
SELECT * from employees ORDER BY
hours_worked ASC;
Importance’s of Using databases
1. Data Organization: Databases help organization organize large amounts of data in a
structured and systematic way making it easier to manage and retrieve.
2. Data Integrity: Databases ensure data consistency and accuracy by enforcing data
validation and constraints
3. Data Security: Databases provide robust security features to protect sensitive data from
unauthorized access, theft, or damage.
4. Data Retrieval: Databases enable fast and efficient data retrieval, allowing users to
access specific data quickly
5. Scalability: Databases can handle large amounts of data and scale to meet the needs of
growing organizations
6. Data Sharing: Databases enable multiple users to access and share data, promoting
collaboration and reducing data duplication.
7. Data Backup and Recovery: Databases provide features for backing up and recovering
data, ensuring business continuity in case of data loss or system failure.
8. Improved Decision Making: Databases provide a centralized repository of data,
enabling organizations to make informed decisions based on accurate and up-to-date
information
9. Reduced data Redundancy: Databases help eliminate data redundancy by storing data
in a single location, reducing data inconsistencies and improved data quality.
10. Enhanced Productivity: Databases automate many data management tasks, freeing up
staff to focus on high-value activities hence improving overall productivity.
Operations of a Database Management System.
Data Definition Operations
1. CREATE: Create a new database, table, index, or other database objects
2. ALTER: Modify the Structure of an Exiting database object.
3. DROP: delete a database object.
Data Manipulation Operations
1. Insert :add new data to a table
2. Update: modify existing data in a table
3. Delete: Delete data from a table.
Data retrieval Operations
1. Select: Retrieve specific data from one or more tables.
2. Query: Execute a query to retrieve data from on specific conditions.
Data Control Operations
1. Grant: Assign privileges to users or roles.
2. Revoke: Remove privileges from users or roles.
Data Maintenance Operations
1. Backup: Create a copy of the database to prevent data loss.
2. Recovery: Restore the database from a backup in case of data loss or
corruption.
Types of Database management Systems
Relational Database Management Systems: Organizes data into tables with well-defined
relationships eg MySQL
NoSQL Database Management System: Designed to handle large amount of unstructured or
semi-structured data eg MongoDB
Object-Oriented Database Management System: Store data in for of Objects (e.g., ObjectDB)
Graph Database Management System: Designed to store and query graph data structures (e.g
Neo4j)
Cloud Database Management System: Hosted in the cloud, providing scalability and flexibility
(e.g Amazon)
Distributed Database Management System : Stores Data across multiple locations (eg. Multiple
Servers).
Contralized Database Management System: Store data on a single server (e.g a single server).
3.