0% found this document useful (0 votes)
53 views47 pages

DBMS Unit 1

The document discusses the key concepts of a database management system (DBMS). It defines a DBMS as a collection of programs that manages data and provides interfaces for users. The main components of a DBMS are the query processor, data dictionary, runtime database manager, and data manager. A DBMS uses a three-level architecture with external, conceptual, and internal levels to provide different views of the database that are independent of the physical storage structure.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views47 pages

DBMS Unit 1

The document discusses the key concepts of a database management system (DBMS). It defines a DBMS as a collection of programs that manages data and provides interfaces for users. The main components of a DBMS are the query processor, data dictionary, runtime database manager, and data manager. A DBMS uses a three-level architecture with external, conceptual, and internal levels to provide different views of the database that are independent of the physical storage structure.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

DBMS

INTRODUCTION
Data
raw facts and figures

Data Processing
performing operations on the input data to generate output.
Data are logically organized into:

1. Bits (characters)
2. Fields
3. Records
4. Files
5. Databases
What is Database?

Database is a computer based record keeping system which is used to


record ,maintain and retrieve data. It is an organized collection of
interrelated (persistent) data.
What is Database Management System (DBMS)?
• Collection of interrelated data
• Set of programs to access the data
• It provides a convenient and efficient way to store, retrieve and
modify information.
• Application programs request DBMS to retrieve,
modify/insert/delete data for them and thus it acts as a layer of
abstraction between the application programs and the file
system.
DATABASE APPLICATIONS:
• Banking: all transactions
• Airlines: reservations, schedules
• Universities: registration, grades
• Sales: customers, products, purchases
• Online retailers: order tracking, customized recommendations
• Manufacturing: production, inventory, orders, supply chain
• Human resources: employee records, salaries, tax deductions
Purpose of Database Systems
• Need for Database systems arose in response to early methods of
computerized management of commercial data.
• One way to keep the information on a computer is to store it in operating
system files.
• To allow users to manipulate the information like
• Add new students, instructors and courses.
• Assign grades to students, compute grade point averages (GPA), and
generate transcripts

In the early days, database applications were built directly on top of file
systems
Purpose of Database Systems
• Drawbacks of using file systems to store data:
• Data redundancy (repetition of information)
• Data Inconsistency (Multiple copies of same data not updated)
• Difficulty in accessing data
• We should know the physical details of the file before accessing (like
Location, Name, Permissions, File Format, etc.)
• Data isolation — multiple files and schema
• Integrity problems are there in traditional file system.
• Searching is difficult – No Index to the records.
Purpose of Database Systems (Cont.)
• Drawbacks of using file systems (cont.)
• Concurrent access by multiple users
• Concurrent accessed needed for performance.
• Uncontrolled concurrent accesses can lead to inconsistencies
• Example: Two people reading a balance and updating it at the same time.
• Security problems
• Hard to provide user access to some, but not all, data.
• Database systems offer solutions to all the above problems
Components of DBMS
• The DBMS software is partitioned into several modules. Each module or
component is assigned a specific operation to perform.
• Some of the functions of the DBMS are supported by operating systems (OS) to
provide basic services.
• The physical data and system catalog are stored on a physical disk. Access to the
disk is controlled primarily by OS.
• The major software modules or components of DBMS are as follows:
• Query processor
• Run time database manager
• Data Manager
Query Processor
• It is used to interpret the online user query and converts into a form capable of
being send to the data manager for execution.
• The query processor use the data dictionary to find the structure of a database.
• It is a program module that provides the interface between the database and the
application programs/queries.
• The Query Processor Components include –
• Data Definition Language(DDL) Compiler(Create, Alter[Add, Drop, Modify], Drop, Describe)
• Data Manipulation Language (DML) compiler(Insert, Update, Select)
• Query evaluation engine
Data dictionary
• A data dictionary is a reserved space within a database which is used to store
information about the database itself.
• A data dictionary is a set of table and views which can only be read and never
altered.
• The data dictionary also defines how much space has been allocated for and / or
currently in used by all the schema objects.
• A data dictionary is used when finding information about users, objects, schema
and storage structures.
• Every time a data definition language (DDL) statement is issued, the data
dictionary becomes modified.
Data Dictionary
• A data dictionary may contain information such as:

• Database design information


• Stored SQL procedures
• User permissions
• User statistics
• Database process information
• Database growth statistics
• Database performance statistics
Runtime Database Manager
• Run time database manager is the central software component of the DBMS.
• It handles database access at run time.
• It accepts queries and examines the external and conceptual schemas to
determine what conceptual records are required to satisfy the user’s request.
• It enforces constraints to maintain the consistency and integrity of the data, as
well as its security.
• It also performs backing and recovery operations.
Runtime Database Manager
• It has following components:
• Authorization control
• Command processor
• Integrity checker
• Query optimizer
• Transaction manager
• Scheduler
Runtime Database Manager
• Authorization control: The authorization control module checks the authorization
of users in terms of various privileges to users.
• Command processor: The command processor processes the queries passed by
authorization control module.
• Integrity checker: It .checks the integrity constraints so that only valid data can be
entered into the database.
• Query optimizer: The query optimizers determine an optimal strategy for the
query execution.
• Transaction manager: The transaction manager ensures that the
transaction properties should be maintained by the system.
• Scheduler: It provides an environment in which multiple users can work on same
piece of data at the same time in other words it supports concurrency.
Data Manager
• The data manager is responsible for the actual handling of data in the database.

• It provides recovery to the system which that system should be able to recover
the data after some failure.

• It includes Recovery manager and Buffer manager.

• The buffer manager is responsible for the transfer of data between the
main memory and secondary storage (such as disk or tape). It is also referred as
the cache manger.
Different Types of Database Users in DBMS
• Application Programmers
Application programmers are the one who writes application programs that uses the database. These application programs
are written in programming languages like COBOL or PL (Programming Language 1), Java and fourth generation
language. These programs meet the user requirement and made according to user requirements. Retrieving information,
creating new information and changing existing information is done by these application programs.

They interact with DBMS through DML (Data manipulation language) calls. And all these functions are performed by
generating a request to the DBMS.
DBA (Database Administrator)

DBA can be a single person or it can be a group of person. Database Administrator is responsible for everything that is
related to database. He makes the policies, strategies and provides technical supports.

Database administrators (DBA) are responsible for:


– Authorizing access to the database

– Coordinating and monitoring its use

– Acquiring software and hardware resources

– Defining Conceptual schema

– Physical Database Design

– Security and integrity check(Authentication and authorization

– Backup and recovery strategy

– Granting user access

System Analyst

System analyst is responsible for the design, structure and properties of database. All the requirements of the end users are
handled
INSTANCE & SCHEMA
• Databases change over time as information is inserted and deleted.
• The collection of information stored in the database at a particular
moment is called an instance of the database.
• The overall design of the database is called the database schema.
• Database systems have several schemas, partitioned according to the
levels of abstraction.
• The physical schema describes the database design at the physical
level, while the logical schema describes the database design at the
logical level.
Architecture
of
Database Management System
• General architecture for database systems was produced in 1971 by the
DBTG (Data Base Task Group) appointed by the Conference on Data
Systems and Languages.
• The DBTG recognized the need for a two level approach with a system
view called the schema and user views called subschema.
• ANSI SPARC produced a similar terminology mid architecture in 1975 (3
level architecture)
There are following three levels or layers of DBMS architecture:
• External Level or view level
•Conceptual Level or logical level
• Internal Level
THREE LEVEL DATABASE ARCHITECTURE
• Data are actually stored as bits, or numbers and strings, but
it is difficult to work with data at this level.

• It is necessary to view data at different levels of abstraction.


• Physical Data Level
• Conceptual Data Level
• External Data Level/View Level.
Objective of the Three Level Architecture
The objective of the three level architecture is to separate each user's view
of the database from the Way the database is physically represented.
• Each user should be able to access the same data, but have a different
customized view of the data.
• User's interaction with the database should be independent of storage
considerations.
• The Database Administrator (DBA) should be able to change the database
storage structures without affecting the user's views.
• The DBA should be able to change the conceptual structure of the
database without affecting all users.
• EXTERNAL LEVEL
How data is viewed by an individual user
• CONCEPTUAL LEVEL
How data is viewed by a community of users
• INTERNAL LEVEL
How data is physically stored
Schemas
Description of data at some level. Schema includes the definition of the
database name , record type and the components that make up those
records
Each level has its own schema.
• Internal
• Logical
• External
Example
Data independence
The ability to modify the schema definition in one level
should not affect the schema definition in the next
higher level.
A major objective for three-level architecture is to
provide data independence, which means that upper
levels are unaffected by changes in lower levels.
• Two types of Data Independence:
• Physical Data Independence
• Logical Data Independence
THREE LEVEL DATABASE ARCHITECTURE
View Level
What data users and
application programs
see ?
View 1 View 2 … View n

What data is stored ? Logical / Conceptual


describe data properties such as Level
data semantics, data relationships

How data is actually stored ?


Physical
e.g. are we using disks ? Which
file system ? Level
Physical Level in Database Architecture
• Knows how data is physically stored into the database. It knows the File
Format, Record Format, Index of file, Location of file, etc.
• It also typically describes the record layout of files and type of files (hash,
b-tree, flat).
• Early applications worked at this level - explicitly dealt with details.
• Problems:
• Changes to data structures are difficult to make.
• Application code becomes complex since it must deal with details.
• Rapid implementation of new features very difficult.
• Routines are hardcoded to deal with physical representation.
Conceptual Level in Database Architecture
• The next-higher level of abstraction describes what data are
stored in the database, and what relationships exist among those data.
• Also referred to as the Logical level.
• Hides details of the physical level.
• The DBMS maps data access between the conceptual to physical schemas
automatically.
• Represents:
• entities, attributes, relations
• constraints on data
• semantic information on data
• security, integrity information
View Level in Database Architecture
• The highest level of abstraction describes only part of the entire database.
• The user’s view of the database.
• Consists of a number of different external views of the DB.
• Provides a powerful and flexible security mechanism by hiding parts of the DB
from certain users. The user is not aware of the existence of any attributes
that are missing from the view.
• Examples:
• Students should not see faculty salaries.
• Faculty should not see billing or payment data.
Data Independence
Data Independence
• The ability to modify the
schema definition in one level
should not affect the schema
definition in the next higher
level.
• Two types of Data
Independence:
• Physical
• Logical
Logical Data Independence
What do you mean by logical data
independence?

The ability to change the logical schema without changing the


external schema or application programs is called as Logical Data
Independence.
OR
The ability to change the logical schema without having to change
the external schema.
Examples

The name field in conceptual view is stored as first name,


middle name and last name whereas in external view, it
remains to be as a single name field.
Physical Data Independence
What do you mean by Physical Data
Independence?
• The ability to change the physical schema without changing the logical
schema is called as Physical Data Independence.
• Modifications at this level are usually to improve performance
• Changes in the physical schema may include.
• Using new storage devices.
• Using different data structures.
• Switching from one access method to another.
• Using different file organizations or storage structures.
• Modifying indexes.

You might also like