TM02 Determine Suitability of Database Functionality and Scalability
TM02 Determine Suitability of Database Functionality and Scalability
Administration
Level-IV
Based on November 2023, Curriculum Version II
Table of Contents
Ministry of Labor and Skills wish to extend thanks and appreciation to the many representatives of
TVET instructors and respective industry experts who donated their time and expertise to the
development of this Teaching, Training and Learning Materials (TTLM).
ER Model------------------------------------------------relationship model
For effective use these modules trainees are expected to follow the following module instruction:
1. Read the information written in each unit
2. Accomplish the Self-checks at the end of each unit
3. Perform Operation Sheets which were provided at the end of units
4. Do the “LAP test” giver at the end of each unit and
5. Read the identified reference book for Examples and exercise
This unit is developed to provide you the necessary information regarding the following content
coverage and topics:
Introduction to DBMS
Functions of DBMS
Applications of DBMS
This unit will also assist you to attain the learning outcomes stated in the cover page.
Specifically, upon completion of this learning guide, you will be able to:
Grasp the significance of Database Management Systems in managing vast amounts of
data efficiently in today's data-driven world.
Develop a clearer understanding of how databases organize and manage information.
Understand the role of a data dictionary in maintaining metadata about database objects,
tables, columns, and relationships.
Understand the functions of archiving and purging data to manage storage efficiently and
maintain data relevance.
Understand strategies employed by DBMS to optimize data storage, access, retrieval, and
processing for improved performance.
Recognition of real-world applications of DBMS in sectors like transportation, social
media, and online shopping platforms.
This unit dives into these functions, shedding light on their significance and real-world
applications. We’ll also discuss the evolving landscape of DBMS. Understanding the functions
of DBMS empowers individuals and organizations to make informed decisions and leverage the
full potential of their data resources. Let’s embark on this enlightening journey of DBMS
functions in the digital era.
There are many more functions you can do in a DBMS, like data definition, data manipulation,
retrieval and reporting, concurrency, multi-user access control, data integrity management,
communication and application programming interfaces, and a lot more. Let’s delve deeper into
some of the most widely used functions of DBMS.
These functions of DBMS enable you to manipulate data as per your requirements: Inserting,
Updating, and Deleting Data these data manipulation functions make the experience much
more interactive for the users.
Insertion involves adding new data records or rows into the database tables. For example, you
can add a column “Total leaves taken” in the student record database described above. While
updating, this function allows you to modify or update existing records. For instance, in the
above example, you could update the “Attendance” column daily. Deletion, as the name says,
allows you to delete specific records or even entire datasets. In the example above, deletion
could imply removing a student’s entry once they drop out of the class/school.
On the other hand, retrieving data involves picking a particular record or certain values based on
the query you executed. Simply put, after executing the query, the data manipulation function
allows you to retrieve data and make it available in an understandable format. In the example
above, you could retrieve the records of the last student administered in the database.
Such functions of DBMS allow you to extract data and then use it to generate reports for analysis
and, ultimately, decision-making.
Database systems enable you to generate reports using predefined templates or even custom
layouts to better visualize the data. You can define report templates with specific sections,
headers, footers, and formatting options here. The DBMS can fill in the templates with the
retrieved data, arrange it, and even perform aggregations.
Identify key components for aligning business goals with the organization's mission and
vision.
Demonstrate the ability to engage with key stakeholders to gather insights into the
primary objectives of the organization.
Identify the importance of recognizing performance and scalability demands in database
design.
Anticipate future growth and assess how the database will scale to meet increased
demands.
Demonstrate the ability to align database objectives with business requirements.
Validate data requirements, ensuring the database accommodates identified data needs.
Model entities by identifying core entities, defining entity attributes, normalizing data,
and establishing relationships
Create a conceptual data model using Entity-Relationship Diagrams (ERD) and review
and validate the model.
Aligning the database strategy with business goals ensures that technology investments directly
contribute to the success of the organization. For example, a focus on customer satisfaction
might lead to a database solution that enables personalized services and quick response times.
Engage with key stakeholders to gather insights into the primary objectives of the organization
and assess the strengths, weaknesses, opportunities, and threats facing the business to inform
database requirements.
Business goals should align with the organization's mission and vision, representing the
overarching purpose and desired future state. Review the mission and vision statements to ensure
coherence. Evaluate how each goal contributes to the organization's broader purpose.
Identifying the types of data critical to the organization is a foundational step. This includes
understanding data sources, formats, and the frequency of data access. Efficient handling of
relevant data directly impacts decision-making processes and operational workflows. For
instance, an e-commerce platform may prioritize transactional data and user behavior analytics.
Conduct a thorough audit of existing data to identify its nature and usage. Collect feedback from
end-users to understand their data requirements.
Key data needs refer to the specific requirements an organization has for collecting, storing,
processing, and utilizing data to achieve its business objectives. Identifying these needs is crucial
for designing a robust data infrastructure that supports decision-making, operational efficiency,
and strategic goals.
Understanding the lifecycle of data helps in managing resources efficiently and complying with
retention policies. Define stages of the data lifecycle (e.g., creation, usage, archival, deletion).
Stakeholder collaboration: Engage with various stakeholders to gather insights into their
data needs. Conduct interviews with business users, analysts, and IT professionals. Hold
workshops to facilitate discussions on data requirements.
Documenting requirements: Clearly document identified data needs to ensure a shared
understanding across the organization. Create comprehensive data requirement documents.
Use visual aids like data flow diagrams and entity-relationship diagrams.
Prioritization: Prioritize data needs based on their impact on business objectives and
feasibility of implementation. Work with stakeholders to assign priority levels to each data
requirement. Consider dependencies and interrelationships between different requirements.
Different business operations have varying demands on database performance and scalability.
Recognizing these demands is crucial to prevent bottlenecks. Failure to meet performance
expectations can lead to operational inefficiencies and dissatisfied customers. Scalability is vital
for accommodating growth without compromising performance. Analyze typical workloads to
Confirming that database objectives align with defined organizational business requirements is a
crucial step in ensuring that your technology strategy supports and enhances overall business
goals. It is an ongoing process that involves regular assessments, adjustments, and collaboration
between IT and business stakeholders. By ensuring continuous alignment, organizations can
maintain an adaptable and efficient database infrastructure that serves the evolving needs of the
business. Regular reviews, feedback loops, and proactive adjustments are key elements in
achieving this alignment. Here's a detailed guide on how to achieve this alignment.
A. Identify key data needs: Ensure that the database is aligned with the types of data
critical to the organization. Revisit data audits and user surveys conducted during the
A. Review workload analysis: Validate that database performance and scalability align
with workload analysis. Compare actual database performance against the predicted
workload. Confirm that scalability mechanisms (horizontal/vertical scaling, sharding)
are in place and functional.
B. Future proofing: Ensure that the database design considers future growth and
technological advancements. Review scalability plans to confirm they align with
projected organizational growth. Assess the database's adaptability to emerging
technologies.
4. Validate security and compliance:
A. Regulatory compliance audit: Verify that the database meets all regulatory and
compliance requirements. Conduct regular audits to ensure compliance with
industry-specific regulations. Implement and test security measures such as
encryption and access controls.
B. Data classification: Confirm that data is classified appropriately based on sensitivity.
Review data classification policies and update them if necessary. Ensure that security
measures are proportionate to the sensitivity of the data.
A. Technology trends analysis: Ensure that the database strategy remains aligned with
technological advancements. Regularly review technology trends and assess their
relevance to the organization. Adjust the database strategy to incorporate new
technologies that enhance business operations.
B. Agility and adaptability: Confirm that the database infrastructure is designed for
agility and adaptability. Evaluate the ease with which the database can be modified or
expanded. Implement agile development and deployment practices.
6. Regular monitoring and evaluation:
A. Key performance indicators (KPIs): Continuously monitor KPIs to ensure that the
database is contributing to organizational success. Establish a system for regular
performance reviews. Adjust database objectives based on changing business
requirements.
B. User feedback: Gather feedback from end-users to validate that the database meets
their needs. Conduct user satisfaction surveys. Use feedback to inform adjustments to
database functionality.
Analyzing a database to identify business rules, entities, and relationships is a critical step in
database design. This process involves understanding the business context, defining the rules that
govern the data, and modeling the entities and relationships based on these rules. Here's a
detailed guide on how to perform this analysis:
B. Specify relationship cardinality: Define the number of instances of one entity that
can be associated with another. Determine if the relationship is one-to-one, one-to-
many, or many-to-many. Use crows-feet notation or other symbols to represent
cardinality.
C. Capture business logic in relationships: Document any specific business rules
related to the relationships. Identify any constraints or conditions governing the
relationships. For example, specify rules like "each order must be associated with at
least one customer”.
5. Create a conceptual data model:
A. Visual representation: Create a high-level visual representation of the database
structure. Use a tool like Entity-Relationship Diagrams (ERD) to illustrate entities,
attributes, and relationships. Clearly label and document each component.
B. Review and validate: Ensure that the conceptual model accurately reflects business
requirements. Conduct a review with stakeholders to validate the model. Make
revisions based on feedback and further insights.
Analyzing a database to identify business rules, entities, and relationships is an iterative process
that requires collaboration between business and IT stakeholders. By thoroughly understanding
business processes, documenting rules, modeling entities and relationships, and creating a
conceptual data model, you can build a solid foundation for the design and development of a
database system that aligns with the needs of the organization. Regular reviews and refinements
based on feedback are key to ensuring the accuracy and effectiveness of the database design.
The basic concept that the ER model represents is an entity, which is a thing or object in the real
world with an independent existence. An entity may be an object with a physical existence (for
example, a particular person, car, house, or employee) or it may be an object with a conceptual
existence (for instance, a company, a job, or a university course). Each entity has attributes—the
particular properties that describe it. For example, an EMPLOYEE entity may be described by
the employee’s name, age, address, salary, and job. A particular entity will have a value for each
of its attributes. The attribute values that describe each entity become a major part of the data
stored in the database.
B. Entity Types and Entity Sets.
A database usually contains groups of entities that are similar. For example, a company
employing hundreds of employees may want to store similar information concerning each of the
employees. These employee entities share the same attributes, but each entity has its own
value(s) for each attribute. An entity type defines a collection (or set) of entities that have the
same attributes. Each entity type in the database is described by its name and attributes. The
collection of all entities of a particular entity type in the database at any point in time is called an
entity set. An entity type is represented in ER diagrams as a rectangular box enclosing the entity
type name. Attribute names are enclosed in ovals and are attached to their entity type by straight
lines. Composite attributes are attached to their component attributes by straight lines.
Multivalued attributes are displayed in double ovals. Relationships are displayed in diamond.
An entity type describes the schema or intension for a set of entities that share the same structure.
The collection of entities of a particular entity type is grouped into an entity set, which is also
called the extension of the entity type. In ER diagrammatic notation, each key attribute has its
name underlined inside the oval. Entity types that do not have key attributes of their own are
called weak entity types. In ER diagrams, both a weak entity type and its identifying relationship
Identifying existing and proposed business models involves a thorough examination of how an
organization creates, delivers, and captures value. Below is a detailed guide on how to identify
and analyze both the existing and proposed business models:
Documenting an existing database and its environment is a crucial step in understanding the
system's structure, components, and configurations. This documentation provides valuable
insights for system maintenance, troubleshooting, and future development. Below is a
comprehensive guide on how to document an existing database and its environment according to
workplace procedures:
Data Modeling Using the Entity–Relationship (ER) Model(An ER schema diagram for the
COMPANY database).
This unit is developed to provide you the necessary information regarding the following content
coverage and topics:
Database capacity
Scalability parameters
Comparing database features
Database features gap documentation.
This unit will also assist you to attain the learning outcomes stated in the cover page.
Specifically, upon completion of this learning guide, you will be able to:
Scalability and functionality are critical considerations when designing and managing a database,
especially when aligning it with current and future business requirements. By addressing these
scalability and functionality requirements, a database can be designed and maintained to
effectively support the current and future needs of the business. Regularly reassessing these
requirements is essential to ensure ongoing alignment with business goals and technological
advancements. Here are some key aspects to consider:
1. Scalability requirements
Data volume:
A. Current Requirement: Determine the amount of data that needs to be stored and
processed presently.
B. Future Requirement: Anticipate data growth over time and plan for scalability to
handle increased volume
Transaction rate:
A. Current Requirement: Understand the current rate of transactions (reads and
writes) that the database must support.
B. Future Requirement: Plan for an increased transaction rate as the business grows
or undergoes changes.
Concurrent users:
A. Current Requirement: Identify the number of simultaneous users accessing the
database.
B. Future Requirement: Plan for scalability to support a larger user base, both in
terms of concurrent users and total users.
Performance expectations:
A. Current Requirement: Define the acceptable response time for database queries
and transactions.
Identifying reserve and long-term capacity for a database is crucial for ensuring scalability and
functionality meet the evolving needs of the business. Reserve capacity refers to the additional
resources (such as storage, processing power, and memory) that are set aside to handle
unexpected increases in workload or to accommodate future growth. Long-term capacity
planning involves anticipating the database requirements over an extended period and making
provisions to support those requirements. By considering both reserve and long-term capacity,
organizations can build a resilient and future-proof database infrastructure that can adapt to
The architecture of a database system is greatly influenced by the underlying computer system
on which it runs, in particular by such aspects as processor and memory architecture, and
networking, as well as by requirements of parallelism and distribution. The earliest databases
were built to run on a single physical machine supporting multitasking; such centralized database
systems are still widely used. Centralized database systems are those that run on a single
computer system. Such database systems span a range from single-user database systems running
on mobile devices or personal computers to high-performance database systems running on a
server with multiple CPU cores and disks and a large amount of main memory that can be
accessed by any of the CPU cores. An enterprise-scale application that runs on a centralized
database system today may have from tens to thousands of users and database sizes ranging from
megabytes to hundreds of gigabytes.
Database systems designed for single-user systems usually do not provide many of the facilities
that a multiuser database provides. In particular, they may support very simple concurrency
control schemes, since highly concurrent access to the database is very unlikely. Provisions for
crash recovery in such systems may also be either very basic (e.g., making a copy of data before
In contrast, multiuser database systems support the full transactional features that we have
studied earlier. Such databases are usually designed as servers, which service requests received
from application programs; the requests could be in the form of SQL queries, or they could be
requests for retrieving, storing, or updating data specified using an API.
Parallel database systems were developed, starting in the late 1980s to execute tasks in parallel
on a large number of machines. Two important issues in studying parallelism are speedup and
scale up. Running a given task in less time by increasing the degree of parallelism is called
speedup. Handling larger tasks by increasing the degree of parallelism is called scale up. These
were developed to handle high-end enterprise applications whose requirements in terms of
transaction processing performance, time to process decision support queries, and storage
capacity could not be met by centralized databases. These databases were designed to run in
parallel on hundreds of machines. Today, the growth of parallel databases is driven not just by
enterprise applications, but even more so by web-scale applications, which may have millions to
even hundreds of millions of users and may need to deal with many petabytes of data. Parallel
data storage systems are designed primarily to store and retrieve data based on keys. Unlike
parallel databases, data storage systems typically provide very limited support for transactions,
and they lack support for declarative querying. On the other hand, such systems can be run in
parallel on very large numbers of machines (thousands to tens of thousands), a scale that most
parallel databases cannot handle.
Further, data are often generated and stored on different database systems, and there is a need to
execute queries and update transactions across multiple databases. This need led to the
development of distributed database systems. Techniques developed for fault tolerance in the
The main differences between shared-nothing parallel databases and distributed databases
include the following:
Distributed databases have sites that are geographically separated. As a result, the
network connections have lower bandwidth, higher latency, and greater probability of
failures, as compared to networks within a single data center. Systems built on distributed
databases therefore need to be aware of network latency, and failures, as well as of
physical data location.
Parallel database systems address the problem of node failure. However, some failures,
particularly those due to earthquakes, fires, or other natural disasters, may affect an entire
data center, causing failure of a large number of nodes.
Comparing functionality and scalability features of a database involves evaluating both the
capabilities that address specific data management needs (functionality) and the ability of the
database to handle growing demands and increased workload (scalability). Functionality features
address the specific requirements of data management and processing, while scalability features
focus on the system's ability to handle increased demands and grow effectively. Both aspects are
crucial for selecting a database that meets the current and future needs of an application or
business. Here's a breakdown of these two aspects:
Documenting the gap between the scalability and functionality of database features is essential
for making informed decisions about the selection and optimization of a database system. By
systematically documenting the gap between functionality and scalability features, organizations
can make informed decisions about improving their database systems to better align with current
and future needs. Regularly reassessing and updating this documentation is crucial as the
business evolves and technology advances. Here's a step-by-step guide on how to document this
gap:
Research alternative databases: Research alternative databases that may better align with the
identified functional and scalability requirements. Document the features and capabilities of
these alternative databases, specifically focusing on how they address the gaps identified in the
current system.
Document recommendations: Provide recommendations for addressing the identified gaps. This
may involve proposing changes to the existing database configuration, implementing
workarounds, or migrating to a different database solution that better meets the requirements.
Cost and resource analysis: Evaluate the costs and resource requirements associated with
implementing the recommended changes or migrating to a different database. Consider factors
such as licensing costs, hardware requirements, and potential impacts on existing applications
and workflows.
Create a roadmap: Develop a roadmap for addressing the documented gaps. Outline the steps and
timelines for implementing the recommended changes or transitioning to a new database
URL
https://www.analyticsvidhya.com/blog/2023/06/what-are-functions-of-dbms/
5 Tewodros Girma MSc Information system Sheno Polytechnic 0912068479 girmatewodiros @gmail.com
College