UNIVERSITY EXAMINATION 2025/2026
YEAR 2 SEMESTER 2 ORDINARY EXAMINATION FOR BACHELOR OF SCIENCE IN
SOFTWARE ENGINEERING
SSE 2206: ADVANCED DATABASE PROGRAMMING
COURSE OUTLINE
Course Title: Advanced Database Programming
Course Code: SPE 2206
Programme: Bachelor of Science in Software Engineering
Year of Study: Year II
Semester: Semester 2
Prerequisite: Database Management Systems; Introduction to Programming
Course Type: Core Course
1. Course Description
This course builds on foundational database concepts and focuses on advanced database
programming techniques used in modern software systems. It emphasizes advanced SQL,
stored procedures, triggers, transactions, concurrency control, database security, and
performance optimization.
2. Course Objectives
- Understand advanced concepts in database programming and architecture.
- Develop complex SQL queries and database programs.
- Design and implement stored procedures, functions, and triggers.
- Apply transaction management and concurrency control techniques.
- Secure databases against unauthorized access and common attacks.
- Optimize database performance for large-scale applications.
3. Course Learning Outcomes (CLOs)
- Develop advanced database-driven applications using SQL.
- Implement transaction management with ACID compliance.
- Apply concurrency control mechanisms and handle deadlocks.
- Design and deploy triggers and stored procedures.
- Secure and optimize database systems.
4. Course Content (Weekly Breakdown)
Week Topic Detailed Subtopics
1–2 Review of Database Overview of database systems and environments; Relational
Fundamentals database concepts and architecture; Database models and
schemas; Review of SQL fundamentals (DDL, DML, DCL
3 Advanced SQL Queries Nested queries and correlated subqueries; Complex joins (inner,
outer, self joins); Views and materialized views; Index creation
and management
4–5 Database Programming Stored procedures (design and implementation); User-defined
functions; Cursors and result set handling; Parameters and
control structures; Error handling in database programs
6–7 Triggers and Database Trigger concepts and use cases; Types of triggers (BEFORE,
Events AFTER, INSTEAD OF); Creating and managing triggers; Event
scheduling and automation; Auditing with triggers
8–9 Transactions and Transaction concepts and lifecycle; ACID properties;
Concurrency Control Concurrency problems (lost update, dirty read, non-repeatable
read, phantom read); Locking mechanisms; Isolation levels;
Deadlock detection and prevention
10 Database Security Authentication and authorization mechanisms; Roles and
privilege management; Data protection techniques; SQL
injection vulnerabilities and prevention; Secure database coding
practices
11 Database Performance Query performance analysis; Indexing strategies; Query
Optimization optimization techniques; Execution plans; Database tuning and
monitoring
12 Advanced Database Distributed database systems; Data replication and
Concepts fragmentation; Consistency models; Introduction to NoSQL
databases and use cases
13 Emerging Trends in Cloud database platforms; Databases for web and mobile
Databases applications; Database APIs and services; Ethical and legal
issues in database management
14 Revision and Comprehensive review; Practical integration exercises; Project
Integration consultation and exam preparation
5. Teaching and Learning Methods
- Lectures
- Practical laboratory sessions
- Group discussions
- Case studies
- Assignments and projects
6. Assessment Methods
CATs: 20%
Assignments/Practical Work: 10%
Project: 10%
Final Examination: 60%
7. Course Project
Students will design and implement a database-driven application and submit a technical
report.
8. Recommended Teaching Resources
- Elmasri & Navathe – Fundamentals of Database Systems
- Silberschatz et al. – Database System Concepts
- Official MySQL/PostgreSQL Documentation
9. Mode of Delivery
Face-to-face lectures and blended learning.