Databases: Instructor: Engr. Muhammad Umer Haroon
Databases: Instructor: Engr. Muhammad Umer Haroon
Databases: Instructor: Engr. Muhammad Umer Haroon
?
Database System Concepts Applications
• Data: Known facts
• Information: Processed data
• Database: Organised Collection of interrelated data
• DBMS contains information about a particular
enterprise
-Set of programs to access and manipulate 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
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
– Lengthy development time
• Need to write a new program to carry out each new task
– Data isolation — multiple files and formats
• Data stored in many files. Difficult to run queries
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
– Program-Data Dependence
– 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.
• Database systems offer solutions to all the above
problems
View of Data
• 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 : 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.
Level of Abstraction
An architecture for a database system
Schemas
• Similar to types and variables in programming languages
• Schema – the 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
Attributes
A Sample Relational Database
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’