Database Systems - Lecture 3
Database Systems - Lecture 3
Database Systems - Lecture 3
ENGINEERING
Database systems are integral to Electronics and Computer Engineering, providing essential
tools for managing, storing, and analyzing data that is vital for various engineering
applications.
Data Management and Storage: They serve as repositories for data generated by sensors,
simulations, and experiments. This data is structured in a way that makes it easy to store,
retrieve, and update, ensuring that engineers can efficiently manage the information necessary
for design, analysis, and decision-making.
Efficient Data Retrieval: In engineering applications, where real-time access to data is often
critical, database systems allow for rapid querying and retrieval of information, enabling
engineers to analyze data, monitor systems, and make informed decisions without delays.
Data Integrity and Consistency: Database systems enforce integrity constraints, such as
primary keys and foreign keys, which prevent errors and inconsistencies. In engineering, this
is crucial for maintaining the reliability of data used in design, testing, and production
processes.
Data Security: Database systems provide robust security features, including access controls,
encryption, and auditing. In electronics and computer engineering, where data security is
paramount, these features help safeguard intellectual property, sensitive project data, and
critical system information.
Integration with Engineering Tools: Database systems often integrate with tools like CAD
(Computer-Aided Design), simulation software, and data acquisition systems. This integration
allows for the smooth flow of data between different stages of the engineering process, from
design to implementation.
Support for Real-time and Embedded Systems: Database systems in embedded applications
manage data locally within devices, enabling real-time data processing and decision-making.
This is critical for applications like IoT devices, automation systems, and real-time control
systems in electronics engineering.
Data Analysis and Decision Support: Engineers use database systems to perform complex
data analysis, including data mining and statistical analysis, to extract insights and optimize
designs. Decision support systems built on databases enable engineers to make data-driven
decisions in the design, testing, and deployment of systems.
1
Facilitating Research and Development: In research settings, database systems provide a
platform for collaboration among researchers, allowing data to be shared, analyzed, and
interpreted effectively, which is crucial for advancing the field of electronics and computer
engineering.
The terms "database system" and "database management system" (DBMS) are closely related
but refer to different concepts within the realm of data management.
A database system is an organized collection of data and the set of programs that allow users
to access and manage that data. It encompasses the entire environment that includes the
database, the DBMS, and the applications that interact with the database.
The database system includes everything involved in the storage, retrieval, and management of
data within an organization, from the physical hardware to the user interfaces and applications.
A database system is composed of several key components that work together to manage, store,
retrieve, and secure data efficiently.
Database: The database is the actual collection of data, organized in a structured manner,
typically in tables, rows, and columns (in a relational database).
Database Management System (DBMS): The DBMS is the software that manages the
database. It provides the interface for users and applications to interact with the data.
2
Hardware: The physical devices and infrastructure used to store, process, and access the
database.
Software: Besides the DBMS, additional software may be part of the database system,
facilitating various functions. E.g. OS.
Users: Individuals or applications that interact with the database system. E.g. DBAs, End-
users, etc.
Procedures: The documented processes and rules that govern how the database system is
used and managed. E.g., Backup procedures, maintenance procedures, security procedures,
etc.
Query Processor: A component of the DBMS that interprets and executes database queries.
E.g., Parsing, optimization, execution, etc.
Storage Manager: Manages the physical storage of data on the hardware. E.g., Data
storage, file management, etc.
Transaction Manager: Ensures that database transactions are processed reliably. E.g.
Concurrency control and recovery management.
Data Dictionary (Metadata): A special database or set of tables that stores metadata, i.e.,
data about the data in the database.
A DBMS is a specific software application designed to interact with the database. It provides
an interface between the users (or applications) and the database, allowing them to store,
modify, query, and manage the data.
• Data Entry Errors: Human errors during data entry can lead to inaccurate or inconsistent
data being stored in the database. Inaccurate data entry can result in incorrect records, faulty
analysis, and unreliable outputs, affecting decisions based on this data.
• Outdated Data: Data may become outdated if not regularly updated, leading to information
that no longer reflects the current situation. This can lead to poor decision-making, especially
in environments where real-time data is crucial, such as financial systems or inventory
management.
• Data Redundancy and Inconsistency: Redundant data stored in multiple locations can lead
to inconsistencies if updates are not uniformly applied across all copies. Inconsistent data can
3
result in conflicts and unreliable information, making it difficult to determine the accurate
state of the data.
• Incomplete Data: Missing data fields or records can lead to incomplete datasets, which
may result in inaccurate analysis or incorrect conclusions. This hampers the ability to gain
full insights from the data and can skew the results of queries or reports.
• Data Corruption: This may be due to software bugs, hardware failures, or malicious
attacks and can lead to the loss or distortion of information. Corrupted data can
compromise the integrity of the entire database, leading to unreliable outputs and potential
system failures.
• Poor Data Validation: Inadequate/ poor validation during data entry or processing can
result in the database storing incorrect data, which can propagate errors through subsequent
data processing and analysis.
• Security Breaches: Unauthorized access or breaches can lead to tampering with data,
resulting in inaccurate or manipulated information. This can lead to a loss of trust in the
system.
Data Definition: The DBMS allows users to define the structure of the data. This involves
specifying the data types, structures, and constraints for the data to be stored in the database.
This ensures that the data adheres to specific formats and rules, facilitating data integrity
and consistency.
Data Storage, Retrieval, and Update: The DBMS provides a mechanism for storing data
in a structured manner and retrieving or updating that data efficiently. This is critical for the
core operation of any database, ensuring that data can be accessed quickly and modified
correctly as needed.
Data Manipulation Language (DML): The DBMS offers a language (typically SQL) that
allows users to manipulate data. This includes operations like querying, inserting, updating,
and deleting data.
Data Security and Authorization: The DBMS provides mechanisms to secure data by
controlling access based on user roles and permissions. This ensures that only authorized
users can access or modify data, protecting sensitive information and maintaining data
privacy.
Transaction Management: The DBMS manages transactions, ensuring that all operations
within a transaction are completed successfully before committing them to the database. It
4
also supports rollback operations in case of failures. This function ensures data consistency
and integrity, particularly in multi-user environments.
Concurrency Control: The DBMS controls how data is accessed and modified by multiple
users concurrently to prevent conflicts or data inconsistencies. This function is crucial in
multi-user environments to ensure that simultaneous transactions do not interfere with each
other, maintaining data accuracy.
Backup and Recovery: The DBMS provides tools and processes for backing up data and
restoring it in case of loss, corruption, or disaster. This is essential for data protection and
disaster recovery, ensuring that data can be restored to a consistent state after a failure.
Data Integrity Management: The DBMS enforces rules to maintain the accuracy and
consistency of data within the database, such as constraints and referential integrity.
Ensuring data integrity prevents errors and maintains trust in the database’s data, which is
vital for reliable operations and decision-making.
Data Independence: The DBMS separates the logical data structure from the physical data
storage, allowing for changes in the database schema without affecting the application
programs. This simplifies maintenance and enhances the flexibility of the database system,
allowing for easier updates.
Replication and Distribution: Replication and distribution are important for ensuring data
availability and fault tolerance especially in distributed systems.
DATABASE ARCHITECTURES
Database architecture refers to the design, structure, and organization of a database system
that defines how data is stored, managed, and accessed.
The architecture of a database system significantly influences its performance, scalability,
reliability, and maintainability.
5
TYPES OF DATABASE ARCHITECTURES
• Single-Tier Architecture: The database system is standalone, where the database and the
application reside on the same machine. This is less common in modern systems due to its
limitations in scalability and performance.
• Two-Tier Architecture: Often referred to as the client-server architecture, where the client
directly interacts with the server. The client handles the user interfaces, while the server
manages the database.
• Three-Tier Architecture: Adds an additional layer between the client and the server, usually
an application server. This layer handles the business logic improving scalability, security,
and performance. It is meant for Enterprise applications requiring robust data processing and
security, such as e-commerce platforms.
• N-Tier Architecture: Extends the three-tier architecture by adding more layers, such as a
web server, application server, and database server, often used in distributed systems.
• Distributed Database Architecture: Data is stored across multiple locations, either on the
same network or across different networks. This architecture is critical for systems requiring
high availability and disaster recovery.
• Cloud-Based Database Architecture: Databases are hosted on cloud platforms, offering
flexibility, scalability, and reduced operational complexity. Examples include Amazon RDS,
Microsoft Azure SQL Database, and Google Cloud SQL.