To strengthen my technical foundation in data management and prepare for senior data leadership roles in higher education, I designed and built a comprehensive university data warehouse integrating financial data from Oracle ERP with student data from Banner SIS. This project demonstrates hands-on proficiency in dimensional modeling, multi-source system integration, SQL, semantic layer design, and the creation of governed datasets for self-service reporting—mirroring the real-world data architecture used by universities like Rutgers.
Technical Environment:
Database: PostgreSQL 15 (containerized with Docker)
Tools: pgAdmin, Docker Desktop
Scope: University data warehouse integrating Oracle ERP financial data with Banner SIS student data
Architecture: 10 dimension tables, 3 fact tables (including 1 integrated fact table combining both sources), multiple semantic layer views and materialized views
Data Volume: 1,000+ financial transactions across 3 fiscal years, 11 students, 13 courses, 30+ enrollments, 40+ student financial transactions
Key Integration: fact_student_financials table combines Banner financial aid data with Oracle billing/payment data
Source Systems:
Oracle ERP (Oracle Cloud): Financial transactions, GL accounts, vendor data, departmental hierarchies
Banner SIS (Ellucian): Student records, course enrollment, academic programs, grades, financial aid
Star Schema Design
Oracle ERP Dimensions:
dim_account – Chart of accounts with hierarchical structure (Account Type → Category → Subcategory)
dim_vendor – Vendor master data with classification and location
Banner SIS Dimensions:
dim_student – Student demographics, enrollment status, and academic standing (Type 2 SCD for tracking status changes over time)
dim_program – Academic programs and majors with college/department hierarchy and STEM indicator
dim_course – Course catalog with offerings by term, instructor, delivery mode, and campus
Shared Dimensions (Conformed):
dim_department – Organizational hierarchy (Campus → College → Department) used by both Oracle and Banner
dim_date – Time dimension with fiscal year, academic year, and calendar attributes
fact_transactions – Oracle ERP financial transactions with measures (amount, transaction type) and foreign keys to account, vendor, department, and date dimensions
fact_enrollment – Banner SIS student course registrations with grades, credit hours, completion status, and foreign keys to student, course, program, and date dimensions
fact_student_financials – Integrated fact table combining Banner financial aid data with Oracle billing/payment data, providing complete student financial picture with foreign keys to student, program, account, and date dimensions
Implemented Type 2 Slowly Changing Dimension pattern on dim_student to track student progression (e.g., Sophomore → Junior → Senior) over time, enabling historical point-in-time reporting and retention analysis
Created conformed dimensions (dim_date, dim_department) shared across both Oracle and Banner source systems to enable integrated reporting
Designed integrated fact table (fact_student_financials) that bridges Banner financial aid data with Oracle billing/payment data, demonstrating multi-source integration patterns
Implemented composite fiscal calendar supporting both fiscal year (July-June) and academic year (September-August) reporting requirements
Designed denormalized dimension tables for query performance while maintaining referential integrity
Applied strategic indexing on foreign keys and frequently filtered columns (status, campus, term) for optimal query performance
Enforced referential integrity constraints to prevent orphaned records and ensure data quality across the integrated data model
Created business-friendly abstraction layers to enable self-service reporting:
vw_financial_summary (Oracle ERP)
Pre-joins all financial dimension tables to fact_transactions
Provides flat, business-friendly structure for finance reporting
Automatically reflects real-time data changes
Serves as foundation for Tableau/OTBI certified data sources
vw_enrollment_summary (Banner SIS)
Combines student, program, course, and enrollment data
Enables self-service academic analytics without requiring users to understand star schema
Includes calculated fields for pass rates, completion status, and GPA analysis
vw_student_revenue_analysis (Integrated: Banner + Oracle)
Key integration view combining Banner financial aid data with Oracle billing/payment data
Provides complete student financial picture: charges, aid, payments, and net revenue
Enables analysis of financial aid effectiveness and program profitability
Demonstrates multi-source data integration accessible to business users
Oracle ERP Financial Analytics:
mv_campus_spending_summary – Pre-aggregated spending by organizational hierarchy and account category
mv_monthly_spending_trends – Time-series aggregations for trend analysis
mv_vendor_spending – Vendor performance metrics and transaction history
mv_dept_budget_summary – Department-level budget utilization with revenue/expense rollups
Banner SIS Academic Analytics:
mv_enrollment_by_program – Enrollment counts, credit hours, GPA, and pass rates by program and term
mv_revenue_by_program – Total charges, financial aid, payments, and net revenue by program
mv_campus_enrollment_summary – Campus-level enrollment by term, student level, and residency status
Key Benefits:
Real-time views for current operational reporting
Materialized views for high-performance dashboard queries
Business-friendly field names and pre-calculated metrics
Governance enforced through centralized semantic layer
Multi-source integration transparent to end users
Created normalized dimension tables and fact tables with proper data types across multiple source systems (Oracle ERP and Banner SIS)
Implemented primary keys, foreign keys, and referential integrity constraints to maintain data quality
Designed Type 2 Slowly Changing Dimensions (dim_student) with effective_date, end_date, and is_current flags for historical tracking
Created conformed dimensions (dim_date, dim_department) shared across both Oracle and Banner data sources
Designed strategic indexes on foreign keys and frequently filtered columns (status, campus, term) for query performance optimization
Created both regular views and materialized views for semantic layer abstraction
Generated realistic test data using INSERT INTO ... SELECT with randomization functions
Implemented dynamic ID lookups using subqueries to resolve foreign key references across dimension tables
Created multi-source data integration patterns combining Banner financial aid with Oracle billing/payment data
Used CASE statements for conditional logic and calculated fields (is_charge, is_payment, is_aid)
Applied aggregation functions for summary calculations and performance metrics
Created strategic indexes on foreign keys and frequently filtered columns to improve join and filter performance
Designed materialized views to pre-compute expensive aggregations (enrollment by program, revenue by program, campus summaries)
Understood trade-offs between view types: regular views for real-time accuracy vs. materialized views for dashboard performance
Implemented semantic layer views (vw_enrollment_summary, vw_student_revenue_analysis) to abstract star schema complexity from end users
Applied multi-table joins across conformed dimensions to enable integrated Oracle + Banner reporting
Multi-source integration queries combining Banner SIS and Oracle ERP data through shared dimension keys
Type 2 SCD queries using effective_date ranges and is_current flags for point-in-time reporting
Hierarchical aggregations rolling up from department → college → campus levels
Conditional aggregations using CASE statements within SUM/COUNT functions for flexible metrics
Semantic layer abstraction pre-joining fact and dimension tables to simplify end-user queries
Complete university data warehouse implementation with Oracle ERP financial data and Banner SIS student data. Includes 10 dimension tables, 3 fact tables (including the integrated fact_student_financials), and 3 semantic layer views—all populated with realistic sample data for hands-on demonstration of multi-source integration patterns.
SELECT
campus,
college_name,
dept_name,
account_category,
fiscal_year,
SUM(amount) as total_spending
FROM vw_financial_summary
WHERE account_type = 'Expense'
AND fiscal_year = 2024
GROUP BY ROLLUP(campus, college_name, dept_name, account_category, fiscal_year)
ORDER BY campus, college_name, dept_name; ```
This query demonstrates hierarchical rollup capabilities—subtotals at campus, college, and department levels—essential for university financial reporting.
SELECT
program_name,
college, term_code,
COUNT(DISTINCT student_banner_id) as student_count,
COUNT(*) as total_enrollments,
ROUND(AVG(grade_points), 2) as avg_gpa,
SUM(credit_hours) as total_credit_hours,
SUM(CASE WHEN is_passing = TRUE THEN 1 ELSE 0 END) as passing_count,
ROUND(100.0 * SUM(CASE WHEN is_passing = TRUE THEN 1 ELSE 0 END) / COUNT(*), 1) as pass_rate FROM vw_enrollment_summary
WHERE term_code = 'Fall 2024'
AND is_completed = TRUE
GROUP BY program_name, college, term_code
ORDER BY student_count DESC;
This query analyzes enrollment patterns, academic performance, and pass rates by program—demonstrating Banner SIS integration for academic analytics.
SELECT
student_name,
program_name,
student_level,
term_code,
SUM(CASE WHEN is_charge = TRUE THEN amount ELSE 0 END) as total_charges,
SUM(CASE WHEN is_aid = TRUE THEN amount ELSE 0 END) as total_aid,
SUM(CASE WHEN is_payment = TRUE THEN amount ELSE 0 END) as total_payments,
SUM(CASE WHEN is_charge = TRUE THEN amount ELSE 0 END) -
SUM(CASE WHEN is_aid = TRUE THEN amount ELSE 0 END) as net_tuition,
STRING_AGG(DISTINCT aid_type, ', ') as aid_types_received
FROM vw_student_revenue_analysis
WHERE term_code = 'Fall 2024'
GROUP BY student_name, program_name, student_level, term_code
HAVING SUM(CASE WHEN is_charge = TRUE THEN amount ELSE 0 END) > 0
ORDER BY total_charges DESC;
This query demonstrates the key integration point: combining Banner financial aid data with Oracle billing/payment data to provide a complete student financial picture—charges, aid disbursements, payments, and net revenue per student.
This query shows Fall 2024 students with their total charges, financial aid received (by type), payments made, and net tuition—all from a single semantic layer view that abstracts the complexity of joining Banner and Oracle source systems.
Implemented multiple layers of data quality controls across Oracle ERP and Banner SIS integration:
Foreign key constraints ensure referential integrity across all fact-dimension relationships and prevent orphaned records
NOT NULL constraints on critical fields (student_id, program_id, transaction_date, amount)
UNIQUE constraints on business keys (account numbers, department codes, banner_id, program_code)
Data type enforcement (NUMERIC for currency, DATE for temporal data, BOOLEAN for flags)
Referential integrity across source systems through conformed dimensions (dim_date, dim_department)
Temporal consistency validation ensuring no overlapping effective_date ranges for the same student
is_current flag integrity ensuring exactly one current record per student
Historical completeness tracking student progression over time (Sophomore → Junior → Senior)
Cross-source reconciliation verifying student financial aid from Banner matches billing transactions in Oracle
Conformed dimension consistency ensuring shared dimensions (date, department) maintain identical values across Oracle and Banner fact tables
Integrated fact table validation confirming fact_student_financials correctly combines Banner aid_type with Oracle account_id
Orphaned record detection across fact-dimension relationships (students without programs, enrollments without courses)
NULL value analysis for optional vs. required fields with business rule documentation
Duplicate detection on natural keys (banner_id, course_code + term, program_code)
Cross-table reconciliation for data consistency (enrollment counts, financial aid totals, payment reconciliation)
Type 2 SCD validation checking for temporal overlaps and missing is_current flags
Established naming conventions across both source systems:
Tables: dim_*, fact_* (Oracle and Banner)
Views: vw_* (regular views for real-time access)
Materialized views: mv_* (performance-optimized aggregations)
Source system labeling in documentation distinguishing Oracle ERP vs. Banner SIS vs. Shared dimensions
Documented column definitions and business rules including FERPA compliance considerations for student data
Created "certified" semantic layer providing governed self-service access to integrated Oracle + Banner data
Implemented refresh logging for materialized view currency tracking and staleness monitoring
Data classification separating public financial data from FERPA-protected student information
FERPA-compliant access patterns for student data in dim_student and fact_enrollment
Audit trail capability through Type 2 SCD effective dates tracking when student status changes occurred
Data privacy controls ensuring student financial data (Banner aid + Oracle billing) maintains proper access restrictions
This data warehouse architecture supports multiple reporting personas and use cases across finance, academics, and student services:
Query vw_financial_summary for ad-hoc transaction research and budget variance analysis
Filter by department, account, vendor, or time period for expense tracking
Export to Excel via Smart View or direct SQL tools for detailed reconciliation
Access vw_student_revenue_analysis for student account receivables and payment collection monitoring
Query vw_enrollment_summary for real-time enrollment counts, waitlist analysis, and course capacity utilization
Track retention rates and student progression through Type 2 SCD historical analysis
Monitor program performance with pass rates, GPA trends, and completion metrics by term
Analyze STEM enrollment and graduation rates for compliance reporting
Use vw_student_revenue_analysis to view complete student financial picture: charges + aid + payments
Track financial aid disbursement by type (Federal, State, Institutional) and source
Monitor student account balances and payment collection rates
Analyze aid effectiveness and packaging strategies by program and student demographics
Connect Tableau/Power BI to materialized views for fast-loading institutional dashboards
mv_enrollment_by_program and mv_revenue_by_program provide sub-second query performance for program-level KPIs
Integrated metrics combining academic performance (enrollment, retention, graduation) with financial performance (revenue, aid, net tuition)
Fiscal year and academic year metrics available simultaneously through dual-calendar dim_date design
Cross-functional dashboards showing financial sustainability of academic programs
Multi-year trend analysis using Type 2 SCD to track student cohort progression over time
Program profitability analysis combining enrollment data with revenue/cost data
IPEDS and state reporting with pre-aggregated views for federal compliance
Predictive analytics foundation for enrollment forecasting and retention modeling
Full transaction lineage through star schema with clear source system attribution (Oracle ERP vs. Banner SIS)
Historical organizational changes tracked via Type 2 SCD (student progression from Sophomore → Junior → Senior)
Referential integrity ensures data accuracy across multi-source integration (Banner aid reconciles with Oracle billing)
FERPA compliance support through proper access controls on student data in dim_student and fact_enrollment
Audit trail capability with Type 2 SCD effective dates showing when student status changes occurred
Federal reporting support (IPEDS) with pre-aggregated views for enrollment, financial aid, and graduation metrics
Cross-system validation ensuring Banner financial aid totals match Oracle general ledger entries
Business users query semantic layer without SQL knowledge through Tableau/OTBI connected to certified views
Consistent metric definitions prevent reporting discrepancies across finance and academic affairs
Governed data sources ensure security and FERPA compliance for student information
Multi-source integration transparent to end users - vw_student_revenue_analysis combines Banner + Oracle without exposing complexity
Real-time and pre-aggregated options balancing data freshness (regular views) with performance (materialized views)
Business-friendly field names and pre-calculated metrics (pass_rate, net_tuition, total_aid) eliminate need for complex SQL
Finance Leadership:
"Show me total spending by campus and college for FY2024, with drill-down to department and account category" → Query vw_financial_summary with ROLLUP
Provost Office:
"What are our Fall 2024 enrollment numbers by program, and how do pass rates compare to last year?" → Query vw_enrollment_summary + mv_enrollment_by_program
CFO:
"What's our net tuition revenue per student after financial aid, broken down by program?" → Query vw_student_revenue_analysis (Banner aid + Oracle billing integrated)
Enrollment Management:
"How many students who started as freshmen in Fall 2022 are still enrolled as juniors in Fall 2024?" → Type 2 SCD query on dim_student tracking progression
Board of Trustees:
"Which academic programs generate positive net revenue after accounting for financial aid costs?" → mv_revenue_by_program (integrated Banner + Oracle metrics)
Self-service dashboard built from vw_student_revenue_analysis, combining Banner financial aid data (orange bars) with Oracle billing/payment data (green tuition, red payments, blue fees, teal room & board). Business users can analyze student financial transactions by program without SQL knowledge—the semantic layer abstracts the Banner + Oracle integration complexity. This demonstrates the business value of governed, integrated data sources for executive decision-making.
Deepened understanding of dimensional modeling (Kimball methodology) applied to multi-source integration scenarios
Practiced advanced SQL techniques including Type 2 SCD queries, dynamic ID lookups, multi-source joins, conditional aggregations, and hierarchical rollups
Gained hands-on experience with PostgreSQL, Docker, DBeaver, and pgAdmin in a realistic university data architecture
Learned multi-source integration patterns combining Banner SIS with Oracle ERP through conformed dimensions and integrated fact tables
Understood difference between normalized (OLTP) and denormalized (OLAP) design and when each is appropriate
Implemented Type 2 Slowly Changing Dimensions for tracking historical changes (student progression over time)
Understood how semantic layers bridge technical complexity and business usability - critical when integrating Banner and Oracle data for non-technical users
Recognized importance of data governance for consistency across reporting tools, especially when combining multiple source systems
Learned when to prioritize performance (materialized views) vs. real-time data (regular views) based on reporting requirements and data volumes
Appreciated the value of conformed dimensions for enabling integrated reporting across organizational silos (finance, academics, student services)
Understood compliance implications (FERPA for student data) and how they influence data architecture and access control design
Recognized role of metadata and documentation in enterprise data management, especially for multi-source integration
Banner SIS architecture and typical student data structures (enrollment, programs, courses, financial aid)
Higher education data challenges including dual calendar systems (fiscal + academic), multi-campus operations, and federal reporting requirements
University reporting needs across finance, academics, enrollment management, and student financial services
Integration patterns commonly used when Banner manages student operations and Oracle handles enterprise finance
Overseeing Oracle ERP/HCM reporting (OTBI, BI Publisher, OAC, Smart View) with understanding of how to integrate Banner student data
Managing Banner integration with Oracle Cloud for unified institutional reporting
Leading data warehouse modernization efforts combining student information systems with enterprise financial systems
Partnering with IT on modern data platform architecture including cloud-native deployment patterns
Overseeing data governance across multiple source systems (Banner, Oracle, potential future systems)
Leading data quality, validation, and reconciliation efforts across Banner-Oracle integration points
Translating business requirements into dimensional models and semantic layers that span finance and academics
Building semantic layers (OTBI subject areas, Tableau data sources) that abstract multi-source complexity from end users
Supporting federal compliance reporting (IPEDS) with properly integrated student and financial data
This project positions me to step into senior data leadership roles in higher education because I can:
✅ Speak the language of both Banner (student systems) and Oracle (enterprise systems)
✅ Design integration architectures that combine academic and financial data
✅ Understand compliance requirements (FERPA, federal reporting) that shape data architecture
✅ Bridge technical and business stakeholders through effective semantic layer design
✅ Deliver hands-on when needed, not just provide high-level direction
✅ Navigate large IT organizations (Fortune 100 experience) while understanding higher ed nuances