Advanced DB
Advanced DB
Credit Hours: 3 ECTS: 5 Contact hrs: 2hrs Laboratory: 3hrs Tutorial: 2hrs
year II semester II
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 systems, distributed databases, and integration may also be covered. A major component of the
course is a database implementation project using current database languages and systems.
Course objectives
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
5.4. Shadow Paging
5.5. The ARIES Recovery Algorithm
5.6. Recovery in Multi database Systems
Chapter 6: Database Security and Authorization (5 hours)
6.1. Introduction to DB Security Issues
6.2. Discretionary Access Control Based on Granting /Revoking of Privileges
6.3. Mandatory Access Control for Multilevel Security
6.4. Statistical DB Security
Chapter 7: Distributed Database System (4 hours)
7.1. Distributed Database Concepts
7.2. Data Fragmentation, Replication, and Allocation Techniques for Distributed Database Design
7.3. Types of Distributed Database Systems
7.4. Query Processing in Distributed Databases
Evaluation Schemes
(This may vary on the number of students per class, but general evaluation scheme is as below)
Quiz 10%
Mid Exam 30%
Lab Evaluation and Project Work 20%
Final Exam 40%
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. Anthony Hack. (2019). SQL Computer Programming for Beginners. Independently published
Laboratory Course Outline