0% found this document useful (0 votes)
69 views7 pages

Advanced Database Course Outline

Advanced database course outline for AAU

Uploaded by

lidiyamkt
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)
69 views7 pages

Advanced Database Course Outline

Advanced database course outline for AAU

Uploaded by

lidiyamkt
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/ 7

Addis Ababa Institute of Technology

School of Information Technology and Engineering (SiTE)

Department of Software engineering


Course title: Advanced Database System

Course code: SECT-4221

Credit hours: 4 ECTS: 7

Contact hours: Lecture hrs: 2 Lab hrs: 3

Tutorial hrs: 2

Prerequisite: Fundamentals of Database Systems

Course category: Compulsory

Student Workload

Lecture Tutorial Laboratory Home Study

32 hrs 32 hrs 48 hrs 65 hrs

Year: V Semester: I 2024/25 AY

Instructor’s Contact Information:


 Name:Samuel Getachew
 Rank: Lecturer
 Office: Arat Kilo Climate Science Center
 Email:[email protected]

1. Course description

This course addresses topics at the intersection of database system, operating system, and
distributed computing research and development. It mainly focuses on different database
systems, their architecture, and application areas. Specifically, Distributed and relational
database systems, object database systems, and overview of graph database will be covered
in this course.

1|Page
2. Course objectives

By the end of this course, students will be able to:

 To introduce database distribution and ways to resolve complications related to


distribution.
 To give students in depth information about system implementation techniques, data
storage, representing data elements, database system architecture, the system
catalog, query processing and optimization, transaction processing concepts,
concurrency control techniques, database recovery techniques, database security and
authorization, enhanced data models for advanced applications, temporal databases,
deductive databases, database technology for decision support systems, distributed
databases and client server architecture, advanced database concepts, and emerging
technologies and applications.
 To provide an in depth skill on object databases
 To equip students with an in depth understanding of graph databases.
3. Learning Outcomes
The programme provides a knowledge and understanding of the following:
4. Practical Skills
Upon successful completion of this course, students will be able to:
Implement and evaluate complex, scalable database systems, with
emphasis on providing experimental evidence for design decisions.
Apply and customize state-of-the-art implementation techniques for multi-
node database management systems following modern coding practices.
Interpret and comparatively criticize state-of-the-art research talks and
papers, with emphasis on constructive improvements.
Ability to compare and select systems to store and manipulate big data
Apply database optimization techniques to resolve system performance
issues in general
Know how to effectively use and customize tools that may interact with
database systems
Apply object oriented database system concepts to design application
layers
Model graph and hypergraph based data for any domain of knowledge
5. Course outline
Part I: Introduction to Database Systems
Chapter 1: Object and Object Relational Database Systems
1.1 Object Oriented Conceptual Model
1.2 Static Aspects of OOCM
1.3 Objects and Classes
1.4 Object Relationships
2|Page
1.5 Complex Objects
1.6 Dynamic Aspects of OOCM
1.7 Encapsulation
1.8 Generic and User Defined Methods
1.9 Static and Dynamic Polymorphism
1.10 Object Relational Approaches
Chapter 2: Overview NOSQL and Graph Database Systems
Part II: Distributed Database Systems
Chapter 3: Introduction to Distributed Database System
3.1.Distributed Data Processing
3.2.Distributed Systems
3.3.Distributed Database System
3.4.Data Delivery Alternatives
3.5.Promises of Distributed Database System
3.6.Problems of Distribution
3.7.Distributed DBMS Issues
3.8.Architectural Alternatives of Distributed DBMSs
3.8.1 Autonomy
3.8.2 Distribution
3.8.3 Heterogeneity
3.9 Distributed Database architecture
3.9.1 Client/Server
3.9.2 Peer-to-Peer
3.9.3 distributed systems
3.9.4 MDBS Architecture
Chapter 4: Distributed Database Design
4.1.Distributed Database Design Problem
4.2.Distributed Database Design Strategies
4.3.Distributed Design issues
4.4.1 Fragmentation
4.4.2 Allocation
4.4.3 Information Requirements
4.4.4 Fragmentation
4.4.4.1 Primary Horizontal Fragmentation\

3|Page
4.4.4.1.1 Information Requirements
4.4.4.1.2 Completeness and Minimality of Predicates
4.4.4.2 Derived Horizontal Fragmentation
4.4.4.3 Vertical Fragmentation
4.4.4.4 Mixed/Hybrid Fragmentation
4.4.5 Allocation
4.4.5.1 Allocation Model
Chapter 5: Distributed Query Processing
5.1.Query Processing Components
5.2.Query Processing Problems and Objectives
5.3.Characteristics of Distributed Query Processors
5.4.Query Optimization issues
5.5.Layers of Query Processing
5.5.1 Query Decomposition
5.5.2 Data Localization
5.5.3 Global Query Optimization Query Execution
Chapter 6: Distributed Transaction Management
6.1. Overview of Transaction
6.2. Termination Conditions of Transactions
6.3. Formalization of the Transaction Concept
6.4. Properties of Transactions
6.5. Characterization of Transactions
6.6. Types of transaction
6.7. Workflows Transaction Processing Issues
6.8. Distributed Query Execution Monitoring Architecture

Chapter 7: - Distributed Concurrency Control


7.1. Concurrency Control
7.2. Execution History/ Schedule
7.3. Formalization of History
7.4. Schedule Definition
7.5. Serial History
7.6. Serializable History
7.7. Serializability in Distributed DBMS
7.8. Global Non-Serializability

4|Page
7.9. Concurrency Control Algorithms
7.9.1 Locking-Based Concurrency Control Algorithms
Two-Phase Locking (2PL) Strict, Centralized and Distributed 2PL
7.9.2 Timestamp-Based Concurrency Control Algorithms
Timestamp Ordering \
Conservative Timestamp Ordering
Multiversion Timestamp Ordering
7.9.3 Optimistic Concurrency Control Algorithms
7.9.4 Deadlock Management
Local vs Global Wait for Graphs
Deadlock Prevention
Deadlock Avoidance
Wait-Die and Wound-Wait Algorithm
Deadlock Detection and Resolution
Centralized, Hierarchical, and Distributed
Non- Serializable Schedule and Nested Distributed
Chapter 8: Distributed Object Database Management\
8.1. Object Distribution Design
8.2. Fragmentation Alternatives
8.2.1 Horizontal Class Partitioning
8.2.2 Vertical Class Partitioning
8.3 Path Partitioning
8.4 Object Server Architecture
8.5 Page Server Architecture
8.6 Cache Consistency
8.7 Alternative Cache Consistency Algorithms
8.8 Object Identifier Management
8.9 Object Migration
8.10 Distributed Object Storage
8.11 Object Query Processing
8.12 Transaction Management

9 Teaching-learning methods

The teaching methods that shall be employed for this course are lecturing, demonstration, and
classroom action research.

5|Page
10 Assessment methods
The mark breakdown is as follows  Mid Exam 20%  Assignment I, II, III, IV and other
assessments) 40%  Final Exam 40%

 Assignments/quizzes 10%
 Project and Lab Assessments 20%
 Mid semester examination 30%
 Final examination 40%

6. Course Policy
 Attendance: It is compulsory to attend class in time and every time. Missing
more than three classes during the term causes readmission for that course.
 Assignments: No Late Assignment will be accepted  Test/Quizzes: Rarely
reexamination schedules will be arranged for those who missed the exam by
accidental or uncontrollable situation.
 Cheating/Plagiarism: No second Chance or excuses.
7. Textbooks:
8. Özsu, M.T., Valduriez, P.: Principles of Distributed Database Systems. Springer, New York
(2011). https://doi.org/10.1007/978-1-4419-8834-8Google Scholar
9. Reference Referencebooks:
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

6|Page
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
8.2.Stored Procedures

7|Page

You might also like