Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
2 views

Introduction DBMS 2024

The document provides an overview of Database Management Systems (DBMS), including their purpose, functionality, and the various components involved in managing databases. It covers essential concepts such as data models, data manipulation languages, and the roles of database administrators and users. Additionally, it outlines the historical development of database systems and the evolution of technology in this field.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Introduction DBMS 2024

The document provides an overview of Database Management Systems (DBMS), including their purpose, functionality, and the various components involved in managing databases. It covers essential concepts such as data models, data manipulation languages, and the roles of database administrators and users. Additionally, it outlines the historical development of database systems and the evolution of technology in this field.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

DBMS BOOKS

• “Database System Concepts” Silberschatz, Korth,


Sudarshan
• Ramez Elmasri, Shamkant Navathe;
“Fundamentals of Database Systems”, 6th Ed.,
Pearson, 2014.
Chapter 1: Introduction

 Purpose of Database Systems


 View of Data
 Data Models
 Data Definition Language
 Data Manipulation Language
 Transaction Management
 Storage Management
 Database Administrator
 Database Users
 Overall System Structure
 History of Database System
Data

Data - The foundation of technological activity


Example: 17 Prachi UMIT Mumbai (?) (Fact?)
Database - a highly organized collection of assembled data
Database Management System - Database Management
Systems (DBMS) are software systems used to store, retrieve,
and run queries on data.
A DBMS serves as an interface between an end-user and a
database, allowing users to create, read, update, and delete
data in the database.
The primary goal of a DBMS is to provide an environment that is
both convenient and efficient for users to retrieve and store
information.
What is Data?

 A single piece of data is a single fact about something


that interests us.

 A fact can be any characteristic of an object.


Basic Definitions

Database:
A collection of related data.
Data:
Known facts that can be recorded and have an implicit meaning.
Mini-world:
Some part of the real world about which data is stored in a
database. For example, student grades and transcripts at a
university.
Database Management System (DBMS):
A software package/ system to facilitate the creation and
maintenance of a computerized database.
Database System:
The DBMS software together with the data itself. Sometimes, the
applications are also included.
Database Management System (DBMS)

• Collection of interrelated data


• Set of programs to access the data
• DBMS contains information about a particular enterprise
• DBMS provides an environment that is both convenient and
efficient to use.
• Database Applications:
• Banking: all transactions
• Airlines: reservations, schedules
• Universities: registration, grades
• Sales: customers, products, purchases
• Manufacturing: production, inventory, orders, supply chain
• Human resources: employee records, salaries, tax
deductions
• Databases touch all aspects of our lives
Purpose of Database System

• In the early days, database applications were built on top of file


systems
• Drawbacks of using file systems to store data:
• Searching: To search only 1kb data entire file you will get
• Slow processing and memory usage is more
• Data redundancy and inconsistency
• Multiple file formats, duplication of information in different files
• Difficulty in accessing data
• Need to write a new program to carry out each new task
• Data isolation — multiple files and formats
• Integrity problems
• Integrity constraints (e.g. account balance > 0) become part of
program code
• Hard to add new constraints or change existing ones
Purpose of Database Systems (Cont.)

• Drawbacks of using file systems (cont.)


• Atomicity of updates
• Failures may leave database in an inconsistent state with partial
updates carried out
• E.g. transfer of funds from one account to another should either
complete or not happen at all
• Concurrent access by multiple users ( RR, RW, WR, WW)
• Concurrent accessed needed for performance
• Uncontrolled concurrent accesses can lead to inconsistencies
• E.g. two people reading a balance and updating it at the same
time
• Security problems ( Role based access control)
• Database systems offer solutions to all the above problems
Simplified database system environment

Note: This diagram is from Nawathe


Typical DBMS Functionality

• Define a particular database in terms of its data types, structures, and


constraints
• Construct or Load the initial database contents on a secondary storage
medium
• Manipulating the database:
• Retrieval: Querying, generating reports
• Modification: Insertions, deletions and updates to its content
• Accessing the database through Web applications
• Processing and Sharing by a set of concurrent users and application
programs – yet, keeping all data valid and consistent
Additional DBMS Functionality

DBMS may additionally provide:


• Protection or Security measures to prevent unauthorized
access
• “Active” processing to take internal actions on data
• Presentation and Visualization of data
• Maintenance of the database
Database Model Requirements

PQRI:

Quantity
Persistency

Database Model

Integrity
Reactivity
Application Activities Against a Database

Applications interact with a database by generating


- Queries: that access different parts of data and formulate the result of
a request
- Transactions: that may read some data and “update” certain values or
generate new data and store that in the database
Applications must not allow unauthorized users to access data
Applications must keep up with changing user requirements against the
database
Three-Schema Architecture

Proposed to support DBMS characteristics of:

Program-data independence.
Support of multiple views of the data.
Not explicitly used in commercial DBMS products, but has been useful
in explaining database system organization
Three-Schema Architecture

Defines DBMS schemas at three levels:


Internal schema at the internal level to describe physical
storage structures and access paths (e.g indexes).
Typically uses a physical data model.
Conceptual schema at the conceptual level to describe the
structure and constraints for the whole database for a
community of users.
Uses a conceptual or an implementation data model.
External schemas at the external level to describe the
various user views.
Usually uses the same data model as the conceptual schema.
Three-Schema Architecture (cont.)
Levels of Abstraction

 Physical level describes how a record (e.g., customer) is stored.


 Logical level: describes data stored in database, and the
relationships among the data.
type customer = record
name : string;
street : string;
city : integer;
end;
 View level: application programs hide details of data types.
Views can also hide information (e.g., salary) for security
purposes.
View of Data

An architecture for a database system (Abstraction 3 Level)


Instances and Schemas

• Similar to types and variables in programming languages


• Schema – the logical structure of the database
• e.g., the database consists of information about a set of customers and
accounts and the relationship between them)
• Analogous to type information of a variable in a program
• Physical schema: database design at the physical level
• Logical schema: database design at the logical level
• Instance – the actual content of the database at a particular point in time
• Analogous to the value of a variable
• Physical Data Independence – the ability to modify the physical schema
without changing the logical schema
• Applications depend on the logical schema
• In general, the interfaces between the various levels and components
should be well defined so that changes in some parts do not seriously
influence others.
Data Independence
• Ability to modify a schema definition in one level
without affecting a schema definition in the other
levels.
• The interfaces between the various levels and
components should be well defined so that changes in
some parts do not seriously influence others.
• Two levels of data independence
• Physical data independence
• Logical data independence

CIS-552 Introduction 20
Data Models

• A collection of tools for describing


• data
• data relationships
• data semantics
• data constraints
• Entity-Relationship model
• Relational model (e.g., SQL/DS, DB2)
• Other models:
• object-oriented model
• semi-structured data models
• Older models: network model and hierarchical model
Relational Model
Attributes
 Example of tabular data in the relational model

customer- customer- customer- account-


Customer-id
name street city number

192-83-7465 Johnson
Alma Palo Alto A-101
tuples
019-28-3746 Smith
North Rye A-215 (or rows)

192-83-7465 Johnson
Alma Palo Alto A-201
321-12-3123 Jones
Main Harrison A-217
019-28-3746 Smith
North Rye A-201
A Sample Relational Database
Entity-Relationship Model

Example of schema in the entity-relationship model


Entity Relationship Model (Cont.)

• E-R model of real world


• Entities (objects)
• E.g. customers, accounts, bank branch
• Relationships between entities
• E.g. Account A-101 is held by customer Johnson
• Relationship set depositor associates customers with accounts
• Widely used for database design
• Database design in E-R model usually converted to design in the
relational model (coming up next) which is used for storage and
processing
Data Definition Language (DDL)
• Specification notation for defining the database schema
• Example:
• create table account ( account_number char(10), branch_name
char(10), balance integer)
• DDL compiler generates a set of tables stored in a data dictionary
• Data dictionary contains metadata (i.e., data about data)
• Database schema
• Data storage and definition language
• Specifies the storage structure and access methods used
• Integrity constraints
• Domain constraints
• Referential integrity (e.g. branch_name must correspond to a
valid branch in the branch table)
• Authorization
Data Manipulation Language (DML)

• Language for accessing and manipulating the data organized by


the appropriate data model
• DML also known as query language
• Two classes of languages
• Procedural – user specifies what data is required and how to get
those data
• Nonprocedural – user specifies what data is required without
specifying how to get those data
• SQL is the most widely used query language
SQL

• SQL: widely used non-procedural language


• E.g. find the name of the customer with customer-id 192-83-7465
select customer.customer-name
from customer
where customer.customer-id = ‘192-83-7465’
• E.g. find the balances of all accounts held by the customer with
customer-id 192-83-7465
select account.balance
from depositor, account
where depositor.customer-id = ‘192-83-7465’ and
depositor.account-number = account.account-number
• Application programs generally access databases through one of
• Language extensions to allow embedded SQL
• Application program interface (e.g. ODBC/JDBC) which allow SQL
queries to be sent to a database
Overall
DBMS /
System
Structure
Database Users

 Users are differentiated by the way they expect to interact with


the system
 Application programmers – interact with system through DML
calls
 Sophisticated users – form requests in a database query
language
 Specialized users – write specialized database applications that
do not fit into the traditional data processing framework
 Naïve users – invoke one of the permanent application
programs that have been written previously
 E.g. people accessing database over the web, bank tellers, clerical
staff
Database Administrator

• Coordinates all the activities of the database system; the


database administrator has a good understanding of the
enterprise’s information resources and needs.
• Database administrator's duties include:
• Schema definition
• Storage structure and access method definition
• Schema and physical organization modification
• Granting user authority to access the database
• Specifying integrity constraints
• Acting as liaison with users
• Monitoring performance and responding to changes in requirements
Database Management System Internals
• Storage management
• Query processing
• Transaction processing
Storage Management

• Storage manager is a program module that provides the


interface between the low-level data stored in the database
and the application programs and queries submitted to the
system.
• The storage manager is responsible to the following tasks:
• Interaction with the file manager
• Efficient storing, retrieving and updating of data
• Issues:
• Storage access
• File organization
• Indexing and hashing
Query Processing

1. Parsing and translation


2. Optimization
3. Evaluation
Query Processing (Cont.)

• Alternative ways of evaluating a given query


• Equivalent expressions
• Different algorithms for each operation
• Cost difference between a good and a bad way of evaluating
a query can be enormous
• Need to estimate the cost of operations
• Depends critically on statistical information about
relations which the database must maintain
• Need to estimate statistics for intermediate results to
compute cost of complex expressions
Transaction Management

 A transaction is a collection of operations that performs a single


logical function in a database application
 Transaction-management component ensures that the database
remains in a consistent (correct) state despite system failures
(e.g., power failures and operating system crashes) and
transaction failures.
 Concurrency-control manager controls the interaction among the
concurrent transactions, to ensure the consistency of the
database.
Application Architectures

Two-tier architecture: E.g. client programs using ODBC/JDBC to


communicate with a database
Three-tier architecture: E.g. web-based applications, and
applications built using “middleware”
History of Database Systems

• 1950s and early 1960s:


• Data processing using magnetic tapes for storage
• Tapes provide only sequential access
• Punched cards for input
• Late 1960s and 1970s:
• Hard disks allow direct access to data
• Network and hierarchical data models in widespread use
• Ted Codd defines the relational data model
• Would win the ACM Turing Award for this work
• IBM Research begins System R prototype
• UC Berkeley begins Ingres prototype
• High-performance (for the era) transaction processing
History (cont.)
• 1980s:
• Research relational prototypes evolve into commercial systems
• SQL becomes industry standard
• Parallel and distributed database systems
• Object-oriented database systems
• 1990s:
• Large decision support and data-mining applications
• Large multi-terabyte data warehouses
• Emergence of Web commerce
• 2000s:
• XML and XQuery standards
• Automated database administration
• Increasing use of highly parallel database systems
• Web-scale distributed data storage systems

You might also like