01- Introducing DBMS _Week 01
01- Introducing DBMS _Week 01
01- Introducing DBMS _Week 01
Introduction to
DBMS
(Week-1)
Introduction to DBMS
Data :
Data refers to any collection of facts, figures, or statistics that can be used
for analysis, decision-making, or other purposes. It can be in various forms
such as numbers, text, images, or videos.
Database : “ A database is a structured collection of related data stored
and accessed electronically.” Few examples ??
SQL Server
Data records
STUDENT
COURSE
SECTION
GRADE_REPORT
PREREQUISITE
Example
Structure (contd)
Specify structure of records by specifying data type for each data element:
• String of alphabetic characters
• Integer
• Alphanumeric
• Etc.
2. Data Security
A DBMS provides security mechanisms to ensure that only authorized
users can access or modify the data. This includes:
• Authentication: Ensuring that users are who they claim to be (e.g., via
passwords).
• Authorization: Granting specific permissions to users or roles to access
or modify certain parts of the database (e.g., restricting certain users
from deleting records).
• Encryption: Protecting sensitive data by storing it in encrypted formats.
Characteristics of DBMS system
(contd) ?
3. Data Integrity
DBMS ensures the accuracy and consistency of data through rules.
• Primary Key Constraint: Ensures each record in a table is unique.
• Foreign Key Constraint: Enforces referential integrity between tables.
• Unique Constraints: Ensure that certain fields or sets of fields contain
unique values.
• Not Null Constraints: Ensure that specific fields cannot be left empty.
4. Concurrency Control
DBMS supports simultaneous access to data by multiple users without
conflicts. Concurrency control mechanisms ensure that transactions
executed concurrently produce the same result as if they were executed
serially.
• Locking mechanisms (e.g., shared and exclusive locks) are used to
ensure that two users cannot update the same data simultaneously.
• Transaction isolation levels (like read committed, repeatable read, and
serializable) ensure data consistency while allowing multiple
transactions to proceed concurrently.
Characteristics of DBMS system
(contd)Management
5. Transaction ?
A DBMS ensures that all database operations are executed in a transactional
way, following the ACID properties:
• Atomicity: A transaction is all-or-nothing; either all its operations are
performed, or none of them are.
• Consistency: A transaction brings the database from one valid state to
another, preserving the integrity of the data.
• Isolation: Transactions are executed independently, and intermediate
steps are hidden from other transactions.
• Durability: Once a transaction is completed, its effects persist even in
case of system failures.
8. Views of Data
DBMS allows the creation of views, which are virtual tables that provide
specific users or applications with a customized subset of the database.
These views can:
Automatic backups and incremental backups help in restoring data to a
previous state.
• Processed outputs such as , aggregated data, totals, averages, or counts,
without exposing the detailed records.
• Provide security by restricting access to sensitive data. ( Read only access
)
• Show only the relevant portions of the data based on user roles.
9. Indexing
DBMS Players , Users , Actors
In a Database Management System (DBMS), various actors (or roles) are
involved in designing, maintaining, managing, and using the database
system. Each of these actors plays a crucial role in ensuring the smooth
operation and efficient use of the database. The key actors in a DBMS
environment include:
System
Analyst DB
Designer
DBMS Administrat
or
Application
Programm
er
Sophisticate
d end user
Naïve user
DBMS Players , Users , Actors
(contd)
1. System Analyst
System analysts bridge the gap between business users and technical
teams. They analyze business requirements and ensure that the database
and application development meet these requirements:
• Understanding and documenting business processes.
• Translating business needs into technical requirements that the database
designers and developers can use.
• Designing user interfaces that interact with the DBMS.
• Working closely with developers and end users to ensure that the system
meets both functional and performance goals.
2. Database Designers/Architect
Database designers or architects are responsible for creating the database
schema and determining how the data should be structured. Their work
occurs during the design phase of the database.
• Designing the conceptual, logical, and physical structure of the database.
• Defining schemas, tables, relationships, and constraints.
• Working closely with developers, DBAs, and end users to understand data
and application requirements.
• Developing ER diagrams and normalization strategies to organize data
efficiently.
DBMS Players , Users , Actors
(contd)
3. Database Administrator
The DBA is responsible for the overall management, control, and
maintenance of the DBMS. This is one of the most critical roles as the DBA
ensures that the database is functioning correctly, efficiently, and securely.
• Database design and implementation.
• User access control, including creating user roles and granting/restricting
permissions.
• Backup and recovery planning to prevent data loss.
• Monitoring performance tuning to ensure the system is running optimally.
• Enforcing data integrity and security policies.
• Ensuring compliance with organizational and legal data requirements.
4. Application Programmer
Application programmers are responsible for developing the software
applications that interact with the DBMS to carry out various tasks such as
data entry, updating, querying, and reporting.
• Writing SQL queries or using an API to interact with the database.
• Developing the front-end applications that interface with the DBMS (e.g.,
web applications, mobile apps).
• Writing stored procedures, triggers, and functions in the DBMS to
automate tasks.
• Testing and debugging applications to ensure they work correctly with the
DBMS Players , Users , Actors
(contd)
5. Casual/ Naïve users
There are different types of end users based on how frequently and in what
way they use the system. They can be Casual users or Naïve users.
• Casual users are the individuals who directly interact with the DBMS to
perform operations such as querying, updating, and reporting on data.
They access the database occasionally , often use ad-hoc queries to
retrieve information and do not typically perform updates. Examples:
Managers, analysts.
• Naïve users use predefined queries and queries that have been
programmed by developers. They are users who typically perform
repetitive tasks, such as data entry, processing orders, or managing
transactions. Examples: Bank tellers, airline reservation clerks.
6. Sophisticated users
Users who write complex queries and may interact with the DBMS using
advanced tools (e.g., SQL or reporting tools).Typically, these users have a
good understanding of the database and may create complex reports or
analytics. Examples: Data scientists, business analysts.
DBMS
Ecosystem
Query
NoSQL Processor
Storage
Manager
Distributed
Databases
Transacti
on
Manager
Cloud
Integration
Concurrenc
DBMS
y Control
( Oracle , MySQL.. )
Data
Security
Recovery
Manager
Actors
Data
Database Models
Schema
DBMS Ecosystem … Modern Day
picture
RESTful Business
Pig , Hive APIs Intelligence
(BI) Tools
( Tableau)
Cassendra
AI -ML
MongoDB DBMS
( Oracle , MySQL.. ) Fault
Tolerance
Big
Tables
Big Data …
RAID
GFS
Unstructure
d Data
Hadoop
DBMS
The architecture of a Architecture
Database Management System (DBMS) defines how
data is managed, stored, and retrieved in an efficient and organized
manner. A DBMS typically follows a Centralized Architecture or Client-
Server architecture.