Week 1
Week 1
Outline
• Definition of DBMS
• Goals of DBMS
• The Need for Databases
• Data Models
• Relational Databases
• Database Design
• Storage Manager
• Query Processing
• Transaction Manager
• Data
• Data can be facts related to any object
inconsideration. For example your name, age,
height, weight, etc are related to you. A picture,
image, file, PDF etc can also be considered data.
• Database
• A database is a systematic collection of data
that is organized so that it can easily be
accessed, managed, and updated.
• DBMS
• A database-management system (DBMS) is a
collection of interrelated data and a set of
programs to access those data.
Goals of a database
• The primary goal of a DBMS is to provide a way
to store and retrieve database information that is
both convenient and efficient.
• 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
• Durability
• In database systems, durability is the ACID
property which guarantees that transactions
that have committed will survive permanently.
For example, if a flight booking reports that a
seat has successfully been booked, then the
seat will remain booked even if the system
crashes. Durability can be achieved by flushing
the transaction's log records to non-volatile
storage before acknowledging commitment.
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.
View of Data
An architecture for a database system
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
Analogous to type information of a variable in a program
• Physical schema–
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
Relational Model
• All the data is stored in various tables.
• Example of tabular data in the relational model
Columns
Rows
A Sample Relational Database
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))