0% found this document useful (0 votes)
17 views4 pages

Advanced DB

The Advanced Database Systems course (CoSc2042) covers topics such as query optimization, transaction management, database security, and distributed databases, with a focus on practical implementation through a project. Students will learn key concepts of object-oriented databases, evaluate query processing strategies, and understand various recovery methods. The course includes a mix of lectures, laboratory work, and assessments including quizzes, exams, and project evaluations.

Uploaded by

abresogthrj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views4 pages

Advanced DB

The Advanced Database Systems course (CoSc2042) covers topics such as query optimization, transaction management, database security, and distributed databases, with a focus on practical implementation through a project. Students will learn key concepts of object-oriented databases, evaluate query processing strategies, and understand various recovery methods. The course includes a mix of lectures, laboratory work, and assessments including quizzes, exams, and project evaluations.

Uploaded by

abresogthrj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Course Title: Advanced Database Systems

Course Number: CoSc2042

Credit Hours: 3 ECTS: 5 Contact hrs: 2hrs Laboratory: 3hrs Tutorial: 2hrs

Prerequisite: CoSc2041 Fundamentals of Database Systems

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

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

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%

Text books 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. Anthony Hack. (2019). SQL Computer Programming for Beginners. Independently published
Laboratory Course Outline

Week 1: Introduction and Software Installation


1.1. (Microsoft SQL Server or Oracle DB)
Week 2: Objet-Oriented Database
1.1. Object Identity
1.2. Object Query Language (OQL)
Week 3: Query Processing and Optimization
3.1. Query Execution Plan
3.2. Query Optimization
Week 4: Transaction Management
3.3. Basic Syntax of Transactions
3.3.1. What are Transactions
3.3.2. Beginning Transaction
3.3.3. Committing or Rolling Back
3.3.4. Creating Named Transactions
Week 5: Transaction Management
3.4. Making Use of Transactions
3.4.1. Conditionally Committing or Rolling Back
3.4.2. Transactions with Error Handlers
Week 6: Transaction Management
3.4.3. Automatic Rollback
3.4.4. Nested Transactions
Week 7: Transaction Management
3.4.5. Using Save points
3.4.6. Transactions in Stored Procedures
Week 8: Concurrency Control Techniques
4.1. Locking
4.2. Timestamping
Week 9: Concurrency Control Techniques
4.3. Multi-version Concurrency Control
4.4. Locks for Indexes
Week 10: Database Recovery Techniques
5.1. Backup and Recovery Concepts
5.2. Backup
5.3. Recovery
Week 11: Database Security and Authorization
6.1. List the different Types of Accounts in SQL Server or Oracle DB
6.2. Explain the use of Server Roles
6.3. Demonstrate how to Grant and Deny Permissions
6.4. Describe Database Roles
6.5. Describe How to Work with Database Permissions
Week 12: Distributed Database
7.1. Distributed Database Concepts
7.2. Data Fragmentation
7.3. Replication
7.4. Allocation Techniques
7.5. Query Processing in Distributed Databases
Week 13: Triggers
8.1. Triggers
Week 14: Stored Procedures
Stored Procedures

You might also like