Introduction
Introduction
Outline
• The Need for Databases
• Data Models
• Relational Databases
• Database Design
• Storage Manager
• Query Processing
• Transaction Manager
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: 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 can be very large.
• Databases touch all aspects of our lives
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
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
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 systems offer solutions to all the above problems
Levels of Abstraction
• Physical level: describes how a record is stored.
• Logical level: describes data stored in database, and the
relationships among the data.
• View level: application programs hide details of data types. Views
can also hide information (such as an employee’s salary) for security
purposes.
View of Data
An architecture for a database system
Instances and Schemas
• Similar to types and variables in programming languages
• Logical Schema
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
Analogous to type information of a variable in a program
• Physical schema
Physical schema– the overall physical structure of the database
• 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
Source: Database Systems Concepts by Korth,
Silberschatz and Sudarshan

Introduction to DBMS having data recovery

  • 1.
  • 2.
    Outline • The Needfor Databases • Data Models • Relational Databases • Database Design • Storage Manager • Query Processing • Transaction Manager
  • 3.
    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: 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 can be very large. • Databases touch all aspects of our lives
  • 4.
    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
  • 5.
    Drawbacks of usingfile 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
  • 6.
    Drawbacks of usingfile 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 systems offer solutions to all the above problems
  • 7.
    Levels of Abstraction •Physical level: describes how a record is stored. • Logical level: describes data stored in database, and the relationships among the data. • View level: application programs hide details of data types. Views can also hide information (such as an employee’s salary) for security purposes.
  • 8.
    View of Data Anarchitecture for a database system
  • 9.
    Instances and Schemas •Similar to types and variables in programming languages • Logical Schema 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 Analogous to type information of a variable in a program • Physical schema Physical schema– the overall physical structure of the database • 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.
  • 10.
    Data Models • Acollection 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
  • 11.
    Source: Database SystemsConcepts by Korth, Silberschatz and Sudarshan