DBMS FUNDAMENTAL
What Is a DBMS?
• A very large, integrated collection of data.
• Models real-world enterprise.
▫ Entities (e.g., students, courses)
▫ Relationships (e.g., Tarkan is taking CENG302)
• A Database Management System (DBMS) is a software package designed to store and
manage databases.
An Example Database
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 1
DBMS FUNDAMENTAL
The Product Table
Introduction to Database Systems
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 2
DBMS FUNDAMENTAL
Slide 1-
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
• 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
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 3
DBMS FUNDAMENTAL
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:
• 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
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 4
DBMS FUNDAMENTAL
Problems:
No standards
Data duplication
Data dependence
No way to generate complex queries
No provision for concurrency, security, recovery, etc.
Examples:
Oracle
DB2 (IBM)
MS SQL Server
MS Access
Ingres
PostgreSQL
File descriptions are stored within each application program that
MySQL a given file. Any change to a file structure requires changes
accesses
to the file descriptions for all programs that access the file.
File System vs. DBMS:
• A company has 500 GB of data on employees, departments, products, sales, & so on..
• Data is accessed concurrently by several employees
• Questions about the data must be answered quickly
• Changes made to the data by different users must be applied consistently
• Access to certain parts of the data be restricted
File System vs. DBMS:
• Data stored in operating system files
• Many drawbacks!!!
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 5
DBMS FUNDAMENTAL
▫ 500 GB of main memory not available to hold all data. Data must be stored on
secondary storage devices
▫ Even if 500GB of main memory is available, with 32-bit addressing, we cannot refer
directly to more than 4GB of data
▫ Data redundancy and inconsistency
Multiple file formats, duplication of information in different files
▫ Special program to answer each question a user may ask
File System vs. DBMS:
• Many drawbacks!!!
▫ 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
▫ We must protect the data from inconsistent changes made by different users. If
application programs need to address concurrency, their complexity increases
manifolds
▫ Consistent state of data must be restored if the system crashes while changes are
being made
▫ OS provide only a password mechanism for security. Not flexible enough if users
have permission to access subsets of data
File System vs. DBMS:
• These drawbacks have prompted the development of database systems
• Database systems offer solutions to all the above problems?
D) ???
Levels of Abstraction:
• Physical level: describes how a record (e.g., customer) is stored.
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 6
DBMS FUNDAMENTAL
• 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.
An architecture for a database system
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
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 7
DBMS FUNDAMENTAL
▫ 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)
• Other older models:
▫ Network model
▫ Hierarchical model
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 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
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 8
DBMS FUNDAMENTAL
▫ Integrity constraints
Domain constraints
Referential integrity (e.g. branch_name must correspond to a valid branch in
the branch table)
▫ Authorization
A Sample Relational
Database
SQL:
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 9
DBMS FUNDAMENTAL
• 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
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:
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 10
DBMS FUNDAMENTAL
Database Application Architectures:
Two-tier architecture: E.g. client programs using ODBC/JDBC to
communicate with a database.
Three-tier architecture: E.g. web-based applications.
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 to the following tasks:
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 11
DBMS FUNDAMENTAL
▫ Interaction with the file manager
▫ Efficient storing, retrieving and updating of data
• Issues:
▫ Storage access
▫ File organization
▫ Indexing and hashing
Query Processing:
1.Parsing and translation
2.Optimization
3.Evaluation
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.
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 12
DBMS FUNDAMENTAL
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
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 13
DBMS FUNDAMENTAL
▫ Ted Codd defines the relational data model
Would win the ACM Turing Award for this work
IBM Research begins System R prototype
UC Berkeley begins Ingres prototype
▫ High-performance (for the era) transaction processing
• 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
• 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
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 14
DBMS FUNDAMENTAL
▫ 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
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
Abdul Ghani Khan, M.Tech (ICT)
School of Information & Communication Technology, GBU Page 15