INTRODUCTION
Chapter - 1
Book Referred : Database System Concepts by Korth, 6 th Edition, Chapter 1
Outline
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
Database Management System
(DBMS) Collection of
meaningful
Collection of interrelated data information
Set of programs to access the data and process them.
DBMS contains information about a particular enterprise
DBMS provides an environment that is both convenient and
efficient to use.
Designed to manage large bodies of information.
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
Traditional approach to data
storage
Purpose of Database Systems
In the early days, database applications were built on
top of file systems
Drawbacks of using file systems to store data:
◦ 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
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
Not every user of the database system should be able to access all
the data.
Database systems offer solutions to all the above
problems
Where does DBMS fit in?
Difference between file and
DBMS operations
View of Data
◦A major purpose of database system is to
provide users with an abstract view of the data.
That is, the system hides certain details of how
the data are stored and maintained.
Levels of Abstraction
Physical level: describes how the data or record (e.g.,
customer) are actually stored (in terms of bits and
bytes).
Logical level: describes what are the data stored in
database, and the relationships among the data (in
terms of records and fields).
View level: displays only part of the database,
application programs hide details of data types. Views
can also hide information (e.g., salary) for security
purposes. (in terms of records and fields).
Instances and Schemas
◦ Similar to types and variables in programming languages
◦ Schema – the overall design/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
◦ Subschema: several schemas at view level, that describe different
view of database.
◦ Instance – the actual content of the database at a
particular point in time
◦ Analogous to the value of a variable
The Three-Schema
Architecture
◦ The internal or physical level has an internal
schema, which describes the physical storage structure
of the database.
◦ The logical or conceptual level has a conceptual
schema, which describes the structure of the whole
database for a community of users.
◦ The conceptual schema hides the details of physical storage
structures and concentrates on describing entities, data
types, relationships, user operations, and constraints.
◦ The external or view level includes a number of
external schemas or user views. Each external
schema describes the part of the database that a
particular user group is interested in and hides the rest of
the database from that user group.
Levels of Abstraction
Detailed Representation
Example
Data Independence
Capacity to change the schema at one level of a
database system without having to change the schema
at the next higher level.
Two types of data independence:
◦ Logical Data Independence: It is the capacity to
change the conceptual schema without having to change
external schemas or application programs.
◦ Physical Data Independence: It is the capacity to
change the internal schema without having to change the
conceptual (or external) schemas.
Data Models
◦ A collection of conceptual tools for describing
◦ data
◦ data relationships
◦ data semantics
◦ data consistency constraints
◦ Types of data models:
◦ Entity-Relationship model
◦ Relational model
◦ Other models:
◦ object-oriented model
◦ semi-structured data models
◦ Older models: network model and hierarchical
model
Entity Relationship Model
E-R model of real world is a collection of
◦ Entities (objects)
It is a thing or object that is distinguishable from other objects.
Is described by a set of attributes – that mention the characteristics of the
entity.
E.g. customers, accounts, bank branch
◦ Relationships between entities
It is the association among several entities.
E.g. Account A-101 is held by customer Johnson
Relationship set depositor associates customers with accounts
◦ Mapping Cardinalities
expresses the number of entities to which another entity can be associated
via a relationship set.
For example, each account much belong to only one customer constraint
Entity-Relationship Model
(Cont.)
Example of schema in the entity-relationship model
Relational Model
Attributes
Collection of tables to represent both data and the
relationships among the data.
customer- customer- customer- account-
Customer-id
name street city number
192-83-7465 Johnson
Alma Palo Alto A-101
019-28-3746 Smith
North Rye A-215
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
Record based data model –
relational model
A Sample Relational Database
Data Definition Language (DDL)
Specification notation for defining the database schema
◦ E.g.
create table account
(account-number 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)
◦ Data storage and definition language
Language in which the storage structure and access methods
used by the database system are specified
Specifies the implementation details that are usually hidden by
the uses.
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
◦ Declarative(Non Procedural) – 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
◦ Application program interface (e.g. ODBC/JDBC) which allow SQL
queries to be sent to a database
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
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.
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
Query processor
◦ DDL interpreter, which interprets DDL statements and
records the definitions in the data dictionary.
◦ DML compiler, which translates DML statements in a
query language into an evaluation plan consisting of low-
level instructions that the query evaluation engine
understands.
◦ Query evaluation engine, which executes low-level
instructions generated by the DML compiler.
◦ Alternative ways of evaluating a given query
◦ Cost difference between a good and a bad way of
evaluating a query can be enormous
Two – tier vs. three – tier
architecture
Overall System Structure
THANK YOU!!!
ANY QUESTIONS??