Business × Computers → Information systems
From a business question to a dependable report
This guided workshop combines management, databases and data engineering. Prerequisites: basic arithmetic and Python functions; read programming and relational foundations first if needed. Plan roughly two to three hours for reading, execution and a decision memo. This is an editorial estimate, not a measured completion time.
Read in this order
- Management information systems: define the decision, record grain and accountable action.
- Database management systems: keys, join multiplicity, constraints and transaction boundaries.
- Data engineering: parsing, validation, retry state and reconciliation.
Each chapter has separate foundation, undergraduate, postgraduate and research sections. Reading and note controls remain on the chapter pages.
Predict before running
Five input rows represent two accepted orders, an identical replay, an invalid amount and a conflicting reused identifier. Predict two accepted records, one duplicate and two rejected rows; accepted value 30,000 paise (INR 300). A deliberately naive join with three delivery attempts reports 40,000 paise. Explain the extra 10,000 before looking at the code.
Download records_pipeline.py. Run python3 records_pipeline.py. The synthetic CSV is inside the file; no package installation or external database is needed. The SQLite database is in memory and disappears at exit.
Experiments and evidence
- Explain every accepted, replayed or rejected row.
- Use a customer name containing a comma inside CSV quotes. Confirm it remains one field.
- Change a valid amount to zero. Predict and explain the new classifications.
- Move the identical replay earlier. Confirm the accepted total is unchanged.
- Move a conflicting payload before the original. Explain why first-seen acceptance is not an adequate production correction policy.
- Inspect the failed transaction: a valid new insert followed by an invalid insert must leave the original total unchanged.
- Give both orders equal amounts. Explain why SUM(DISTINCT amount) would wrongly remove a legitimate order contribution.
Apply the three worksheets
Schema defines row meaning and structural rules. Lineage explains origins and transformations. Stewardship assigns definition and correction responsibilities. The worksheets are editorial exercises, not claims of an established named methodology.
Assess and retain
Answer the four individual questions in each chapter before opening guidance: MIS questions, DBMS questions, data-engineering questions. The selected questions have ten-mark indicative guidance; they are not official university marking schemes. Revisit the matching revision cards through the chapter's revision control.
Original portfolio deliverable
Submit a metric contract, relationship diagram, source and transformation description, reconciled output, exception policy and managerial memo. Identify who may correct an order, whose definition controls the total, which evidence supports the correction and how changed reports would be communicated. Include one limitation about source completeness, one about durable state and one about effects outside the database transaction.
Free primary learning references
- PostgreSQL transaction tutorial — further reading on commit and rollback; this executable uses SQLite.
- PostgreSQL constraints — study structural rules and check the chosen database's behaviour.
- Python CSV documentation — parsing, dialects and type-conversion behaviour.
These publicly readable references were checked on 3 October 2026. They are documentation, not certificates or a completed MOOC. Hosted infrastructure and related commercial services can have separate costs.
Tool guides · Your progress · Current coverage and pending work