Lecture3 4 - Database Management System (DBMS)
Lecture3 4 - Database Management System (DBMS)
Database Systems
2
What is a Database
Management System?
3
Typical functions of DBMS
1. Data Definition: This involves defining the structure of the database, including creating, modifying,
and deleting schemas, tables, views, indexes, etc.
2. Data Manipulation: DBMS allows users to interact with the data stored in the database. Common
operations include inserting, updating, deleting, and querying data.
3. Data Retrieval: It enables users to retrieve specific information from the database using queries.
Queries can range from simple to complex, using SQL or other query languages supported by the DBMS.
4. Data Security: DBMS provides mechanisms to ensure the security and integrity of the data. This
includes user authentication, access control, encryption, and auditing.
Example: Granting read-only access to a specific user:
5. Data Integrity: DBMS enforces data integrity constraints to maintain the accuracy and consistency of
data. This includes primary key constraints, foreign key constraints, unique constraints, etc.
4
Typical functions of DBMS
6. Concurrency Control: DBMS manages concurrent access to the database by multiple users or
applications to ensure data consistency and integrity.
▪ When multiple users or applications access a database simultaneously, concurrency control ensures that
data remains consistent and free from conflicts.
▪ Without concurrency control, two users might try to update the same record at the same time, leading to
data inconsistency.
▪ DBMS uses techniques like locking, timestamp ordering, and multi-version concurrency control (MVCC) to
handle concurrent transactions properly.
▪ Example: If two bank users try to withdraw money from the same account at the same time, the DBMS
ensures that both transactions are processed correctly, preventing double withdrawal.
7. Backup and Recovery: DBMS provides mechanisms for backing up data periodically and recovering
data in case of system failures, crashes, or other disasters.
5
Typical functions of DBMS
▪ A DBMS manages transactions to ensure that all operations maintain the integrity and
reliability of the database.
▪ A transaction is a set of database operations that must be executed as a single unit.
▪ Transactions follow the ACID properties:
• Atomicity: Either all parts of a transaction occur, or none (e.g., money transfer either completes fully or
not at all).
• Consistency: A transaction brings the database from one valid state to another (no data corruption).
• Isolation – Transactions execute independently without interfering with each other.
• Durability – Once a transaction is committed, it remains permanent even after a system failure.
▪ Example: If a bank customer transfers money from Account A to Account B, but the system
crashes before completion, the DBMS ensures either the entire transfer happens or none of it,
preventing partial transactions. 6
Typical functions of DBMS
7. Performance Tuning: DBMS includes tools and techniques for optimizing the
performance of database operations, such as query optimization, indexing,
caching, and partitioning.
7
Typical functions of DBMS
8. Replication and Distribution: Some DBMSs support replication and distribution of data
across multiple servers or locations for scalability, fault tolerance, and improved
performance.
▪ Replication: Creates copies of the database on multiple servers for redundancy and load
balancing.
▪ Distribution: Splits data across multiple locations (e.g., a global company storing customer
data in regional databases).
▪ Example: A social media platform with global users replicates its database across multiple
servers worldwide. This ensures users in different regions experience fast response times and
data remains available even if one server fails.
8
Major components of DBMS environment
9
10
Roles in the Database Environment
Database Developer:
•Responsibilities:
• Designing and implementing database schemas and structures based on application
requirements.
• Writing and optimizing SQL queries and stored procedures.
• Developing and maintaining database applications and interfaces.
• Collaborating with software developers to integrate databases with applications.
• Performance tuning and optimization of database operations.
•Skills: SQL proficiency, database design, query optimization, programming (e.g., Java, Python,
.NET), problem-solving. 12
Roles in the Database Environment
Data Analyst:
•Responsibilities:
• Extracting, transforming, and analyzing data from databases to support decision-making.
• Creating reports, dashboards, and visualizations to present insights from data.
• Identifying trends, patterns, and anomalies in data.
• Collaborating with business stakeholders to understand data requirements.
• Ensuring data quality and integrity.
•Skills: Data analysis, SQL proficiency, data visualization (e.g., Tableau, Power BI), statistical
analysis, domain knowledge.
14
Roles in the Database Environment
Application Developer:
•Responsibilities:
• Developing software applications that interact with databases.
• Integrating database functionality into applications.
• Writing and optimizing database queries and data access code.
• Ensuring data consistency and integrity within applications.
• Collaborating with database developers & administrators to optimize application performance.
•Skills: Programming languages (e.g., Java, Python, .NET), database interaction APIs, SQL proficiency,
software development methodologies.
15
Roles in the Database Environment
Data Steward:
•Responsibilities:
• Ensuring compliance with data governance policies and regulations.
• Managing metadata, data dictionaries, and data lineage.
• Establishing data quality standards and monitoring data quality.
• Collaborating with data owners and stakeholders to resolve data-related issues.
• Providing guidance and training on data management best practices.
•Skills: Data governance, data quality management, metadata management,
communication, problem-solving.
16
Roles in the Database Environment
End Users:
•Responsibilities:
• Database end users are individuals or entities who interact with a database system to
retrieve, input, modify, or analyze data.
• They are the ultimate consumers of the information stored in the database and may have
varying levels of technical expertise and access privileges.
• Common types: Casual Users, Operational Users, Technical Users, Executive Users etc.
• Skills: Data entry, data manipulation, report generation, data retrieval, data visualization, data
interpretation etc.
17
History of Databases / DBMS
18
Advantages of DBMS
19
Disadvantages of DBMS
20
Thankyou
Any Queries?
21