Programming & Development
Database Management
Design and manage databases for schools, NGOs, and businesses using SQL and modern tools.
Prerequisites
No prior experience required — open to beginners.
Certificate
Awarded by Rescue Academy on successful completion of the program's assessments and final project.
Learn Online — Live Classes
Register, receive your schedule, and join live instructor-led Database Management classes on Zoom. Assignments, instructor feedback, and a certificate on completion.
Learn In Person
Attend Database Management classes in person in Juba with hands-on labs, instructor mentorship, and a certificate on completion.
What You'll Learn
- Relational databases and SQL: SELECT, INSERT, UPDATE and DELETE
- Filtering, joins, aggregation and reporting queries
- Database design, ER diagrams and normalisation
- Subqueries, CTEs, window functions, views, constraints and transactions
- Data import and cleaning, and databases from application code
- PostgreSQL administration, performance tuning and security
- Replication, disaster recovery and choosing data stores including NoSQL
Program Objectives
- Write correct, efficient SQL to answer real organisational questions
- Design normalised, constrained databases from requirements
- Load, clean and protect data, including personal data
- Administer, tune and recover PostgreSQL databases
- Choose and justify data storage approaches
Who It's For
- Beginners who want to work with data professionally
- Data officers, M&E staff and administrators in NGOs, schools and businesses
- Developers who need stronger database design and SQL skills
Where You'll Use It
- Records systems for schools, clinics, NGOs and government offices
- Reporting and monitoring for programmes and businesses
- Back-end databases for web and mobile applications
Curriculum
Instructor-led, practical training. Each level is a block of 4, 8 or 12 weeks; every module ends with a practical activity and an assessment, and every level with a project.
Module 1: Relational Databases and First Queries 10 h
Understand what relational databases are, set up a database tool and run your first queries to read and change data. 3 lessons
Module 2: Filtering and Sorting with SQL 11 h
Select exactly the rows you need with WHERE, combine conditions, handle missing values and sort and limit results. 3 lessons
Module 3: Keys, Relationships and Joins 10 h
Connect tables with primary and foreign keys and combine their data with inner and left joins. 3 lessons
Module 4: Aggregation and Reporting Queries 11 h
Summarise data with aggregate functions and GROUP BY, filter groups with HAVING and build report queries that answer management questions. 3 lessons
Module 5: Database Care: Indexes, Backups and Access 10 h
Keep databases fast, safe and recoverable with indexes, backups and basic access control. 3 lessons
Level project: School Fees Database
Module 1: Database Design and Normalisation 16 h
Turn requirements into entity–relationship diagrams and normalised table designs that avoid repetition and anomalies. 3 lessons
Module 2: Advanced SQL Queries 16 h
Answer complex questions with subqueries, common table expressions and window functions. 3 lessons
Module 3: Views, Constraints and Transactions 15 h
Protect data quality with constraints, simplify access with views and keep multi-step changes consistent with transactions. 3 lessons
Module 4: Stored Logic and Data Import 13 h
Import and clean real-world data, export results and use functions, procedures and triggers where they genuinely help. 3 lessons
Module 5: Using Databases from Applications 13 h
Connect to databases from application code, run parameterised queries, manage connections and understand ORMs. 3 lessons
Module 6: Intermediate Database Project 17 h
Design, build, load and report from the NGO Beneficiary and Distribution Database. 3 lessons
Level project: NGO Beneficiary and Distribution Database
Module 1: PostgreSQL Administration 22 h
Install and configure PostgreSQL, manage roles and privileges, back up and restore, and keep servers healthy with routine maintenance. 4 lessons
Module 2: Performance Tuning 24 h
Read query plans, design indexes, rewrite slow queries and tune configuration based on measurements. 4 lessons
Module 3: Data Security and Privacy 20 h
Protect sensitive data with layered access control, row-level security, encryption, auditing and privacy-respecting data practices. 4 lessons
Module 4: Replication, Availability and Recovery 22 h
Keep databases available and recoverable with replication, failover planning, managed services and disaster recovery targets. 4 lessons
Module 5: NoSQL and Choosing a Data Store 22 h
Understand document, key-value and other NoSQL databases, JSON in PostgreSQL, and choose the right store for each need. 4 lessons
Module 6: Database Capstone 30 h
Design, secure, tune and operate the production database for a multi-site health programme, and hand it over with a runbook. 5 lessons
Level project: Production Database Plan and Implementation for a Health Programme
Final practical project
Production Database for a Multi-Site Health Programme
A secure, tuned and recoverable PostgreSQL database for clinics in several locations, with role and row-level security, performance evidence, replication, tested recovery and an operations runbook.
Deliverables
- Schema, roles and row-level security built from versioned scripts with invented data
- Performance report with query plans before and after tuning
- Automated encrypted backups, a standby replica and recovery drill results
- Operations runbook and data dictionary
Assessed on
- Each role sees and changes only the data its policy allows
- Key queries meet their targets with measured evidence
- Recovery drills meet the agreed RPO and RTO
- Another administrator could operate the database from the runbook
Worked Examples
A selection of the visual, practical examples used in this program's lessons — each teaches a different skill.
- Code example Who has paid, and who has paid nothing? A LEFT JOIN keeps every student — including those with no payments — so the bursar's list is complete. Beginner · Module 3 · Lesson 3
- Code example Branch sales above target with GROUP BY and HAVING Total, count and average sales per branch, keeping only branches above 15,000 SSP. Beginner · Module 4 · Lesson 2
- Code example Running wallet balances with a window function Each transaction keeps its own row while SUM … OVER adds up a running balance per account. Intermediate · Module 2 · Lesson 3
- Code example Watching an index change the query plan The same query before and after adding an index: SQLite switches from scanning every row to searching the index. Advanced · Module 2 · Lesson 1
- Workflow A backup routine you can actually rely on The cycle that turns 'we take backups' into 'we can recover': back up, verify, store away, test the restore. Advanced · Module 1 · Lesson 3
- Troubleshooting tree Which data store does this feature need? A requirement-led path from 'we need to store this' to a sensible choice — usually PostgreSQL. Advanced · Module 5 · Lesson 4
Free Course: Database and SQL Starter
A free introduction to relational databases and SQL: creating tables, querying and filtering, joining related tables, summarising data and keeping a database fast and safe. Free, self-study, about 6 hours — no certificate. The full program above is taught live by an instructor, with practical assignments, assessments and a certificate.
- 1Free lesson 1Database Fundamentals & SQL Basics (MySQL & PostgreSQL)
- 2Free lesson 2Querying & Filtering Data
- 3Free lesson 3Joins & Table Relationships
- 4Free lesson 4Aggregation & Reporting
- 5Free lesson 5Indexing, Performance & Database Security
- Final checkQuick Quiz — Database Management Basics
Tools & Technologies
Primary Tools
- SQLite with DB Browser for SQLite — A file-based database for learning SQL offline at Beginner level Practice: Writing and testing SQL queries
- PostgreSQL — The main database server used from the Intermediate level Practice: Design, advanced SQL, administration and tuning
- pgAdmin or DBeaver — Graphical tools for browsing and managing databases Practice: Running queries, viewing plans and managing objects
Supporting Tools
- Python (sqlite3 / psycopg) — Accessing databases from code with parameterised queries Practice: Safe application access and transactions
- Spreadsheets (Excel, LibreOffice Calc) — Source and destination for imported and exported data Practice: Preparing imports and sharing reports
Professional / Industry Tools
- pg_dump, pg_restore and streaming replication — Backups, restores and standby servers Practice: Recovery planning and failover
- PgBouncer and pg_stat_statements — Connection pooling and finding slow queries Practice: Performance monitoring and tuning
- Redis and a document database (overview) — Caching and flexible data in the NoSQL module Practice: Choosing the right data store
Career Opportunities
- Junior web or software developer
- Freelance developer for local businesses and NGOs
- IT/software role in a company or government office
Practical Projects
- Design and populate a relational database for a real organization (e.g. an NGO's beneficiary records)
- Write a set of reporting queries answering real business questions from a sample dataset
- Given a slow-running report query on a large sample dataset, diagnose the bottleneck with EXPLAIN and fix it with proper indexing — document the before/after query time
Problem-Solving Focus
Problem: An NGO or school has years of beneficiary or student records scattered across multiple spreadsheets, with duplicate and inconsistent entries
Approach: Design a normalized relational schema — proper tables and keys that eliminate duplication — then migrate the spreadsheet data into it with validation rules that catch bad entries at insert time, not after the fact.
Problem: A report that used to run instantly now takes minutes to return results as the dataset has grown
Approach: Diagnose the query with EXPLAIN and execution plans to find the actual bottleneck, then add the right index — instead of accepting the slowdown or rewriting the whole system.
Problem: Multiple staff members editing enrollment or inventory records at the same time cause conflicting or lost updates
Approach: Use transactions and appropriate constraints so the database itself guarantees consistency under concurrent access, rather than hoping staff don't edit the same record at once.
Problem: Sensitive data (health records, financial data, beneficiary personal details) needs to be stored, but not every user with system access should see everything
Approach: Apply role-based access control and restrict or encrypt the most sensitive fields, rather than giving every user full access "to keep things simple."
Ready to register for Database Management?
Register — Learn Online Register — Learn In Person WhatsApp: +211926196668 Email: rescueacademy26@gmail.com