Data Management
Section outline
-
This course provides a comprehensive introduction to database systems and data management concepts. It covers data models, database design and implementation, query languages (particularly SQL), transaction management, concurrency control, security, and emerging database technologies such as NoSQL and object-oriented databases. Emphasis is placed on practical skills in designing, creating, querying, securing, and managing databases, preparing students for real-world data handling and information management tasks.
-
Course Objectives
The course aims to:
1. Introduce students to fundamental concepts and architectures of database systems.
2. Equip students with the ability to design and normalize relational database schemas.
3. Provide hands-on experience in implementing databases using SQL.
4. Develop skills in database transaction management, security, and recovery.
5. Introduce emerging topics in database systems such as NoSQL and XML.
-
-
Teaching and Learning Methods to be Employed
1. Introductory illustrated lecture
2. Interactive discussion: Where do we encounter databases in Nigeria daily?
3. Demonstration: Opening a sample database in MySQL Workbench
4. Think-Pair-Share: Differences between a file system and a database
Learning Outcomes / Objectives
By the end of this week, students should be able to:
1. Define data, information, and knowledge and explain their relationship.
2. Explain the concept of information management and its importance.
3. Distinguish between a file-based system and a database system.
4. Define a database and a Database Management System (DBMS).
5. List the key advantages of the database approach over file-based systems.
-
Course Discussion ForumDue: Thursday, 4 June 2026, 6:26 PM
-
Assignment OneOpened: Thursday, 4 June 2026, 12:00 AMDue: Thursday, 18 June 2026, 12:00 AM
-
-
-
Teaching and Learning Methods to be Employed
1. Illustrated lecture on DBMS architecture with layered diagrams
2. Lab session: Navigating MySQL Workbench schemas, tables, users
3. Demonstration: Data independence in practice
Learning Outcomes / Objectives
By the end of this week, students should be able to:
1. Identify and describe the components of a database system.
2. Explain the functions of a DBMS.
3. Describe the three-schema (ANSI/SPARC) architecture.
4. Distinguish between physical and logical data independence.
5. Explain the roles of DBA, database designer, and end-users.
-
Course Discussion ForumDue: Thursday, 11 June 2026, 6:22 PM
-
-
-
Teaching and Learning Methods to be Employed
i. Illustrated lecture with step-by-step ER diagram construction
ii. Hands-on ER diagram drawing exercise (paper or draw.io)
iii. Case study: Modelling a Nigerian hospital information system
iv. Collection of Assignment 1
Learning Outcomes / Objectives
By the end of this week, students should be able to:
1. Explain the purpose of conceptual data modelling.
2. Define entities, attributes, and relationships in the ER model.
3. Classify attributes by type (simple, composite, multi-valued, derived).
4. Identify and specify cardinality ratios and participation constraints.
5. Draw a complete Entity-Relationship (ER) diagram for a given scenario.
-
Assignment 2Opens: Thursday, 18 June 2026, 12:00 AMDue: Thursday, 2 July 2026, 12:00 AM
-
Due: Thursday, 18 June 2026, 6:52 PM
-
-
-
Teaching and Learning Methods to be Employed
i. Lecture with relational model concepts and worked examples
ii. ER-to-relational mapping exercise
iii. Lab: Creating tables with constraints in MySQL
iv. Quiz on entity and referential integrity
Learning Outcomes / Objectives
By the end of this week, students should be able to:
1. Describe the relational data model using formal terminology.
2. Convert an ER diagram into a relational schema.
3. Define and distinguish between different types of keys.
4. Explain and implement entity integrity and referential integrity constraints.
5. Write SQL DDL statements to create tables with constraints.
-
SQL Lab Exercise 1 Page
-
Due: Thursday, 25 June 2026, 7:05 PM
-
-
Teaching and Learning Methods to be Employed
1. Interactive lecture with live SQL demonstrations in MySQL
2. Hands-on SQL lab session — students write and execute queries
3. Pair programming: SQL query challenges
4. Real dataset exercise using Nigerian banking/demographic sample data
Learning Outcomes / Objectives
By the end of this week, students should be able to:
1. Write SQL DDL statements to create and alter tables.
2. Write SQL DML statements to insert, update, and delete data.
3. Write SQL SELECT queries with WHERE, ORDER BY, and LIMIT clauses.
4. Apply SQL aggregate functions (COUNT, SUM, AVG, MIN, MAX) with GROUP BY and HAVING.
5. Write SQL JOIN queries to combine data from multiple tables.
6. Write basic subqueries.
-
Course Discussion ForumDue: Thursday, 2 July 2026, 7:50 PM
-
-
-
Teaching and Learning Methods to be Employed
1. Lecture with step-by-step normalisation worked examples
2. Normalisation workshop — students normalise a given unnormalised table
3. Collection of Assignment 2
4. Discussion: Denormalisation trade-offs in real systems
Learning Outcomes / Objectives
By the end of this week, students should be able to:
1. Define functional dependency and identify FDs from a given relation.
2. Explain update, insertion, and deletion anomalies.
3. Apply First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF).
4. Explain Boyce-Codd Normal Form (BCNF).
5. Describe the impact of normalisation on database efficiency.
-
Assignment 3Opens: Wednesday, 8 July 2026, 12:00 AM
-
Due: Wednesday, 8 July 2026, 8:14 PM
-
-
-
Week 7 Book
Teaching and Learning Methods to be Employed
1. Illustrated lecture comparing relational and semi-structured models
2. Hands-on exercise: converting relational data to JSON and XML
3. Demonstration: MySQL JSON data type and JSON functions
4. Case study: REST API responses in Nigerian fintech applications
Learning Outcomes / Objectives
By the end of this week, students should be able to:
1. Explain the concept of semi-structured data and how it differs from structured relational data.
2. Describe the XML data model and its key components.
3. Write and read JSON documents for representing data.
4. Compare the strengths and weaknesses of relational vs. semi-structured models.
5. Explain when to use relational vs. semi-structured data storage.
-
Due: Monday, 22 June 2026, 9:42 AM
-
-
-
Teaching and Learning Methods to be Employed
1. Lecture on security mechanisms with live SQL demonstrations
2. SQL injection attack demonstration and prevention
3. Lab: Creating users, granting/revoking privileges in MySQL
4. Discussion: NDPR compliance for Nigerian database systems
Learning Outcomes / Objectives
By the end of this week, students should be able to:
1. Describe the major threats to database security.
2. Explain authentication, authorisation, and access control in DBMS.
3. Use SQL DCL commands (GRANT, REVOKE) to manage user privileges.
4. Explain how database views provide security through data abstraction.
5. Describe SQL injection and how to prevent it.
6. Explain encryption and audit trails as security mechanisms.
7. Describe the requirements of NDPR for database-driven applications.
-
Due: Friday, 24 July 2026, 6:51 AM
-
-
-
Teaching and Learning Methods to be Employed
1. Illustrated lecture on query processing pipeline
2. Lab: Using EXPLAIN in MySQL to analyse query execution plans
3. Index creation and performance comparison exercise
4. Collection of Assignment 3
Learning Outcomes / Objectives
By the end of this week, students should be able to:
1. Describe the steps in query processing from SQL statement to query result.
2. Explain the role of the query optimiser in a DBMS.
3. Understand relational algebra as the basis for query evaluation.
4. Describe the structure and benefits of database indexes.
5. Use MySQL's EXPLAIN statement to interpret a query execution plan.
6. Apply basic query optimisation techniques.
-
-
-
Teaching and Learning Methods to be Employed
1. Illustrated lecture on transactions, ACID properties, and isolation levels
2. Concurrency problem demonstration with parallel transaction scenarios
3. Recovery mechanisms and log-based recovery exercise
4. Final course review and exam preparation session
Learning Outcomes / Objectives
By the end of this week, students should be able to:
1. Define a transaction and explain the ACID properties.
2. Describe the concurrency problems that arise when transactions execute simultaneously.
3. Explain lock-based and timestamp-based concurrency control protocols.
4. Describe transaction isolation levels and their trade-offs.
5. Explain the concept of database failure and recovery.
6. Describe log-based recovery and the ARIES algorithm concepts.
-
Due: Thursday, 30 July 2026, 7:12 AM
-
COURSE EXAMINATION GUIDE AND COMPLETE REFERENCE LISTS Page
Sample Examination Questions by Learning Outcome
-