SWDF_Assignment_Database
SWDF_Assignment_Database
THOMAS OF MOZAMBIQUE
BUSINESS SCHOOL
BACHELOR OF COMPUTER SCIENCE
DATABASES
Não existem fontes no documento atual.
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 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:
TYPES OF DATABASES
Databases can be categorized based on how data is structured and accessed:
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.
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.
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.
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.
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.
• 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
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