You are on page 1of 52

UNIT I : INTRODUCTION

• File Processing System, Advantages of DBMS


over File Processing System
• Data, Database, DBMS,
• Data model, Data Independence, Data Catalog
• DBMS Architecture and Data Abstraction, DBMS
Languages
• DBMS System Structure
• ER Model: Objects, Attributes and its Type,
• Entity and Entity Set, Relationship & Relationship
Set
Data Processing and Data
Management Systems
• Both refer to functions that take raw data and
transform it into usable information, the
usage of the terms is very different.
Data Processing
• Data Processing used to describe what was
done by large mainframe computers from the
late 1940's until the early 1980's
• Large volumes of raw transaction data fed into
programs that update a master file, with fixed
format reports written to paper.
Data Management Systems
• Data Management Systems refers to an
expansion of this concept, where the raw
data, previously copied manually from paper
to punched cards, and later into data entry
terminals, is now fed into the system from a
variety of sources, including ATMs, EFT, and
direct customer entry through the Internet.
File processing systems
• The earliest business computer systems were used to process
business records and produce information.
• They were generally faster and more accurate than equivalent
manual systems.
• These systems stored groups of records in separate files, and so
they were called file processing systems.
• In a typical file processing systems, each department has its own
files, designed specifically for those applications. The department
itself working with the data processing staff, sets policies or
standards for the format and maintenance of its files.
• Programs are dependent on the files and vice-versa; that is, when
the physical format of the file is changed, the program has also to
be changed.
Characteristics of File Systems
• group of files for storing the data of an
organization
• Each file is independent from one another
• Each file is called a flat file
• Files are designed using the programming
language like C,C++ etc
Introduction
Data :
• Is the raw material that can be processed for any computing machine.
Eg: Employee Name,Product Name,Student Name,Number,Image

It is a collection of information.
The facts that can be recorded and which have implicit meaning known as
'data'.

Information :
• It is the data that has been converted into more useful or intelligible
form
Eg: Report Card sheet
Why we need information
1. To gain knowledge about the surroundings
2. To keep the system upto date
3. To know about the rules and regulation of the
society
Knowledge
• Human mind purposefully organize the information
and evaluate it to produce knowledge
• Ex: 238 - data
Mark of student – Information
Hard work – Knowledge
Types :
1) Fact Based : The knowledge gain from fundamentals
and through experiment
2) Heuristic Based Knowledge: It is the knowledge of
good practice and good judgment like hypothesis.
Data Vs Information
S.N Data Information
o
1 Data is the Raw Fact It is the processed Form of Data
2 It is not significant to It is Significant to Business
Business
3 Are Atomic level It is a collection of data
piece of information
4 Data doesnot help in It helps in decision making
decision making

Exp Product Exp: Report Card Sheet


name,Student Name
Database
• The related information when placed in
organized form is known as Database
• Exp : Dictionary,Mobile Card, Telephone
Directory
• Operations
– Insertion
– Deletion
– Search
– Modification
• It is a collection of interrelated data.
• These can be stored in the form of tables.
• A database can be of any size and varying
complexity.
• A database may be generated and
manipulated manually or it may be
computerized
Database Management System
(DBMS)
• DBMS contains information about a particular enterprise
– Collection of interrelated data
– Set of programs to access the data
– An environment that is both convenient and efficient to use
– Exp Library Management ,Banking System,ATM
– Software : MYSQL,Oracle,DB2,SQL Server etc
• 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
• Databases touch all aspects of our lives
ADVANTAGES OF DBMS
• It is computerized system, whose overall purpose is to
maintain the information and to make that the information
is available on demand.
Advantages:
1.Redundency can be reduced.
2.Inconsistency can be avoided.
3.Data can be shared.
4.Standards can be enforced.
5.Security restrictions can be applied.
6.Integrity can be maintained.
7.Data gathering can be possible.
8.Requirements can be balanced.
DISADVANTAGES OF FILE PROCESSING
SYSTEM
• Data redundancy and inconsistency.
• Difficult in accessing data.
• Data isolation.
• Data integrity.
• Concurrent access is not possible.
• Security Problems.
Purpose of Database Systems
• In the early days, database applications were built
directly 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
“buried” in program code rather than being stated explicitly
• 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
• Example: 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
– 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
Component of DBMS
• Hardware
– Actual computer system used for keeping and accessing
data base .Exp Harddisk
• Software
– Actual Database between DBMS and User.All the
request from the User are handled by the DBMS
• User – Person who can retrieve and access data on
demand using the application and interface
provided by DBMS
• Data – Raw facts
Types of User
• Naïve User
• Online User
• Sophisticated User
• Application Progrmmer
• DPA
View of Data
• A database system is a collection of interrelated
data and a set of programs that allow users to
access and modify these data.
• Purpose of a database system is to provide users
with an abstract view of the data.
• System hides certain details of how the data are
stored and maintained.
View of Data
An architecture for a database system
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
customer_id : string;
customer_name : string;
customer_street : string;
customer_city : string;
end;
• View level: application programs hide details of data types.
Views can also hide information (such as an employee’s
salary) for security purposes.
• The highest level of abstraction , to simplify their
interaction with the system
Data Base Terminology
• Instances : The data in the database at a
particular moment is called Instance
• Schema : The Overall design of the Database
is called Schema or description of the
database.
• SubSchema : Subset of Schema and inherit
the same property that the schema has.
Instances and Schemas
• Similar to types and variables in programming languages
• Schema – the logical structure of the database
– Example: 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 Models
• A collection of tools for describing
– Data
– Data relationships
– Data semantics
– Data constraints
• Relational model
• Entity-Relationship data model (mainly for database
design)
• Object-based data models (Object-oriented and
Object-relational)
• Semistructured data model (XML)
• Other older models:
– Network model
– Hierarchical model
Relational Model Attributes
• Example of tabular data in the relational model
A Sample Relational Database
The Entity-Relationship Model
• Models an enterprise as a collection of entities and
relationships
– Entity: a “thing” or “object” in the enterprise that is
distinguishable from other objects
• Described by a set of attributes
– Relationship: an association among several entities
• Represented diagrammatically by an entity-relationship
diagram:
Object-Relational Data Models
• Extend the relational data model by including
object orientation and constructs to deal with added
data types.
• Allow attributes of tuples to have complex types,
including non-atomic values such as nested
relations.
• Preserve relational foundations, in particular the
declarative access to data, while extending
modeling power.
• Provide upward compatibility with existing
relational languages.
XML: Extensible Markup Language
• Defined by the WWW Consortium (W3C)
• Originally intended as a document markup
language not a database language
• The ability to specify new tags, and to create
nested tag structures made XML a great way to
exchange data, not just documents
• XML has become the basis for all new generation
data interchange formats.
• A wide variety of tools is available for parsing,
browsing and querying XML documents/data
Figure 1.4
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
Types of DDL
• To create the database instance – CREATE
• To alter the structure of database – ALTER
• To drop database instances – DROP
• To delete tables in a database instance –
TRUNCATE
• To rename database instances – RENAME
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 (nonprocedural) – user specifies what data
is required without specifying how to get those data
• SQL is the most widely used query language
Data Manipulation Language
(DML)
• DML is used for accessing and manipulating
data in a database.
• To read records from table(s) – SELECT
• To insert record(s) into the table(s) – INSERT
• Update the data in table(s) – UPDATE
• Delete all the records from the table –
DELETE
Transaction Control language (TCL)
• TCL is used for granting and revoking user
access on a database –
• To grant access to user – GRANT
• To revoke access from user – REVOKE
SQL
• SQL: widely used non-procedural language
– Example: 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’
– Example: 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
Database Design
The process of designing the general structure of the database:

• Logical Design – Deciding on the database schema.


Database design requires that we find a “good” collection
of relation schemas.
– Business decision – What attributes should we record in the
database?
– Computer Science decision – What relation schemas should
we have and how should the attributes be distributed among the
various relation schemas?

• Physical Design – Deciding on the physical layout of the


database
Database Application Architectures

(web browser)

Old Modern
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 for the following
tasks:
– Interaction with the file manager
– Efficient storing, retrieving and updating of data
• Issues:
– Storage access
– File organization
– Indexing and hashing
Storage manager components
• Authorization and integrity manager- tests for the
satisfaction of integrity constraints and checks the
authority of users to access data.
• Transaction manager-ensures that the database
remains in a consistent (correct) state
• File manager- manages the allocation of space on
disk storage and the data structures used to represent
information stored on disk.
• Buffer manager-responsible for fetching data from
disk storage into main memory
– Deciding what data to cache in main memory.
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
Query Processor Components
• DDL interpreter- interprets DDL statements
and records the definitions in the data
dictionary.
• DML compiler- 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- executes low-level
instructions generated by the DML compiler
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.
• Transaction manager consists of the concurrency-
control manager and the recovery manager.
Database Architecture

The architecture of a database systems is greatly


influenced by the underlying computer system on
which the database is running:
• Centralized
• Client-server
• Parallel (multiple processors and disks)
• Distributed
Overall System Structure
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
– 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
Database Users
Users are differentiated by the way they expect to interact
with the system
• Application programmers – interact with system
through DML calls Rapid application development
(RAD)
• 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
– Examples, people accessing database over the web, bank
tellers, clerical staff
Database Administrator
• Coordinates all the activities of the database system
– has a good understanding of the enterprise’s information
resources and needs.
• Database administrator's duties include:
– Storage structure and access method definition
– Schema and physical organization modification
– Granting users authority to access the database
– Backing up data
– Monitoring performance and responding to changes
• Database tuning

You might also like