Adavanced Database Course Outlie
Adavanced Database Course Outlie
Course objectives
at the end of this course, students will be able to:
Describe the main concepts of the OO model such as object identity, type constructors,
encapsulation inheritance, polymorphism, and versioning
evaluate a set of query processing strategies and select the optimal strategy. Know the basics
of transaction management and concurrency control
Understand database security
Use different recovery methods when there is a database failure
Design a distributed database system in homogenous and heterogeneous environments
1
2
Course outline
Chapter 1: Concepts for Object-Oriented Databases (2 hours)
1.1.Overview of Object-Oriented Concepts
1.2.Object Identity, Object Structure, and Type Constructors
1.3.Encapsulation of Operations, Methods, and Persistence
1.4.Type Hierarchies and Inheritance
Chapter 2: Query Processing and Optimization (4 hours)
2.1. Translating SQL Queries into Relational Algebra
2.2. Basic Algorithms for Executing Query Operations
2.3. Using Heuristic in Query Optimization
2.4. Using Selectivity and Cost Estimates in Query Optimization
2.5. Semantic Query Optimization
Chapter 3: Transaction Processing Concepts (6 hours)
3.1. Introduction
3.2. Transaction and System Concepts
3.3. Properties of Transaction
3.4. Schedules and Recoverability
3.5. Serializability of Schedules
3.6. Transaction Support in SQL
Chapter 4: Concurrency Control Techniques (6 hours)
4.1. Locking Techniques for Concurrency Control
4.2. Concurrency Control Based ON Timestamp Ordering
4.3. Multi-version Concurrency Control Techniques
4.4. Validation (Optimistic) Concurrency Control Techniques
4.5. Granularity of Data Items and Multiple Granularity Locking
4.6. Using Locks for Concurrency Control in Indexes
Chapter 5: Database Recovery Techniques (5 hours)
5.1. Backup and Recovery Concepts
5.2. Recovery Concepts Based on Deferred Update
5.3. Recovery Concepts Based on Immediate Update
2
3
Evaluation Schemes
(This may vary on the number of students per class, but the general evaluation scheme is as
below)
Quiz 10%
Mid Exam 30%(individual assignment 15% and 15% group assignment)
Lab Evaluation(lab exam), and Project Work 20%
Final Exam 40%
Textbooks and References:
Textbook:
1.Raghu Ramakrishnan, Johannes Gehrke. Database Management Systems, McGraw-Hill; 3rd
edition, 2002
2. Elmasri, R., & Navathe, S. Fundamentals of database systems (7th Edition). Pearson. (2017).
References
1. Osama Mustafa, Robert P. Lockard. (2019). Oracle Database Application Security, Apress,
Berkeley, CA.
2. C. J. Date. (2019). Database Design and Relational Theory. 2nd Edition. Apress, Berkeley,
CA.
3
4
3. Anthony Hack. (2019). SQL Computer Programming for Beginners. Independently published
4
5