0% found this document useful (0 votes)
26 views52 pages

Dbms Chap 01

Uploaded by

Krishaan Soni
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views52 pages

Dbms Chap 01

Uploaded by

Krishaan Soni
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 52

DBMS

Definition
• A database management system consists of a
collection of interrelated data and a set of
programs to access those data. The collection
of data, normally referred as the database,
contains information about one particular
organization.
• The primary goal of a DBMS is to provide an
environment that is both convenient and
efficient to use in retrieving and storing
database information.
FILE Processing SYSTEM AND DBMS

1. A file system is a software that manages and organizes the


files in a storage medium, whereas DBMS is a software
application that is used for accessing, creating, and managing
databases.
2. The file system doesn’t have a crash recovery mechanism on
the other hand, DBMS provides a crash recovery mechanism.
3. Data inconsistency is higher in the file system. On the
contrary Data inconsistency is low in a database
management system.
4. File system does not provide support for complicated
transactions, while in the DBMS system, it is easy to
implement complicated transactions using SQL.
5. File system does not offer concurrency, whereas DBMS
provides a concurrency facility.
What are the limitations of traditional File
Processing System?
1. Data Duplication and Inconsistency.
2. Data Access is very Difficult.
3. Data Isolation.
4. Integrity Problems.
5. Transaction Atomicity Problem.
6. Concurrency Problem.
7. Problem Of Security.
8. Data Dependence.
Difference between FILE SYSTEM AND DBMS

1. A file system is a software that manages and organizes the


files in a storage medium, whereas DBMS is a software
application that is used for accessing, creating, and managing
databases.
2. The file system doesn’t have a crash recovery mechanism on
the other hand, DBMS provides a crash recovery mechanism.
3. Data inconsistency is higher in the file system. On the
contrary Data inconsistency is low in a database
management system.
4. File system does not provide support for complicated
transactions, while in the DBMS system, it is easy to
implement complicated transactions using SQL.
5. File system does not offer concurrency, whereas DBMS
provides a concurrency facility.
Instances and Schema
Database Languages
• A database system provides a data-definition
language to specify the database schema and
a data-manipulation language to express
database queries and updates.
Data Definition Language (DDL)
• A database schema is specified by a set of
definitions expressed by a special language called
a data definition language. The result of
compilation of DDL statements is a set of tables
that is stored in a special file called data dictionary
or data directory.
• A data dictionary is a file that contains metadata-
that is data about data. This file is consulted
before actual data are read or modified in the
database system
• Metadata is “data that provides information about other
data". Three distinct types of metadata exist: descriptive
metadata, structural metadata, and administrative
metadata.
• Descriptive metadata describes a resource for purposes
such as discovery and identification. It can include elements
such as title, abstract, author, and keywords.
• Structural metadata is metadata about containers of
metadata and indicates how compound objects are put
together, for example, how pages are ordered to form
chapters.
• Administrative metadata provides information to help
manage a resource, such as when and how it was created,
file type and other technical information, and who can
Data Manipulation Language (DML)
• A data manipulation language DML is a language that
enables user to access or manipulate data as organized
by the appropriate data model. The types of access are:

 Retrieval of information stored in the database.


 Insertion of new information into the database.
 Deletion of information from the database.
 Modification of information stored in the database.
There are basically two types:
 Procedural DMLs require a user to specify what
data are needed and how to get those data.
 Non Procedural DMLs require a used to specify
what data are needed without specifying how to
get those data.
Non procedural DMLs are normally easier to learn and use
than are procedural DMLs. However, since a user does not
have to specify how to get the data, these languages may
generate code that is not as efficient as that produced by
procedural languages.
A query is a statement requesting the retrieval of information.
The portion of a DML that involves information retrieval is
called a query language.
View Of Data
• A DBMS is a collection of interrelated files and
a set of programs that allow users to access
and modify these files. A major purpose of a
database system is to provide users with an
abstract view of Data. That is, the system
hides certain details of how the data are
stored and maintained.
The Three Level Architecture of DBMS
( Data Abstraction)

• Physical Level
• Logical Level
• View Level
Physical Level

Physical Level (Internal Level)

 This is the lowest level of abstraction which describes how the


data is actually stored.
 This also describes data structures and access methods used by
database.
 At this level certain physical components like buffer and control
structures are adjusted to provide optimal performance.
 The internal view is expressed by an internal schema.
Logical Level

Conceptual Level (Global level or logical level)


 This level of abstraction describes what data is stored in the database and their
relationship.
 The conceptual view is described by the conceptual schema.
 One conceptual view represents the entire database, that is, there is one conceptual
schema per database.
 This level of abstraction is used by database administrations (DBA’s) who decide what
information should be kept in the database.
 This level also includes features that help to maintain database consistency and
integrity.
 Various objects like tables, views, procedure are described at this level.
 If the underlying hardware is changed then the effects are limited only between
physical and the conceptual level.
View Level

External Level (User Level or View Level)


 This is the highest level of abstraction in which user access is provided as per
the user requirements.
 There can be many external views for a given conceptual view.
 Each external view is represented by an external schema.
 The external schema contains the method of deriving objects to the external
view from the objects in the conceptual view.
 The external level is closest to the user.
 The external view is concerned with the way the data is viewed by the
individual users.
Mapping
• We know that three view-levels are described by means of
three schemas. These schemas are stored in the data
dictionary. In DBMS, each user refers only to its own external
schema. Hence, the DBMS must transform a request on. A
specified external schema into a request against conceptual
schema, and then into a request against internal schema to
store and retrieve data to and from the database. The process
to convert a request (from external level) and the result
between view levels is called mapping.
• The mapping defines the correspondence between three view
levels. The mapping description is also stored in data
dictionary. The DBMS is responsible for mapping between
these three types of schemas.
Mapping Between The Views
1. External&ConceptualMapping:- This mapping
exists between External view and the
conceptual view. This mapping provides
logical data Independence.
2. Conceptual&InternalMapping:- This Mapping
exists between the conceptual view and the
internal view. This mapping provides physical
data Independence.
Data Independence
• The very important advantage of DBMS is that it provides DATA
INDEPENDENCE, that is application programs are independent
from the change in the way the data is structured and stored.

Data Independence is the ability to modify a schema definition


in one level without affecting a schema definition in the next
higher level.

• Three levels of abstraction along with mapping from internal to


conceptual and from conceptual to external, provides two
levels of 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 addition or removal of new


entities, attributes, or relationships to
the conceptual schema should be
possible without having to change
existing external schemas or having to
rewrite existing application programs.
Examples
• For example: consider two users A &
B. Both are selecting the fields
"EmployeeNumber" and
"EmployeeName". If user B adds a
new column (e.g. salary) to his table,
it will not effect the external view for
user A, though the internal schema
of the database has been changed
for both users A & B.
Physical Data Independence
• The ability to change the physical schema
without changing the logical schema is called
as Physical Data Independence. 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.
Example

A change to the internal schema, such


as using different file organization or
storage structures, storage devices, or
indexing strategy, should be possible
without having to change the
conceptual or external schemas.
Data Models
• Underlying the structure of a database is the
Data Model:
A collection of conceptual tools for
describing data, data relationships and
consistency constraints.

• A data model provides a way to describe the


design of a database at the physical, logical and
view level.
The data models can be classified in 4
different categories:

1. Relational Model
2. The Entity-Relationship Model
3. Object-Based Data Model
4. Semi-structured Data Model
Relational Model
The Entity-Relationship Model
Object-Based Data Model

In object-oriented programming (OOP), objects are the things you think about first in
designing a program and they are also the units of code that are eventually derived from
the process. In between, each object is made into a generic class of object and even more
generic classes are defined so that objects can share models and reuse the class definitions
in their code. Each object is an instance of a particular class or subclass with the class's own
methods or procedures and data variables. An object is what actually runs in the computer.

Like the ER Model, the object-oriented model is based on a collection of Objects. An object
contains values stored in instance variables within the objects. An object also contains
bodies of code that operate on the object. These bodies of code are called methods.

Objects that contains the same types of values and the same methods are grouped
together into classes. A class may be viewed as a type definition for objects.
Semi-structured Data Model
Database Users
• There are four different types of database
system users:
 Naive Users.
 Application Programmers.
 Sophisticated Users.
 Specialized Users.
Naïve Users
Application Programmers
Sophisticated Users
Specialized Users
DBA
(DataBase Administrator)
• One of the main reasons for using DBMSs is to
have central control of both the data and the
programs that access those data.
• The person who has such central control over
the system is called the database
administrator (DBA).
• The functions of the DBA include the
following:
Functions Of DBA
Schema Definition.
Storage and Access-Methods definition.
Schema and Physical-organization
modification.
Granting of authorization for Data Access.
Integrity-Constraint Specification.
Routine Maintenance.
Schema Definition.

• The DBA creates the original database schema


by writing a set of definitions that is translated
by the DDL compiler to a set of tables that is
stored permanently in the data dictionary.
Storage and Access-Methods definition

• The DBA creates appropriate storage


structures and access methods by writing a set
of definitions, which is translated by the data-
storage and data-definition-language compiler.
Schema and Physical-organization
modification

• Programmers accomplish the relatively rare


modifications either to the database schema
or to the description of the physical storage
organization by writing a set of definitions that
is used by either the DDL compiler or the data-
storage and data-definition-language compiler
to generate modifications to the appropriate
internal system tables.
Granting of authorization for Data Access

• The granting of different types of


authorization allows the database
administrator to regulate which parts of the
database various users can access.
• The authorization information informed is
kept in a special system structure that is
consulted by the database system whenever
access to the data is attempted in the system.
Integrity-Constraint Specification
• The data value stored in the database must satisfy
certain consistency constraints.
• For e.g., the number of hours an employee may
work in a week may not exceed a specified limit
(say, 80 hours).
• Such a constraint must be specified by the database
administrator. The integrity constraints are kept in a
special system structure that is consulted by the
database system whenever an update takes place in
the system
Routine Maintenance
• Examples of the database administrator’s routine
maintenance activities are:
 Periodically backing up the database, either onto
discs/tapes or onto remote servers, to prevent loss of
data in case of disasters.
 Ensuring that enough free disk space is available for
normal operations, and upgrading disk space as
required.
 Monitoring jobs running on the database and ensuring
that performance in not degraded by very expensive
tasks submitted by some users.
DBMS Architecture
(DBMS System Structure)
• A database system is partitioned into modules
that deal with each of the responsibilities of
the overall system.
• The functional components of a database
system can be broadly divided into Query
Processor component and Storage Manager
component.
Query Processor Components Include
• DML Compiler: Which translates DML statements
in a query language into low-level instructions
that the query evaluation engine understands.
• DDL Interpreter: Which interprets DDL
statements and records them in a set of tables
containing metadata.
• Query Evaluation Engine: Which executes low-
level instructions generated by the DML compiler.
Storage manager components
• It provides interface between the low-level
data stored in the database and the
application programs and queries submitted
to the system. This Component includes:
1. Transaction Manager.
2. Buffer Manager.
3. File Manager.
The storage manager components include.
• Authorization and integrity manager: Which tests for the
satisfaction of integrity constraints and checks the authority of
users to access data.
• Transaction manager: Which ensures that the database remains
in a consistent (correct) state despite system failures and that
concurrent transaction executions proceed without conflicting.
• File manager: Which manages the allocation of space on disk
storage and the data structures used to represent information
stored on disk.
• Buffer manager: Which is responsible for fetching data from
disk storage into main memory, and deciding what data to cache
in memory.
In addition, several data structures are required
as part of the physical system implementation
• Data Files: Which store the database itself.
• Data Dictionary: Which stores metadata about
the structure of the database.
• Indices: Which provide fast access to data items
that hold particular values.
• Statistical Data: Which stores statistical
information about the data in the database. This
information is used by the query processor to
select efficient ways to execute a query.
Sartaj Singh

You might also like