1.1 Introduction To DBMS-basics of DBMS
1.1 Introduction To DBMS-basics of DBMS
Basics of Database
Database System Concepts - 6th Edition 1.2 ©Silberschatz, Korth and Sudarshan
University Database Example
● Application program examples
● Add new students, instructors, and courses
● Register students for courses, and generate class rosters
● 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
Database System Concepts - 6th Edition 1.3 ©Silberschatz, Korth and Sudarshan
Drawbacks of using file systems to store data
Database System Concepts - 6th Edition 1.4 ©Silberschatz, Korth and Sudarshan
Drawbacks of using file systems to store data (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 access needed for performance
● Uncontrolled concurrent accesses can lead to inconsistencies
Example: Two people reading a balance (say 100) and updating it by
withdrawing money (say 50 each) at the same time
● Security problems
● Hard to provide user access to some, but not all, data
Database System Concepts - 6th Edition 1.5 ©Silberschatz, Korth and Sudarshan
Levels of Abstraction
● Physical level: describes how a record (e.g., instructor) is stored.
● Logical level: describes data stored in database, and the relationships among
the data.
type instructor = record
ID : string;
name : string;
dept_name : string;
salary : integer;
end;
● View level: application programs hide details of data types. Views can also
hide information (such as an employee’s salary) for security purposes.
Database System Concepts - 6th Edition 1.6 ©Silberschatz, Korth and Sudarshan
View of Data
Database System Concepts - 6th Edition 1.7 ©Silberschatz, Korth and Sudarshan
DBMS Environment
● Hardware
● Client-server architecture
● Software
● dbms, os, network, application
● Data
● Schema, subschema, table, attribute
● People
● Data administrator & database administrator
● Database designer: logical & physical
● Application programmer
● End-user: naive & sophisticated
● Procedure
● Start, stop, log on, log off, back up, recovery
Database System Concepts - 6th Edition 1.8 ©Silberschatz, Korth and Sudarshan
Instances and Schemas
● Similar to types and variables in programming languages
Logical Schema – the overall logical structure of the database
● Example: The database consists of information about a set of customers
and accounts in a bank and the relationship between them
Physical schema– the overall physical structure of the database
Instance – the actual content of the database at a particular point in time. E.g.
value of a variable
Database System Concepts - 6th Edition 1.9 ©Silberschatz, Korth and Sudarshan
Hierarchical Model
● Data is organized into a tree-like-structure
● a single root, to which all the other data is linked.
● adding child nodes to the parent nodes.
● a child node will only have a single parent node.
● data is organized into tree-like structure with one-to-many relationship
between two different types of data
E.g. one department can have many courses, many professors and of-course
many students.
Database System Concepts - 6th Edition 1.10 ©Silberschatz, Korth and Sudarshan
Network Model
● Extension of the Hierarchical model.
● Data is organized more like a graph, and are allowed to have more than one
parent node.
● Data is more related as more relationships are established
● Accessing the data is also easier and fast.
● Map many-to-many data relationships.
● Most widely used database model, before Relational Model was introduced.
Database System Concepts - 6th Edition 1.11 ©Silberschatz, Korth and Sudarshan
Relational Model
● set of relations (table of values).
● Each relation has columns (attributes) and rows(Tuples)
Database System Concepts - 6th Edition 1.12 ©Silberschatz, Korth and Sudarshan
Relational Model Example
Database System Concepts - 6th Edition 1.13 ©Silberschatz, Korth and Sudarshan
Object Oriented Model
● Real world situations are represented as objects, with different attributes.
● All these object have multiple relationships between them.
Database System Concepts - 6th Edition 1.14 ©Silberschatz, Korth and Sudarshan
Object Oriented Model
● Example
Database System Concepts - 6th Edition 1.15 ©Silberschatz, Korth and Sudarshan
Object-Relational Data Models
Database System Concepts - 6th Edition 1.16 ©Silberschatz, Korth and Sudarshan
Object Relational Model
● Combination of a Object oriented database model and a Relational database model.
● Supports objects, classes, inheritance etc. just like Object Oriented models and has
support for data types, tabular structures etc. like Relational data model.
● Advantages
● Inheritance : allows its users to inherit objects, tables etc. to extend their
functionality. Inherited objects contains new attributes as well as the attributes
that were inherited.
● Complex Data Types : Formed using existing data types. This is useful in Object
relational data model as complex data types allow better manipulation of the data.
● Extensibility : The functionality can be extended using complex data types as
well as advanced concepts of object oriented model such as inheritance.
● Disadvantages
● Complicated and difficult to handle
Database System Concepts - 6th Edition 1.17 ©Silberschatz, Korth and Sudarshan
Language: SQL
● SQL stands for Structured Query Language
● The most widely used commercial language
● To be able to compute complex functions
● SQL is usually embedded in some higher-level language
● 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 System Concepts - 6th Edition 1.18 ©Silberschatz, Korth and Sudarshan
Data Definition Language (DDL)
● Specification notation for defining the database schema
Example: create table instructor {
ID char(5),
name varchar(20),
dept_name varchar(20),
salary numeric(8,2) };
● DDL compiler generates a set of table templates stored in a data dictionary
● Data dictionary contains metadata (i.e., data about data)
● Database schema
● Integrity constraints
● Primary key (ID uniquely identifies instructors)
● Authorization (Who can access what)
Database System Concepts - 6th Edition 1.19 ©Silberschatz, Korth and Sudarshan
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
● Pure – used for proving properties about computational power
and for optimization
● Commercial – used in commercial systems
▪ SQL is the most widely used as commercial language
Database System Concepts - 6th Edition 1.20 ©Silberschatz, Korth and Sudarshan
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
Database System Concepts - 6th Edition 1.21 ©Silberschatz, Korth and Sudarshan
Database Users and Administrators
Database
Database System Concepts - 6th Edition 1.22 ©Silberschatz, Korth and Sudarshan
Database System Internals
Database System Concepts - 6th Edition 1.23 ©Silberschatz, Korth and Sudarshan
Database Administrator - Duties
● Schema Definition
● Creates the original database schema using DDL statements
● Storage structure and access method definition
● Schema and physical organization modification
● Granting of authorization for data access
● Which parts of the database various users can access
● This information is consulted for granting information whenever
someone attempts to access data in the system
● Routine maintenance
● Periodically backup of database onto tapes, remote servers
● To prevent data loss in case of disasters such as flooding
● Ensures 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 is not degraded by very expensive tasks submitted by some
users
Database System Concepts - 6th Edition 1.24 ©Silberschatz, Korth and Sudarshan
Database Architecture
The architecture of a database systems is greatly influenced by the underlying
computer system on which the database is running:
● Centralized
● All the DBMS functionality, application program execution and user
interface processing of dumb terminals were carried out on a single
centralized machine like mainframe machine
● Client-server
● A client is typically a user machine not dumb terminal that provides user
interface capabilities and local processing
● A server is a system containing both hardware and software that can
provide services to the client machines
● Parallel (multi-processor)
● Distributed
Database System Concepts - 6th Edition 1.25 ©Silberschatz, Korth and Sudarshan
Client Server Architecture
● Single tier or Multi tier
● n-tier architecture divides the whole system into related but independent n
modules, which can be independently modified, altered, changed or replaced
● 1-tier architecture
● DBMS is the only entity where user directly sits on DBMS and uses it
● Any changes done here will directly be done on DBMS itself
● Does not provide handy tools for end users and preferably database
designer and programmers use single tier architecture
Database System Concepts - 6th Edition 1.26 ©Silberschatz, Korth and Sudarshan
Client Server Architecture
● Two-tier architecture
● Must have some
application, which uses
the DBMS
● Programmers use 2-tier
architecture where they
access DBMS by means
of application
● Application tier is
entirely independent of
database in term of
operation, design and
programming
Database System Concepts - 6th Edition 1.27 ©Silberschatz, Korth and Sudarshan
DBMS Application Architecture
● Three-tier Architecture
● Most widely used architecture
● Separates it tier from each other on basis of users
Database System Concepts - 6th Edition 1.28 ©Silberschatz, Korth and Sudarshan
Advantages of DBMS
● Control redundancy
● Consistency
● Integrity
● Security
● Concurrency control
● Backup & recovery
● Data standard
● More information
● Data sharing & conflict control
● Productivity & accessibility
● Maintenance
Database System Concepts - 6th Edition 1.29 ©Silberschatz, Korth and Sudarshan
Limitations of DBMS
● Complexity
● Size
● Cost
● Software
● Hardware
● Conversion
● Performance
● Vulnerability
Database System Concepts - 6th Edition 1.30 ©Silberschatz, Korth and Sudarshan