Learning Outcomes

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

1.     Describe database systems concepts and design.

2.     Explain database models and construction.

3.     Implement databases using SQL.

4.     Describe database management, security, and recovery mechanisms.

Course Content

Module 1: Introduction to Database Systems

·       Database concepts and definitions

·       File systems vs. database systems

·       Data models: hierarchical, network, relational, object-oriented, NoSQL

·       ANSI/SPARC 3-level architecture

·       Relational database model and advantages over older models

Practical: Introduction to DBMS software; setting up databases; basic data storage and retrieval.

Module 2: Database Design and Modelling

·       Entity-Relationship (ER) modelling

·       Converting ER diagrams to relational schemas

·       Integrity constraints and keys (primary, foreign, unique)

·       Database normalization (1NF–3NF and BCNF)

Practical: Designing ER diagrams; normalizing tables; implementing schema in a DBMS.

Module 3: Structured Query Language (SQL)

·       Introduction to SQL

·       Data Definition Language (DDL): CREATE, ALTER, DROP

·       Data Manipulation Language (DML): INSERT, UPDATE, DELETE, SELECT

·       Joins, subqueries, and indexing

·       Query optimization basics

Practical: Writing and executing SQL queries to create, manipulate, and retrieve data; indexing for efficient search.

Module 4: Database Implementation and Management

·       Implementing relational databases based on designs

·       Transaction management and concurrency control

·       Distributed database systems

·       Database backup, recovery, and security techniques

·       Privacy and access control mechanisms

Practical: Implementing concurrency techniques; simulating transaction failures; applying backup and recovery methods; user access control.

Module 5: Emerging Topics in Databases

·       Semi-structured data and XML

·       NoSQL databases (e.g., MongoDB basics)

·       Object-oriented database concepts

·       Trends in database technologies and cloud databases

Practical: Introduction to a NoSQL database; simple data storage and retrieval in XML or JSON.

Teaching Methodology

·       Lectures: Interactive presentations with visual aids to introduce theoretical concepts.

·       Laboratory Sessions: Intensive hands-on sessions for database design, implementation, and querying.

·       Case Studies & Demonstrations: Real-world scenarios to illustrate database security, concurrency, and distributed systems.

·       Group Assignments & Projects: Collaborative database design and implementation tasks to build practical skills.

·       Quizzes & Discussions: Short assessments and class discussions to reinforce learning outcomes.

Mode of Assessment

·       Continuous Assessment (40%)

o   Quizzes / Class tests – 10%

o   Laboratory exercises and assignments – 20%

o   Group project / Presentation – 10%

·       Final Examination (60%)

o   Theory and practical questions assessing all modules.

Reading List / References (2023–2025)

Primary Texts:

1.     Elmasri, R. & Navathe, S. (2023). Fundamentals of Database Systems (8th ed.). Pearson.

2.     Coronel, C. & Morris, S. (2024). Database Systems: Design, Implementation, and Management (14th ed.). Cengage.

Supplementary Texts:
3. Harrington, J. L. (2023). Relational Database Design and Implementation (5th ed.). Morgan Kaufmann.
4. O’Reilly Media. (2023). Learning SQL (4th ed.). O’Reilly.
5. Chodorow, K. (2024). MongoDB: The Definitive Guide (4th ed.). O’Reilly.

Additional Resources:

·       Official SQL documentation (PostgreSQL, MySQL, SQL Server).

·       Online labs and tutorials on database design and NoSQL.

·       Current research articles and industry reports (2023–2025) on emerging database technologies.