0% found this document useful (0 votes)
4 views12 pages

SWDF_Assignment_Database

The document is a course outline for a Bachelor of Computer Science class on databases at the University of St. Thomas of Mozambique. It covers various topics including database definitions, types, management systems, normalization, and the advantages and disadvantages of database systems. The importance of understanding databases for effective software development is emphasized, along with specific objectives for the course.

Uploaded by

James Dojane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views12 pages

SWDF_Assignment_Database

The document is a course outline for a Bachelor of Computer Science class on databases at the University of St. Thomas of Mozambique. It covers various topics including database definitions, types, management systems, normalization, and the advantages and disadvantages of database systems. The importance of understanding databases for effective software development is emphasized, along with specific objectives for the course.

Uploaded by

James Dojane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

UNIVERSITY OF ST.

THOMAS OF MOZAMBIQUE
BUSINESS SCHOOL
BACHELOR OF COMPUTER SCIENCE

DATABASES
Não existem fontes no documento atual.

Class: 1L1CS 2025 SEMESTER: I


Discipline: Software Development Fundamentals

Students: Darson Njauala Lecturer: Marciano


Ombe
Douglas Aly Justino Pondza
James Luís Laurentino Dojane
Lukanga Solomon de Almeida
Rodrigo Paul
Maputo, May of 2025

CONTENTS
INTRODUCTION..................................................................................................................1
OBJECTIVES........................................................................................................................ 2
General Objective...............................................................................................................2
Specific Objectives..............................................................................................................2
RESEARCH METHODOLOGY..........................................................................................2
DATABASE DEFINITION...................................................................................................3
IMPORTANCE OF DATABASE.........................................................................................3
TYPES OF DATABASES......................................................................................................3
Relational databases (SQL databases)..............................................................................3
Non-relational databases (NoSQL databases)..................................................................4
Hierarchical databases.......................................................................................................4
Network databases............................................................................................................. 4
Object-oriented databases................................................................................................. 4
DATABASE MANAGEMENT SYSTEM (DBMS).............................................................5
RELATIONAL DATABASE MANAGEMENT SYSTEMS (RDBMS) AND ENTITY-
RELATIONSHIP MODEL................................................................................................... 5
RDBMS............................................................................................................................... 5
Entity-Relationship Model.................................................................................................6
DATABASE NORMALIZATION........................................................................................6
ADVANTAGES AND DISADVANTAGES OF DATABASE SYSTEMS.........................7
Advantages..........................................................................................................................7
Disadvantages..................................................................................................................... 8
CONCLUSION.......................................................................................................................9
REFERENCES.....................................................................................................................10
INTRODUCTION
Understanding databases is essential for effective software development, as they serve as the
foundation for storing, organizing, and managing data efficiently. Whether designing
applications, websites, or enterprise systems, developers must ensure seamless data retrieval,
security, and scalability. Knowledge of database concepts—including relational models,
normalization, indexing, and query optimization—enables developers to build robust systems
that handle large volumes of data while maintaining performance.

A database is an organized collection of data that is stored and accessed electronically.


Databases are used in a wide variety of applications, spanning from small personal systems to
large enterprise systems. Before databases, data was stored in file systems where the retrieval
and updating of data was cumbersome and error-prone. Databases improve efficiency by
allowing easy access, management, and updating of data, and by enforcing data integrity and
security.

A file system is a method of storing and organizing files and the data they contain. Unlike
databases, file systems lack advanced querying capabilities, data relationships, and
normalization techniques that reduce redundancy.

In this work, we will delve into databases, examining their structure, functionality, and
crucial role in system development.

3
OBJECTIVES
General Objective
 Explore databases and their relevance to system development.

Specific Objectives
 Analyze database structures;
 Examine key database models and technologies; and
 - Evaluate best practices for database integration.

RESEARCH METHODOLOGY
 This study will follow a qualitative and quantitative approach, combining theoretical
analysis with practical applications.

4
DATABASE DEFINITION
A database is a structured collection of data designed to store, manage, and retrieve
information. A database, also denoted as DB, data is normally arranged within tables, defined
by rows and columns, like a spreadsheet layout that facilitates data organization. The
functionality of databases extends to various operations, such as inserting new data, updating
existing data, deleting old data, and querying data based on your specific criteria.

IMPORTANCE OF DATABASE
Businesses employ databases to maintain large volumes of data in an organized manner,
making it easily accessible to authorized users. Databases are essential for a business’s
growth in numerous ways:

 They allow a business to make informed business decisions.


 Databases efficiently store and retrieve related information.
 Users can collect and store crucial customer data from different applications in a
single database.
 A database helps aggregate and analyze business data.
 Databases power personalized applications and detailed analytics.
 Immediate access to crucial business data enables businesses to comprehend data
patterns and predict future trends.

TYPES OF DATABASES
Databases can be categorized based on how data is structured and accessed:

Relational databases (SQL databases)


Relational databases are also referred to as SQL databases. As the name suggests, these
databases are based on a relational model where the data is organized into tables (entities)
with rows (tuples) and columns (attributes). Relational database management systems
(RDBMS) use SQL to query and manage data. Some examples of relational databases include
MySQL, PostgreSQL, and SQL Server.

Relational databases are excellent for applications that require strong data integrity, complex
queries, and transactions, such as financial systems, customer relationship management
systems (CRM), and enterprise resource planning (ERP) systems.

5
Non-relational databases (NoSQL databases)
Unlike relational databases, NoSQL databases, also called non-relational databases, don’t
require a fixed schema. These databases are suitable for managing semi-structured or
unstructured data. Types of NoSQL databases include document stores such as MongoDB,
key-value stores such as Redis, and column-family stores such as Cassandra.

These databases are ideal for big data applications, real-time web applications, and
distributed systems. Some common use cases include social network management and
content management.

Hierarchical databases
The hierarchical database model organizes data in a tree-like structure with parent-child
relationships. Each record type, except the root, has one parent. It’s used for one-to-many
relationships but is less stable due to data redundancy, limited independence, querying
challenges, and scalability issues.

This model is primarily used in applications where data is naturally organized in a


hierarchical manner, like XML data management. Hierarchical databases find their use in
scenarios requiring fast, predictable navigation and querying of structured, tree-like data
relationships. For example, computer file systems, where folders and subfolders form a
natural tree structure, organizational charts within companies, and bill of materials (BOM)
used in manufacturing can be efficiently represented and queried using hierarchical databases
due to their inherent hierarchical nature.

Network databases
It is a type of database model where data is organized using a network-like structure. In a
network database, records can have multiple parent and child records, enabling many-to-
many relationships. Network databases provide greater flexibility when compared to their
hierarchical counterparts.

Network databases are well-suited for complex applications, such as telecommunications,


transportation networks, and advanced inventory systems.

Object-oriented databases
Object-based databases are designed to work with object-oriented programming languages
and store objects directly. In this database model, the focus is on storing and managing
objects in reference to their methods and functions. These databases typically support

6
features like inheritance, polymorphism, and encapsulation and are best for applications like
computer-aided design (CAD), multimedia projects and applications, software development,
digital media, and gaming.

DATABASE MANAGEMENT SYSTEM (DBMS)


A Database Management System (DBMS) is the software interface between users and
databases. It’s core software for database control and management, handling data storage,
organization, security, backup, concurrency, and query processing. Examples include
MySQL, PostgreSQL, Oracle, SQL Server, MongoDB, and Cassandra.

Its key components and functions include:

 Data Modeling: Tools to create and modify data models, defining the structure and
relationships within the database.
 Data Storage and Retrieval: Efficient mechanisms for storing data and executing
queries to retrieve it quickly.
 Concurrency Control: Ensures multiple users can access the database
simultaneously without conflicts.
 Data Integrity and Security: Enforces rules to maintain accurate and secure data,
including access controls and encryption.
 Backup and Recovery: Protects data with regular backups and enables recovery in
case of system failures.

RELATIONAL DATABASE MANAGEMENT SYSTEMS (RDBMS) AND ENTITY-


RELATIONSHIP MODEL
RDBMS
A Relational Database Management System (RDBMS) is a type of database management
system that stores and manages data in a structured format using rows and columns, similar to
a spreadsheet. This data is organized into tables, and relationships between tables are
established through common attributes. RDBMSs are designed to ensure data integrity,
consistency, and accuracy, and they often use SQL (Structured Query Language) to query
and manipulate the data.

7
Entity-Relationship Model
The Entity-Relationship (ER) model is used to design relational databases. It identifies the
entities involved in the system and the relationships between them. An ER Diagram (ERD) is
a visual representation of entities and their relationships, commonly used in the database
design phase.

The Entity Relationship Model is a model for identifying entities (like student, car or
company) to be represented in the database and representation of how those entities are
related. The ER data model specifies enterprise schema that represents the overall logical
structure of a database graphically.

DATABASE NORMALIZATION
Normalization is an important process in database design that helps improve the database's
efficiency, consistency, and accuracy. It makes it easier to manage and maintain the data and
ensures that the database is adaptable to changing business needs.

Basic Normal Forms:

• First Normal Form (1NF): Ensures that each column contains atomic values, and each
record is unique.

• Second Normal Form (2NF): Removes partial dependencies; every non-key attribute is fully
functionally dependent on the primary key.

• Third Normal Form (3NF): Removes transitive dependencies; non-key attributes are not
dependent on other non-key attributes.

8
Example:

Unnormalized Table:
StudentID | Name | Course1 | Course2

1NF:
StudentID | Name | Course

2NF and 3NF:


Student Table: StudentID | Name
Enrollment Table: StudentID | Course

ADVANTAGES AND DISADVANTAGES OF DATABASE SYSTEMS


Advantages
A number of advantages of applying database approach in application system are obtained
including:
 Control of data redundancy: The database approach attempts to eliminate the
redundancy by integrating the file. Although the database approach does not eliminate
redundancy entirely, it controls the amount of redundancy inherent in the database.
 Data consistency: By eliminating or controlling redundancy, the database approach
reduces the risk of inconsistencies occurring. It ensures all copies of the data are kept
consistent.
 Sharing of data: Database belongs to the entire organization and can be shared by all
authorized users.
 Improved data integrity: Database integrity provides the validity and consistency of
stored data. Integrity is usually expressed in terms of constraints, which are
consistency rules that the database is not permitted to violate.
 Improved security: Database approach provides a protection of the data from the
unauthorized users. It may take the term of user names and passwords to identify user
type and their access right in the operation including retrieval, insertion, updating and
deletion.

9
 Improved backing and recovery services: Modern database management system
provides facilities to minimize the amount of processing that can be lost following a
failure by using the transaction approach.

Disadvantages
In split of a large number of advantages can be found in the database approach, it is not
without any challenge. The following disadvantages can be found including:
 Complexity: Database management system is an extremely complex piece of
software. All parties must be familiar with its functionality and take full advantage of
it. Therefore, training for the administrators, designers and users is required.
 Size: The database management system consumes a substantial amount of main
memory as well as a large number amount of disk space in order to make it run
efficiently.
 Cost of DBMS: A multi-user database management system may be very expensive.
Even after the installation, there is a high recurrent annual maintenance cost on the
software.

10
CONCLUSION

Understanding databases and how they work is essential in today’s data-driven world. From
traditional relational models to modern NoSQL systems and cloud solutions, databases are at
the core of almost every software application. Mastering database fundamentals helps ensure
efficient, secure, and scalable data management.
Database knowledge is essential for developers and architects alike, as it enables them to
make informed decisions about data modeling, architecture, and optimization.

11
REFERENCES
Elmasri, R., & Navathe, S. B. (2015). Fundamentals of Database Systems.
Silberschatz, A., Korth, H. F., & Sudarshan, S. (2010). Database System Concepts.
Date, C. J. (2004). An Introduction to Database Systems.
Oracle Documentation. https://docs.oracle.com/
IBM DB2 Documentation. https://www.ibm.com/docs/en/db2
Microsoft SQL Server. https://learn.microsoft.com/en-us/sql/sql-server/

12

You might also like