Class 6
Class 6
Class 6
Today’s Class
Introduction
DB System Architecture
Data Models
Relational Model
Transaction 1
Transaction 2
Conflicting read/write
Transaction Management (cont.)
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.
Database Administrator (DBA)
• Coordinates all the activities of the database system; the database
administrator has good understanding of the enterprise’s information
resources and needs.
• Database administrator’s duties include:
• Schema definition Primary job of a database
designer
• Specifying integrity constraints
DB
Overall System Architecture
User / DB Administrator
Transaction
Application
Commands
DDL Commands
Query plan
Buffer
BUFFERS
Manager
Read/write pages
Storage
Manager
Architecture of
Modern DBMS
Application Architectures
• High level/conceptual:
• Very close to user
• Entity
• Attribute
• Relationship
e.g. Entity Relationship model
• Representational/ Implementation
• Easily understood by end user
• Not far from data organization and storage
• Relational data model (network, hierarchical data models)
• Company managers
• Policy makers
• Department managers
• Written documentation
• Procedures
• Standards
• Operations manuals
• Direct interviews with end users
History of Data Models
• Relational Model: proposed in 1970 by E.F. Codd (IBM), first
commercial system in 1981-82. Now in several commercial products
(DB2, ORACLE, SQL Server, SYBASE, INFORMIX).
• Network Model: the first one to be implemented by Honeywell in 1964-
65 (IDS System). Adopted heavily due to the support by CODASYL
(CODASYL - DBTG report of 1971). Later implemented in a large variety
of systems - IDMS (Cullinet - now CA), DMS 1100 (Unisys), IMAGE (H.P.),
VAX -DBMS (Digital Equipment Corp.).
• Hierarchical Data Model: implemented in a joint effort by IBM and
North American Rockwell around 1965. Resulted in the IMS family of
systems. The most popular model of its time. Other system based on
this model: System 2k (SAS inc.)
History of Data Models
• Object-oriented Data Model(s): several models have been proposed
for implementing in a database system. One set comprises models
of persistent O-O Programming Languages such as C++ (e.g., in
OBJECTSTORE or VERSANT), and Smalltalk (e.g., in GEMSTONE).
Additionally, systems like O2, ORION (at MCC - then ITASCA), IRIS (at
H.P.- used in Open OODB).
• Object-Relational Models: Combines the features of OO data model
and relational data model. Started with Informix Universal Server.
Exemplified in the latest versions of Oracle-11g, DB2, and SQL Server
etc. systems.
• Semi - structured Data Models : Data items of same type may have
different set of attributes. XML data model, JSON data objects.
Hierarchical Database Model
• Logically represented by an upside down tree
• Each parent can have many children
• Each child has only one parent
Network Database Model
• Each record can have multiple parents
• Composed of sets
• Each set has owner record and member record
• Member may have several owners
The Relational Model
Introduction
• Proposed by Edgar. F. Codd(1923-2003) in the early seventies. [ Turing
Award –1981 ]
• Most of the modern DBMS are relational.
• Simple and elegant model with a mathematical basis.
• Led to the development of a theory of data dependencies and
database design.
• Relational algebra operations
• crucial role in query optimization and execution.
• Laid the foundation for the development of
• Tuple relational calculus and then
• Database standard SQL
Basic Concepts