π FIT3003: Business Intelligence and Data Warehousing
Map of Content
Index for FIT3003 BI and Data Warehousing β dimensional modelling on Oracle. Prerequisite skills are the FIT2094 E/R model and SQL, revised in Week 1. Start with Data Engineering.
π Assessment Map
- Assessment 1 β Online Quiz (10%)
- Assessment 2 β Individual Assignment (40%) β THE unit: design a warehouse and implement it in Oracle; fed by Star Schema and Oracle SQL Toolkit (Cheatsheet). Four tasks, stated in Lab 3: 1 clean the input data (an ERD is not supplied β draw one) Β· 2β3 draw the star and create it in SQL Β· 4 answer the given queries plus one of your own, each touching the fact and dimension, with a justification of why management would want it.
- Assessment 3 β Online Quiz (10%)
- Exam (40%)
Topics covered: data warehousing (ETL, multidimensional schemas, star/snowflake) Β· OLAP Β· data analytics.
π§° Toolkit Cheatsheets
- Oracle SQL Toolkit (Cheatsheet) β shared with FIT2094; extended for FIT3003 with DDL/DML,
INSERT ALL, cross-account CTAS, the old-style join syntax this unit uses, the W2 warehouse-ETL clauses, and the W3 exploration/cleaning probes
π Knowledge Index
Week 1 β Data Engineering, Data Warehousing & SQL Revision
- Data Engineering β Parent Framework: Data Science
- Data Warehouse β Parent Framework: Data Engineering
- Star Schema β Parent Framework: Data Warehouse
SQL revision β Week 1 re-teaches FIT2094 SQL; the FIT3003 deltas were merged into the existing notes:
- SQL Joins (ANSI) (W1: old-style comma+WHERE join β used in FIT3003, banned in FIT2094)
- DML INSERT (Oracle) (W1:
INSERT ALL β¦ SELECT * FROM DUAL, partial-insert column-list rule) - Altering and Dropping Tables (W1: column-level ADD/MODIFY/DROP, CHAR vs VARCHAR2)
- Populating Tables from Queries (INSERT-SELECT, CTAS) (W1: cross-account
CREATE TABLE β¦ AS SELECT * FROM dtaniar.x) - DDL Table Creation Β· Oracle Data Types Β· SQL SELECT and WHERE Β· SQL Sorting, Distinct & Alias Β· SQL Aggregate Functions and GROUP BY Β· SQL Subquery (Nested SELECT) Β· DML UPDATE and DELETE (Oracle) Β· Database Transaction (unchanged β revision only)
Week 2 β Simple Star Schemas (Ch2) & More Complex Facts and Dimensions (Ch3)
- Star Schema β Parent Framework: Data Warehouse (W2 merge: notation, transformation process, the Chapter 2 College answer)
- Two-Column Table Methodology β Parent Framework: Star Schema
- Building Dimension Tables β Parent Framework: Star Schema
- Building Fact Tables β Parent Framework: Star Schema
- Fact Measure Aggregation Rules β Parent Framework: Star Schema
Week 3 β Data Cleaning (USELOG & ROBCOR case studies)
- Data Exploration (Warehouse Validation) β Parent Framework: Data Engineering
- Data Cleaning (Dirty Data) β Parent Framework: Data Exploration (Warehouse Validation)
- Multi-Role Facts β Parent Framework: Star Schema (ROBCOR pilot / co-pilot)
- One-Attribute Dimensions β Parent Framework: Star Schema (feedback session)
- Two-Column Table Methodology (W3 merge: the
Number_of_Reviewsfailure case, the grounding check) - Building Dimension Tables (W3 merge: why dimensions exist at query time; the shared-description trap)
π§ Suggested Reading Order
- W2 β draft, validate, build: Star Schema (notation) β Two-Column Table Methodology (validate first) β Building Dimension Tables (A2 hand skill) β Building Fact Tables (A2 hand skill) β Fact Measure Aggregation Rules (measure choice)
- W3 β never trust the source: Data Exploration (Warehouse Validation) (A2 task 1) β Data Cleaning (Dirty Data) (A2 task 1) β Multi-Role Facts (two-role transactions) β One-Attribute Dimensions (refinement)
π― Learning Outcomes
- W1 β
- argue why ad-hoc cleaning fails and modularisation wins
- contrast software vs data engineering
- place ETL, OLAP and BI on the delivery chain
- separate operational DB from warehouse (precomputed, granularity, pre-designed)
- derive fact, grain, dimensions and attributes from analysis questions
- write FIT3003 old-style joins without producing a Cartesian product
- W2 β
- draw a star in unit notation β
XxxDIM/XxxFACT, dimension ID as FK+PK in the fact - validate a drafted star with the two-column table method
- create dimensions directly, or stage a derived attribute in a temp dimension
- aggregate a fact from operational tables, a
TempFact, or a pre-processed source - use
left outer join+count(attribute)for two unequal populations - reject
avgas a stored measure; store total count instead
- draw a star in unit notation β
- W3 β
- predict a 1β joinβs row count and reconcile it against the TempFact
- probe duplicates with
group by <key> having count(*) > 1on both join sides - detect the five dirty-data types and write the check-then-repair pair
- clean with
select distinctat the join, or a cleaned source copy - split a two-role transaction into one star schema per role
- rule out
union-merging a fact whose measures belong to the trip, not the person