SlideShare a Scribd company logo
1 of 38
Functions of a Database
 Management System
Functions of a DBMS
                         C.J. Date


Indexing        Backup/Recovery
Views           Design
Security        Documentation
Integrity       Update/Query
Concurrency
Views

 Custom representations of a
database that correspond to the
   needs of a class of users.
  Stored SELECT statements.
Views

Views Provide: representations of
data for different users to
• protect data quality
• insulate users from changes in
  structure
CREATE VIEW
  VIEWNAME {VIEW ATTRIBUTES}
  AS (SELECT ..WHERE ..)
Views

Views Permit
  Maintaining a constant user interface
  Restricting access to specified
  attributes
  Specifying user rights
Views
             3 Schema Architecture


                User Views (Views or
 LOGICAL
                Queries)

                Database administrators
CONCEPTUAL      model for the data (E-R
                diagrams)

                Actual data placement and
 PHYSICAL
                structure (SQL statements)
Security

Components that limit access or
 actions to limit potential damage
               to data.
Security

Limit data access to properly authorized
users or programs. Protect data
against accidental or intentional
damage.
     • Deter
     • Detect
     • Minimize
     • Recover
     • Investigate
Security Approaches

Views limit access and actions
Authorization Rules identify users and
restrict actions
User Defined Procedures in addition
to database security functions
Encryption encode stored data
Authentication positively identify users
Authorization Rules

Subject       Object   Action   Constraint
Sales Dept    Cust     Insert   Credit < $5000
Program Ar4   Order    Modify   None
Terminal 12   Cust     Modify   Balance Due
Order Trans   Cust     Read     None
Authorization Rules

Some DBMS products authorize actions
based on specific records and functional
descriptions. However, most DBMS’s limit
actions on tables to one of:
 • Read: view but not change
 • Insert: read and add records
 • Update: read, insert and change records
 • Alter/Delete: read, insert, update and
   delete records, change table structure
User Defined Procedures

 Code modules that enforce security
 procedures are run during
 processing

User         DBMS
Procedures   Constraints     DBMS
Integrity

Components that preserve the
  relationship among different
related records in the database
Integrity

The relationship among records in the
 database
 Referential Integrity
 Non Key Integrity
 Derived Conditions
Constraints in SQL

CREATE TABLE … or
   ALTER TABLE … ADD
 CHECK(condition)
 PRIMARY KEY attribute-name
 FOREIGN KEY attribute-name
 REFERENCES parent-table
The parent table must already have a primary key defined
Concurrency

  Preventing two users from
interfering with each other when
 they use the same information
Concurrency

Lockout
Restricting access to users who could be
 misled by partial transactions
Versioning
Making trial updates on versions of the
 database and denying one if there is a data
 conflict.
Locks
     Master
                       Program 1 locks record
     Student   Grade
                       <exclusive>.
00   Fred                No other program can
01   Anthony             read the record.
                         No program can have
02   Steve               an active lock.
03   Ivan              Program 2 locks record
                       <shared>
                         Other programs can
                         read, but not change
                         record.
                         No program can have
                         an exclusive lock.
Locks

On INSERT or UPDATE statements
SELECT column-names
FROM table-names
WHERE …
FOR UPDATE OF column-names
NOWAIT;
Concurrency
                            Locks

Granularity   Exclusivity
• Field       • Exclusive
• Record      • Shared
• Table
• Database
Concurrency
                                     Deadlock

Two programs request conflicting sets of data
  lock up the database while awaiting access.
   • Program 1 locks record A
   • Program 2 locks record B
   • Program 1 requests lock on record B; waits
   • Program 2 requests lock on record A; waits
System either times out and restarts each
  transaction after a random wait or recognizes
  the deadlock to abort one program.
Versioning

     Version 1

     Time 1 Version 2
                    Version 3
            Time 2
                    Time 3


Commits version 3 only after changes to versions 1
and 2 have been rolled back.
Backup and Recovery

Processes to confirm and repeat
  transactions so that database
 can be restored to a valid state
         after a problem.
Backup and Recovery

Backup Copies
• Master
• Transaction Log
Journalization
• Forward Log
• Backward Log
Checkpoints
DBMS Logs
     Master            Transaction
     Student   Grade   Insert Li with grade A
00   Fred              Change Fred’s grade to A
01   Anthony
02   Steve
03   Ivan
Recover from Backup

                  Transac-
 Backup       +     tion     =   Recovered
                                 Database


Slow
May give different answers from original
DBMS Logs
Transaction                Forward Log
Ins Li with grade A        Student Grade
Chg Fred’s grade to A   03 Li       A
                        00 Fred     A


     Master               Backward Log
     Student   Grade       Student Grade
00   Fred      A        03 n/p
01   Anthony            00 Fred
02   Steve
03   Li        A
DBMS Logs
Transaction                Forward Log
Ins Li with grade A        Student Grade
Chg Fred’s grade to A   03 Li       A
10:00 Checkpoint        00 Fred     A
                           Chkpt
     Master               Backward Log
     Student   Grade       Student Grade
00   Fred      A        03 n/p
01   Anthony            00 Fred
02   Steve
                           Chkpt
03   Li        A
DBMS Logs
Transaction                  Forward Log
Ins Li with grade A          Student Grade
Chg Fred’s grade to A   03   Li       A
10:00 Checkpoint        00   Fred     A
                             Chkpt
Chg Steve grade to B
                        02   Steve    B
     Master                  Backward Log
     Student   Grade          Student  Grade
00   Fred      A        03    n/p
01   Anthony            00    Fred
02   Steve     B              Chkpt
03   Li        A        02    Steve
Recover to Checkpoint
                     Using Logs


                   Backward
Contaminated
  Database
               -     Log       =   Correct at
                                   Checkpoint



             Recent
      +   Transactions   =    Recovered
                              Database
Transaction Processing

 A set of computer operations required
 to process a single unit of work.

A transaction must conclude with the
  database in a valid state whether the
  transaction terminates correctly or
  abnormally
Transaction Processing

Transaction Boundary
• Locking
   Exclusive          Shared
• Logging
   Forward     Backward Transaction
• Modification
   Delete      Insert      Update
• Commitment
  Commit           Rollback
Transaction Boundaries

Set Boundary
• Obtain Locks
• Execute Code Modules
• Evaluate Correctness
Commit or Rollback
• Release Locks
Transaction Boundaries

Set savepoint:
SAVEPOINT order_save;
Commit or rollback:
ROLLBACK TO order_save;
Transaction Boundaries
          Premiere Products Example


SALESREP              CUSTOMER


                        ORDER


PRODUCT           ORDER-PRODUCT


 Place an order for a new customer
       with a 1500 credit limit
Transaction Boundaries
               Premiere Products Example

    SALESREP             CUSTOMER


                           ORDER


    PRODUCT          ORDER-PRODUCT


•Insert CUSTOMER Record
•Update CUSTOMER with SALESREP Foreign Key
•Insert ORDER Record
•Insert ORDER-PRODUCT with Foreign Keys
•Update ProductOnHand in PRODUCT
•Check Credit Limit
Transaction Processing
                     Programming Logic

Two phased locking requires obtaining
 locks on all necessary records before
 releasing locks on any records.
 Obtain locks on all records needed
 Perform calculations
 Release locks
Functions of a DBMS
                         C.J. Date


Indexing        Backup/Recovery
Views           Design
Security        Documentation
Integrity       Update/Query
Concurrency

More Related Content

What's hot

The advantages of a dbms
The advantages of a dbmsThe advantages of a dbms
The advantages of a dbms
adnan_bappy
 
Database Design Slide 1
Database Design Slide 1Database Design Slide 1
Database Design Slide 1
ahfiki
 
2 database system concepts and architecture
2 database system concepts and architecture2 database system concepts and architecture
2 database system concepts and architecture
Kumar
 
Single User v/s Multi User Databases
Single User v/s Multi User DatabasesSingle User v/s Multi User Databases
Single User v/s Multi User Databases
Raminder Pal Singh
 
Databaseconcepts
DatabaseconceptsDatabaseconcepts
Databaseconcepts
kissumadanu
 
Database Management System And Design Questions
Database Management System And Design QuestionsDatabase Management System And Design Questions
Database Management System And Design Questions
Samir Sabry
 
Lect 21 components_of_database_management_system
Lect 21 components_of_database_management_systemLect 21 components_of_database_management_system
Lect 21 components_of_database_management_system
nadine016
 

What's hot (20)

The advantages of a dbms
The advantages of a dbmsThe advantages of a dbms
The advantages of a dbms
 
Database Management System ppt
Database Management System pptDatabase Management System ppt
Database Management System ppt
 
Chapter1
Chapter1Chapter1
Chapter1
 
Dbms
DbmsDbms
Dbms
 
Database management system
Database management systemDatabase management system
Database management system
 
ch1
ch1ch1
ch1
 
Database Design Slide 1
Database Design Slide 1Database Design Slide 1
Database Design Slide 1
 
Database management system
Database management systemDatabase management system
Database management system
 
Mba it unit 3 ppt
Mba it unit 3 pptMba it unit 3 ppt
Mba it unit 3 ppt
 
2 database system concepts and architecture
2 database system concepts and architecture2 database system concepts and architecture
2 database system concepts and architecture
 
File systems versus a dbms
File systems versus a dbmsFile systems versus a dbms
File systems versus a dbms
 
Bab9
Bab9Bab9
Bab9
 
Single User v/s Multi User Databases
Single User v/s Multi User DatabasesSingle User v/s Multi User Databases
Single User v/s Multi User Databases
 
Fundamentals of database system - Database System Concepts and Architecture
Fundamentals of database system - Database System Concepts and ArchitectureFundamentals of database system - Database System Concepts and Architecture
Fundamentals of database system - Database System Concepts and Architecture
 
Databaseconcepts
DatabaseconceptsDatabaseconcepts
Databaseconcepts
 
Database Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance AnalysisDatabase Fundamental Concepts- Series 1 - Performance Analysis
Database Fundamental Concepts- Series 1 - Performance Analysis
 
Slide 4 dbms users
Slide 4 dbms usersSlide 4 dbms users
Slide 4 dbms users
 
Unit 1 basic concepts of DBMS
Unit 1 basic concepts of DBMSUnit 1 basic concepts of DBMS
Unit 1 basic concepts of DBMS
 
Database Management System And Design Questions
Database Management System And Design QuestionsDatabase Management System And Design Questions
Database Management System And Design Questions
 
Lect 21 components_of_database_management_system
Lect 21 components_of_database_management_systemLect 21 components_of_database_management_system
Lect 21 components_of_database_management_system
 

Viewers also liked (10)

Database Management System
Database Management SystemDatabase Management System
Database Management System
 
Database management functions
Database management functionsDatabase management functions
Database management functions
 
DbMs
DbMsDbMs
DbMs
 
Presentation on Database management system
Presentation on Database management systemPresentation on Database management system
Presentation on Database management system
 
Data base management system
Data base management systemData base management system
Data base management system
 
Types of databases
Types of databasesTypes of databases
Types of databases
 
Basic DBMS ppt
Basic DBMS pptBasic DBMS ppt
Basic DBMS ppt
 
Dbms slides
Dbms slidesDbms slides
Dbms slides
 
Database Management Systems (DBMS)
Database Management Systems (DBMS)Database Management Systems (DBMS)
Database Management Systems (DBMS)
 
Microsoft word presentation
Microsoft word presentationMicrosoft word presentation
Microsoft word presentation
 

Similar to Function

SPS Belgium 2012 - End to End Security for SharePoint Farms - Michael Noel
SPS Belgium 2012 - End to End Security for SharePoint Farms - Michael NoelSPS Belgium 2012 - End to End Security for SharePoint Farms - Michael Noel
SPS Belgium 2012 - End to End Security for SharePoint Farms - Michael Noel
Michael Noel
 
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Michael Noel
 
[db tech showcase Tokyo 2015] D25:The difference between logical and physical...
[db tech showcase Tokyo 2015] D25:The difference between logical and physical...[db tech showcase Tokyo 2015] D25:The difference between logical and physical...
[db tech showcase Tokyo 2015] D25:The difference between logical and physical...
Insight Technology, Inc.
 
Admin Tech Ed Presentation Hardening Sql Server
Admin Tech Ed Presentation   Hardening Sql ServerAdmin Tech Ed Presentation   Hardening Sql Server
Admin Tech Ed Presentation Hardening Sql Server
rsnarayanan
 
SPTechCon SFO 2012 - Understanding the Five Layers of SharePoint Security
SPTechCon SFO 2012 - Understanding the Five Layers of SharePoint SecuritySPTechCon SFO 2012 - Understanding the Five Layers of SharePoint Security
SPTechCon SFO 2012 - Understanding the Five Layers of SharePoint Security
Michael Noel
 

Similar to Function (20)

Relational database management system (rdbms) i
Relational database management system (rdbms) iRelational database management system (rdbms) i
Relational database management system (rdbms) i
 
SQL Server Blocking Analysis
SQL Server Blocking AnalysisSQL Server Blocking Analysis
SQL Server Blocking Analysis
 
Sql server 2012 - always on deep dive - bob duffy
Sql server 2012 - always on deep dive - bob duffySql server 2012 - always on deep dive - bob duffy
Sql server 2012 - always on deep dive - bob duffy
 
Sql Health in a SharePoint environment
Sql Health in a SharePoint environmentSql Health in a SharePoint environment
Sql Health in a SharePoint environment
 
Partially Contained Databases
Partially Contained DatabasesPartially Contained Databases
Partially Contained Databases
 
SPS Belgium 2012 - End to End Security for SharePoint Farms - Michael Noel
SPS Belgium 2012 - End to End Security for SharePoint Farms - Michael NoelSPS Belgium 2012 - End to End Security for SharePoint Farms - Michael Noel
SPS Belgium 2012 - End to End Security for SharePoint Farms - Michael Noel
 
SQL Server - High availability
SQL Server - High availabilitySQL Server - High availability
SQL Server - High availability
 
Liquibase få kontroll på dina databasförändringar
Liquibase   få kontroll på dina databasförändringarLiquibase   få kontroll på dina databasförändringar
Liquibase få kontroll på dina databasförändringar
 
SharePoint Security in an Insecure World - AUSPC 2012
SharePoint Security in an Insecure World - AUSPC 2012SharePoint Security in an Insecure World - AUSPC 2012
SharePoint Security in an Insecure World - AUSPC 2012
 
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
Security for SharePoint in an Insecure World - SharePoint Connections Amsterd...
 
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
Always On - Wydajność i bezpieczeństwo naszych danych - High Availability SQL...
 
SEASPC 2011 - SharePoint Security in an Insecure World: Understanding the Fiv...
SEASPC 2011 - SharePoint Security in an Insecure World: Understanding the Fiv...SEASPC 2011 - SharePoint Security in an Insecure World: Understanding the Fiv...
SEASPC 2011 - SharePoint Security in an Insecure World: Understanding the Fiv...
 
[db tech showcase Tokyo 2015] D25:The difference between logical and physical...
[db tech showcase Tokyo 2015] D25:The difference between logical and physical...[db tech showcase Tokyo 2015] D25:The difference between logical and physical...
[db tech showcase Tokyo 2015] D25:The difference between logical and physical...
 
Admin Tech Ed Presentation Hardening Sql Server
Admin Tech Ed Presentation   Hardening Sql ServerAdmin Tech Ed Presentation   Hardening Sql Server
Admin Tech Ed Presentation Hardening Sql Server
 
SPTechCon SFO 2012 - Understanding the Five Layers of SharePoint Security
SPTechCon SFO 2012 - Understanding the Five Layers of SharePoint SecuritySPTechCon SFO 2012 - Understanding the Five Layers of SharePoint Security
SPTechCon SFO 2012 - Understanding the Five Layers of SharePoint Security
 
Discover Database
Discover DatabaseDiscover Database
Discover Database
 
DB Change Manager XE6 Datasheet - The Essential Schema and Data Synchronizati...
DB Change Manager XE6 Datasheet - The Essential Schema and Data Synchronizati...DB Change Manager XE6 Datasheet - The Essential Schema and Data Synchronizati...
DB Change Manager XE6 Datasheet - The Essential Schema and Data Synchronizati...
 
Where should I be encrypting my data?
Where should I be encrypting my data? Where should I be encrypting my data?
Where should I be encrypting my data?
 
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBAKoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
 
Trainmesfottech - Sql Server DBA Training Course Content
Trainmesfottech - Sql Server DBA Training Course ContentTrainmesfottech - Sql Server DBA Training Course Content
Trainmesfottech - Sql Server DBA Training Course Content
 

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 

Recently uploaded (20)

Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 

Function

  • 1. Functions of a Database Management System
  • 2. Functions of a DBMS C.J. Date Indexing Backup/Recovery Views Design Security Documentation Integrity Update/Query Concurrency
  • 3. Views Custom representations of a database that correspond to the needs of a class of users. Stored SELECT statements.
  • 4. Views Views Provide: representations of data for different users to • protect data quality • insulate users from changes in structure CREATE VIEW VIEWNAME {VIEW ATTRIBUTES} AS (SELECT ..WHERE ..)
  • 5. Views Views Permit Maintaining a constant user interface Restricting access to specified attributes Specifying user rights
  • 6. Views 3 Schema Architecture User Views (Views or LOGICAL Queries) Database administrators CONCEPTUAL model for the data (E-R diagrams) Actual data placement and PHYSICAL structure (SQL statements)
  • 7. Security Components that limit access or actions to limit potential damage to data.
  • 8. Security Limit data access to properly authorized users or programs. Protect data against accidental or intentional damage. • Deter • Detect • Minimize • Recover • Investigate
  • 9. Security Approaches Views limit access and actions Authorization Rules identify users and restrict actions User Defined Procedures in addition to database security functions Encryption encode stored data Authentication positively identify users
  • 10. Authorization Rules Subject Object Action Constraint Sales Dept Cust Insert Credit < $5000 Program Ar4 Order Modify None Terminal 12 Cust Modify Balance Due Order Trans Cust Read None
  • 11. Authorization Rules Some DBMS products authorize actions based on specific records and functional descriptions. However, most DBMS’s limit actions on tables to one of: • Read: view but not change • Insert: read and add records • Update: read, insert and change records • Alter/Delete: read, insert, update and delete records, change table structure
  • 12. User Defined Procedures Code modules that enforce security procedures are run during processing User DBMS Procedures Constraints DBMS
  • 13. Integrity Components that preserve the relationship among different related records in the database
  • 14. Integrity The relationship among records in the database Referential Integrity Non Key Integrity Derived Conditions
  • 15. Constraints in SQL CREATE TABLE … or ALTER TABLE … ADD CHECK(condition) PRIMARY KEY attribute-name FOREIGN KEY attribute-name REFERENCES parent-table The parent table must already have a primary key defined
  • 16. Concurrency Preventing two users from interfering with each other when they use the same information
  • 17. Concurrency Lockout Restricting access to users who could be misled by partial transactions Versioning Making trial updates on versions of the database and denying one if there is a data conflict.
  • 18. Locks Master Program 1 locks record Student Grade <exclusive>. 00 Fred No other program can 01 Anthony read the record. No program can have 02 Steve an active lock. 03 Ivan Program 2 locks record <shared> Other programs can read, but not change record. No program can have an exclusive lock.
  • 19. Locks On INSERT or UPDATE statements SELECT column-names FROM table-names WHERE … FOR UPDATE OF column-names NOWAIT;
  • 20. Concurrency Locks Granularity Exclusivity • Field • Exclusive • Record • Shared • Table • Database
  • 21. Concurrency Deadlock Two programs request conflicting sets of data lock up the database while awaiting access. • Program 1 locks record A • Program 2 locks record B • Program 1 requests lock on record B; waits • Program 2 requests lock on record A; waits System either times out and restarts each transaction after a random wait or recognizes the deadlock to abort one program.
  • 22. Versioning Version 1 Time 1 Version 2 Version 3 Time 2 Time 3 Commits version 3 only after changes to versions 1 and 2 have been rolled back.
  • 23. Backup and Recovery Processes to confirm and repeat transactions so that database can be restored to a valid state after a problem.
  • 24. Backup and Recovery Backup Copies • Master • Transaction Log Journalization • Forward Log • Backward Log Checkpoints
  • 25. DBMS Logs Master Transaction Student Grade Insert Li with grade A 00 Fred Change Fred’s grade to A 01 Anthony 02 Steve 03 Ivan
  • 26. Recover from Backup Transac- Backup + tion = Recovered Database Slow May give different answers from original
  • 27. DBMS Logs Transaction Forward Log Ins Li with grade A Student Grade Chg Fred’s grade to A 03 Li A 00 Fred A Master Backward Log Student Grade Student Grade 00 Fred A 03 n/p 01 Anthony 00 Fred 02 Steve 03 Li A
  • 28. DBMS Logs Transaction Forward Log Ins Li with grade A Student Grade Chg Fred’s grade to A 03 Li A 10:00 Checkpoint 00 Fred A Chkpt Master Backward Log Student Grade Student Grade 00 Fred A 03 n/p 01 Anthony 00 Fred 02 Steve Chkpt 03 Li A
  • 29. DBMS Logs Transaction Forward Log Ins Li with grade A Student Grade Chg Fred’s grade to A 03 Li A 10:00 Checkpoint 00 Fred A Chkpt Chg Steve grade to B 02 Steve B Master Backward Log Student Grade Student Grade 00 Fred A 03 n/p 01 Anthony 00 Fred 02 Steve B Chkpt 03 Li A 02 Steve
  • 30. Recover to Checkpoint Using Logs Backward Contaminated Database - Log = Correct at Checkpoint Recent + Transactions = Recovered Database
  • 31. Transaction Processing A set of computer operations required to process a single unit of work. A transaction must conclude with the database in a valid state whether the transaction terminates correctly or abnormally
  • 32. Transaction Processing Transaction Boundary • Locking Exclusive Shared • Logging Forward Backward Transaction • Modification Delete Insert Update • Commitment Commit Rollback
  • 33. Transaction Boundaries Set Boundary • Obtain Locks • Execute Code Modules • Evaluate Correctness Commit or Rollback • Release Locks
  • 34. Transaction Boundaries Set savepoint: SAVEPOINT order_save; Commit or rollback: ROLLBACK TO order_save;
  • 35. Transaction Boundaries Premiere Products Example SALESREP CUSTOMER ORDER PRODUCT ORDER-PRODUCT Place an order for a new customer with a 1500 credit limit
  • 36. Transaction Boundaries Premiere Products Example SALESREP CUSTOMER ORDER PRODUCT ORDER-PRODUCT •Insert CUSTOMER Record •Update CUSTOMER with SALESREP Foreign Key •Insert ORDER Record •Insert ORDER-PRODUCT with Foreign Keys •Update ProductOnHand in PRODUCT •Check Credit Limit
  • 37. Transaction Processing Programming Logic Two phased locking requires obtaining locks on all necessary records before releasing locks on any records. Obtain locks on all records needed Perform calculations Release locks
  • 38. Functions of a DBMS C.J. Date Indexing Backup/Recovery Views Design Security Documentation Integrity Update/Query Concurrency