A comprehensive, beginner-to-advanced course covering Oracle SQL, PL/SQL, database fundamentals, performance tuning, and GitHub workflows for database development.
This course was initiated and developed as part of academic instruction and practical database training to support learners in mastering Oracle SQL and PL/SQL for both industry and research applications. It is intended for students, developers, data analysts, data engineers, and IT professionals seeking strong competencies in Oracle database programming.
Eric Maniraguha
- GitHub (Primary)
- GitHub (Secondary)
- Research Associate – CyLab Africa / Upanzi Network
- Instructor – Adventist University of Central Africa (AUCA)
- Master of Science in Information Technology – Carnegie Mellon University Africa
If you'd like, I can now integrate this into the full README and regenerate the complete file.
- Overview of SQL
- Command categories: DDL, DML, DCL, TCL
- SELECT, INSERT, UPDATE, DELETE
- Constraints & Data Integrity
- Views & Indexes
- SELECT statement
- INSERT, UPDATE, DELETE
- Joins (INNER, LEFT, RIGHT, FULL)
- Subqueries
- Aggregate functions (SUM, AVG, COUNT…)
- WITH clause
- Recursive & non-recursive CTEs
- RANK
- ROW_NUMBER
- PARTITION BY
- OVER clause
- GROUPING SETS
- ROLLUP
- CUBE
- GROUPING() function
- Version control basics
- Creating and configuring a GitHub repository
- Commit, push, pull
- Branching & merging
- Pull requests
- Best practices for PL/SQL project collaboration
- What is PL/SQL?
- Advantages over SQL
- Oracle database environment overview
- System requirements
- Installing Oracle Database
- Database configuration
- Installing SQL Developer
- Common installation issues & troubleshooting
- Block structure
- Variables, constants, data types
- Operators & expressions
- IF statements, CASE
- Loops (FOR, WHILE, LOOP)
- Exception handling
- Creating stored procedures
- Creating functions
- Parameter modes (IN, OUT, IN OUT)
- Packages: Specification & Body
- Implicit vs Explicit cursors
- Cursor FOR loops
- REF CURSORS
- Triggers (BEFORE, AFTER, INSTEAD OF)
- Dynamic SQL (
EXECUTE IMMEDIATE) - BULK COLLECT and FORALL
- Collections (VARRAY, nested table, associative array)
- Records & object types
- Identifying performance issues
- Bind variables
- EXPLAIN PLAN
- TKPROF
- Writing efficient PL/SQL
- COMMIT, ROLLBACK, SAVEPOINT
- Transaction management in PL/SQL
- Locks & deadlocks
- Concurrency control techniques
- Using PL/SQL for ETL
- Oracle BI, Power BI, Tableau
- Building SQL dashboards and reports
- Real-world PL/SQL development
- Full application creation
- Database integration with front-end systems
MIT License
Copyright (c) 2025 Eric Maniraguha
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the “Software”), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.