1.
Course Description:
This course deals with, query optimization, transaction management, recovery, and
concurrency control, database authorization and security. Additional topics including,
object oriented and object relational database system, distributed databases,
databases, and integration may also be covered. A major component of the course is a
database implementation project using current database languages and systems.
2. Course Goals or Learning Outcomes:
By the end of this course, students will be able to:
i. Describe the main concepts of the OO model such as object identity, type
constructors, encapsulation inheritance, polymorphism, and versioning
ii. Evaluate a set of query processing strategies and select the optimal strategy. Know
the basics of transaction management and concurrency control
iii. Understand database security
iv. Use different recovery methods when there is a database failure
v. Design a distributed database system in homogenous and heterogeneous
environments
3. Prerequisites: Fundamentals of Database Systems (CoSc2071)
Chapter Topic and Subtopics Reading
Concepts for Object-Oriented Databases Reference Book
1
Part 5
Overview of Object-Oriented Concepts Chapter 12
Object Identity, Object Structure, and Type Constructors
Encapsulation of Operations, Methods, and Persistence
Type Hierarchies and Inheritance
2 Query processing and Optimization Reference Book
Translating SQL Queries into Relational Algebra Part 8
Basic Algorithms for Executing Query Operations
Using Heuristic in Query Optimization Chapter 18 and 19
Using Selectivity and Cost Estimates in Query
Optimization
Semantic Query Optimization
Transaction Processing Concepts
3
Reference Book
Introduction Part 9
Transaction and System Concepts
Tasks/Activities
Properties of Transaction Weight PointChapter 20
Schedules and Test#1 Theoretical
Recoverability 15%
Continuous Project Works
Serializability of Schedules 15%
Transaction SupportQuiz
Assessment in SQL 5%
Test#2 Lab/practice 15%
FinalControl
Concurrency examination
Techniques 50%
4 Reference Book
Total 100%
Locking Techniques for Concurrency Control
Part 9
Concurrency Control Based ON Timestamp Ordering Chapter 21
Multi-version Concurrency Control Techniques
Validation (Optimistic) Concurrency Control Technique
Granularity of Data Items and Multiple Granularity
Locking
Using Locks for Concurrency Control in Indexes
Database Recovery Techniques
5
Recovery Concepts
Reference Book
Recovery Concepts Based on Deferred Update Part 9
Recovery Concepts Based on Immediate Update Chapter 22
Shadow Paging
The ARIES Recovery Algorithm
Recovery in Multi database Systems
Database Security and Authorization
6
Reference Book
Introduction to DB Security Issues
Part 12
Discretionary Access Control Based on Granting Chapter 30
/Revoking of Privileges
Mandatory Access Control for Multilevel Security
Statistical DB Security
Distributed Database System
7
Reference Book
Distributed Database Concepts
Part 10
Data Fragmentation, Replication, and Allocation Chapter 23
Techniques for Distributed database Design
Types of Distributed Database Systems
Query Processing in Distributed Databases
Assessment Method
References
Elmasri, R., & Navathe, S. Fundamentals of database systems (7th Edition). Pearson. (2017).