INFO20003 Database Systems
INFO20003 Overview
- University of Melbourne
- S2 2026
- 11 chapters
- Computer Science
INFO20003 Database Systems develops the full path from a real information need to a database design, a correct query and an efficient execution plan. The subject begins with data, information and the database development lifecycle, then turns requirements into entity relationship models and relational schemas.
- Assessed by Assignment 1 10% · Assignment 2 10% · Assignment 3 10% · Weekly quizzes 10% · Final examination 60% + 2 more — Assignments A1, A2 and A3, Exam and weekly quizzes are a hurdle
- Key terms Candidate key, Foreign key, Cardinality, Relational algebra
- How to prepare Organise revision by task type rather than lecture order.
- Most asked What are the hurdle requirements?
What you get in the full INFO20003 Exam Bible
- 11 chapters, 48 pages — every examinable topic, week by week
- 28 original practice questions, each with a model answer in the Final examination format
- 11 worked examples, solved the way INFO20003 marks
- 17 computed figures, redrawn from the course’s own numbers
- Exam-morning plan for the Final examination (60%) — what to revise last, where marks are lost
Free on this page: assessment table, chapter map, one worked example, key terms, FAQ. The rest is in the full exam bible.
How INFO20003 is assessed
| Component | Weight | Format |
|---|---|---|
| Assignment 1 | 10% | Individual practical task on entity relationship modelling, due in Week 5 |
| Assignment 2 | 10% | Individual practical task on relational algebra and SQL, due in Week 8 |
| Assignment 3 | 10% | Individual timed LMS quiz on query processing and optimisation, due in Week 11 |
| Weekly quizzes | 10% | Ten short timed quizzes covering lecture material, each worth 1% |
| Final examination | 60% | Individual written examination, three hours, open book, during the examination period |
| Assignments A1, A2 and A3 · hurdle | Hurdle requirement: at least 15 out of 30 across the three assignments | |
| Exam and weekly quizzes · hurdle | Hurdle requirement: at least 35 out of 70 across the final examination and weekly quizzes |
The 2026 University handbook publishes the assignments at 30%, weekly quizzes at 10% and open book written examination at 60%. The LMS subject overview identifies the three assignments as 10% each and publishes both cumulative hurdle rules. Numeric weights total 100%.
What other students are asking about INFO20003
- Where can I find lecture notes or study guides for INFO20003 at UniMelb?
- The INFO20003 study guide in AskSia Library covers Database Systems in 11 chapters, with the assessment table, a chapter-by-chapter topic map, key terms and a worked example, free to read on this page.
- Is there a final exam in INFO20003, and how much is it worth?
- Yes. In the offering this AskSia Library guide is built from, Final examination carries 60% of the INFO20003 mark; the full split is Assignment 1 10%, Assignment 2 10%, Assignment 3 10%, Weekly quizzes 10%, Final examination 60%.
- What does INFO20003 cover on entity relationship modelling?
- In AskSia Library's INFO20003 guide, the Entity Relationship Modelling chapter explains entities, identifiers, attributes, relationships, cardinality, participation and assumptions that change a conceptual model.
- What does INFO20003 cover on relational model and schema mapping?
- In AskSia Library's INFO20003 guide, the Relational Model and Schema Mapping chapter explains relations, tuples, candidate and foreign keys, integrity constraints and mapping business identity into a valid schema.
- What does INFO20003 cover on relational algebra?
- In AskSia Library's INFO20003 guide, the Relational Algebra chapter explains selection, projection, joins, set operators, division and expression trees that preserve relational meaning.
What INFO20003 covers
Move from database requirements and schema design to SQL, query cost, transactions and distributed data choices.
Database Systems and Design Lifecycle
Data, information, DBMS responsibilities and the path from requirements through conceptual, logical and physical design.A database system combines persistent data, management software, applications, people and rules.
- Data and information
- DBMS components
- Requirements analysis
- Conceptual design
- Logical design
- Physical design
Entity Relationship Modelling
Entities, identifiers, attributes, relationships, cardinality, participation and assumptions that change a conceptual model.Entity relationship modelling turns a narrative into explicit claims about object identity and association.
- Entity types
- Identifiers
- Attribute placement
- Relationship meaning
- Minimum participation
- Maximum cardinality
Relational Model and Schema Mapping
Relations, tuples, candidate and foreign keys, integrity constraints and mapping business identity into a valid schema.The relational model stores facts as tuples described by attributes and controlled by constraints.
- Relations and tuples
- Attribute domains
- Superkeys
- Candidate keys
- Primary keys
- Foreign keys
Relational Algebra
Selection, projection, joins, set operators, division and expression trees that preserve relational meaning.Relational algebra provides the formal operator language behind relational queries.
- Closure
- Selection
- Projection
- Rename
- Set operations
- Cartesian product
SQL Query Construction
DDL and DML, joins, NULL, subqueries, grouping, result grain and patterns that preserve unmatched rows.SQL becomes predictable when its logical evaluation order is separated from its written order. This chapter builds row sources with FROM and JOIN, filters rows with WHERE, creates groups, filters groups with HAVING and only then forms the selected result.
- DDL and DML
- Logical query order
- Inner and outer joins
- NULL predicates
- Self joins
- EXISTS and NOT EXISTS
Storage Structures and Indexes
Pages, heap and ordered files, B+ trees, hash indexes, clustering, selectivity and access path choice.Storage decisions determine how many pages a DBMS must read. Heap and ordered files have different insertion and lookup behaviour, while indexes provide alternate access paths without changing the relation's logical meaning.
- Disk pages
- Heap files
- Sorted files
- B+ tree indexes
- Hash indexes
- Clustered access
Query Processing and Join Costs
Physical operators, buffers, pipelining and page I/O estimates for nested loops and hash joins.A declarative query becomes a physical tree of scans, filters, projections and joins. This chapter follows the path from parser and optimiser to executor, then compares join algorithms using page I/O.
- Parsing and compilation
- Physical operators
- Iterator execution
- Pipelining
- Blocking operators
- Page nested loops
Query Optimisation
Equivalence rules, reduction factors, cardinality estimates, plan enumeration and cost based search.Query optimisation chooses among equivalent execution plans using statistics and cost estimates. Selections and safe projections can move closer to base relations to shrink intermediates, while join ordering and access paths change physical work.
- Algebraic equivalence
- Selection pushdown
- Projection pushdown
- Reduction factors
- Cardinality estimation
- Tuple to page conversion
Normalisation and Dependencies
Functional dependencies, anomalies, candidate keys, normal forms and justified lossless decomposition.Normalisation stores each fact with the determinant that gives it meaning. Functional dependencies expose repeated facts and explain update, insertion and deletion anomalies.
- Functional dependencies
- Candidate keys
- Update anomalies
- First normal form
- Second normal form
- Third normal form
Transactions and Database Administration
ACID properties, schedules, locks, deadlocks, logging, recovery, capacity planning and tested backups.Transactions group several data changes into one logical unit and protect correctness while many users operate concurrently.
- Transaction boundaries
- ACID properties
- Concurrent schedules
- Shared and exclusive locks
- Deadlock cycles
- Write ahead logging
Data Warehousing, Distribution and NoSQL
Star schemas, fact grain, distributed placement, replication, CAP choices and non-relational data models.The final architecture chapter contrasts current operational processing with historical analytical workloads. Star schemas place measurable events at a declared fact-table grain and surround them with descriptive dimensions.
- Operational workloads
- Warehouse architecture
- Fact table grain
- Dimensions and measures
- Fragmentation
- Replication
It builds formal query reasoning through relational algebra and practical capability through SQL before opening the DBMS to examine pages, indexes, join algorithms, query optimisation, transactions, recovery and administration. The final weeks compare operational databases with data warehouses, distributed databases and NoSQL models.
The assessment rewards both construction and explanation.
The practical assignments cover modelling, relational algebra and SQL, then query processing and optimisation. Weekly quizzes maintain coverage across lecture material. The final examination is a three hour written open book assessment worth 60%. Two cumulative hurdles apply: at least 15 out of 30 across the three assignments, and at least 35 out of 70 across the weekly quizzes plus examination.
Because these are aggregate hurdles, no single assignment or exam row should be treated as a separate pass rule.
This guide is organised around repeatable answer methods. Modelling chapters show how to justify identity, cardinality and assumptions. Query chapters preserve the requested population and result grain. Systems chapters keep tuples, pages, buffers and I/O units separate.
Every practice scenario is original, while the response types follow the University teaching materials and sample solutions.
Worked example · free
Cost a block nested loops join
- 1Reserve two buffers, leaving 60 pages for each outer block.
- 1Outer blocks = ceiling of 600 divided by 60 = 10.
- 1Cost = 600 + 10 multiplied by 9,000 = 90,600 page I/Os.
- 1State R as outer and retain the ceiling because a partial block still scans S.
Key terms
- Candidate key
- A minimal set of attributes that uniquely identifies every tuple in a relation.
- Foreign key
- An attribute set whose non-null values reference a candidate key in another or the same relation.
- Cardinality
- The permitted number of relationship instances associated with one entity instance.
- Relational algebra
- A closed formal language whose operators consume relations and return relations.
- Result grain
- The real world unit represented by one output row of a query.
- Clustered index
- An index whose search key order matches or closely controls the physical order of data records.
- Reduction factor
- The estimated fraction of input tuples that survive a predicate.
- Query plan
- A physical operator tree chosen to execute a declarative query.
- Functional dependency
- A legal state rule in which agreement on one attribute set requires agreement on another.
- Serializability
- The property that a concurrent schedule has the same effect as some serial transaction order.
- Fact table grain
- The precise event or snapshot represented by one row in a dimensional fact table.
- Partition tolerance
- The ability of a distributed system to continue operating despite disrupted communication between nodes.
INFO20003 FAQ
How is this subject assessed?
The published structure is three individual practical assignments worth 10% each, ten weekly quizzes worth 1% each, and a written open book final examination worth 60%. The assignment tasks move from modelling to relational algebra and SQL, then query processing and optimisation, while the examination addresses the complete subject.
What are the hurdle requirements?
There are two cumulative hurdles. You need at least 15 out of 30 across the three assignments, and at least 35 out of 70 across the weekly quizzes and final examination combined. These are aggregate rules, so a single assignment or the examination does not carry its own separate published hurdle in this guide.
Is the final examination open book?
Yes. The 2026 University handbook describes an individual written open book examination lasting three hours and worth 60%. An older sample paper displays a shorter historical timing, so use it to understand question types and solution conventions, not to override the current handbook format.
What makes the SQL questions difficult?
The challenge is preserving the requested population and row grain while joins, NULL values and aggregation interact. Practise outer joins that retain zero-match entities, EXISTS and NOT EXISTS for inclusion and exclusion, self joins for roles, and grouping that does not multiply totals through one-to-many fan-out.
How should I prepare for query cost calculations?
Keep tuples, pages, buffers, blocks and I/O units separate. Print the formula before substituting, retain ceiling operations, state which relation is outer, and verify assumptions behind selectivity or hashing. Direction checks help: more buffers should not make block nested loops worse, and a filter should not increase cardinality.
How do I practise data modelling effectively?
Use unfamiliar narratives and justify every entity, identifier, relationship attribute and endpoint cardinality. Read the finished diagram back as business sentences, list assumptions that affect structure, and map it into relations. A clean drawing is not enough when the business rule or foreign key consequence is unclear.
Questions students ask in each INFO20003 chapter
- How do I verify traceability across the lifecycle?
- Select one business rule and follow it through the conceptual model, logical constraint and implementation test. Then reverse the path from the implemented object to the approved requirement. A missing link means either the rule is unenforced or the technical object lacks a demonstrated purpose; both findings require review at the earliest affected stage. Chapter 01 · Database Systems and Design Lifecycle
- When should time become part of relationship identity?
- Include a temporal discriminator when the same participant pair may form more than one valid relationship instance over time and history must remain distinguishable. If only the current relationship is permitted, the pair can remain unique. State that business rule before choosing a composite key or introducing a separate relationship identifier. Chapter 02 · Entity Relationship Modelling
- Does adding a surrogate key remove natural uniqueness?
- No. A surrogate can provide a compact stable reference, but it does not stop two rows from repeating a combination that the business says is unique. Retain a UNIQUE constraint on the natural candidate key, and test both rules separately: surrogate identity supports references while natural uniqueness protects domain meaning. Chapter 03 · Relational Model and Schema Mapping
- How can I check an algebra tree before simplifying it?
- Write the heading below every intermediate relation and mark the last point where each attribute is needed. Then test one ordinary tuple, one missing match and one pair that becomes duplicate after projection. These checks reveal predicates moved below their required attributes, incompatible set operands and projections that discard a later join key. Chapter 04 · Relational Algebra
- Why should I declare the output grain first?
- The grain determines whether a join is allowed to multiply rows, which columns belong in GROUP BY and what one aggregate value represents. Writing one row per customer, order or match before the query makes accidental fan-out visible and helps choose between an ordinary join, EXISTS or pre-aggregation. Chapter 05 · SQL Query Construction
- Why can a selective predicate still make an index expensive?
- If the index is unclustered, qualifying records may be scattered across many data pages, producing nearly one random fetch per match. Estimate index traversal and data-page work rather than relying on the result percentage alone. Clustering, covering columns and cached pages can change that physical cost without changing selectivity. Chapter 06 · Storage Structures and Indexes
- Why must join feasibility be checked before cost?
- Compact formulas assume enough memory for a stated number of passes or partitions. If a hash partition does not fit or a sort needs another merge pass, the printed estimate omits real I/O. State the memory condition, reject an infeasible candidate or add its extra passes, and only then rank algorithms. Chapter 07 · Query Processing and Join Costs
- Why can the optimiser keep a locally dearer plan?
- A plan may deliver an interesting order or partitioning that saves a later sort, enables merge processing or supports grouping. Dynamic programming therefore compares plans for the same relation subset together with useful physical properties, not cost alone. The global plan can be cheaper even when one retained intermediate is not. Chapter 08 · Query Optimisation
- Are normal form and lossless decomposition the same property?
- No. Normal form constrains dependency patterns inside each resulting relation. Losslessness asks whether joining the components recreates exactly the legal original tuples, and dependency preservation asks whether original rules remain enforceable without a join. Report and test these three properties separately rather than treating a 3NF label as proof of all three. Chapter 09 · Normalisation and Dependencies
- What evidence proves a backup strategy works?
- A successful copy job proves only that bytes were written. Perform a timed restore using the retained backup and log chain, validate schema and application-level facts, record achieved recovery point and recovery time, and test access credentials plus dependencies. That exercise demonstrates recoverability for the declared failure scenario. Chapter 10 · Transactions and Database Administration
- What must accompany a polyglot persistence recommendation?
- Name the access pattern or consistency boundary each store improves, then account for duplicated facts, event ordering, schema evolution, monitoring and recovery across systems. Using several data models is justified only when the workload benefit exceeds the coordination and operational cost transferred into applications and platform processes. Chapter 11 · Data Warehousing, Distribution and NoSQL
How to study for the exam
Organise revision by task type rather than lecture order. First build a one-page modelling checklist covering entity identity, relationship attributes, optionality, maximum cardinality and assumptions. Next maintain a SQL pattern page for outer joins, self joins, aggregation, EXISTS, NOT EXISTS and universal conditions.
Keep a separate systems sheet that labels every quantity as tuples, pages, buffers, blocks or I/Os and includes the join and index formulas used in the teaching materials. Practise normalisation by writing functional dependencies before moving any attribute, then verify lossless reconstruction and dependency preservation.
For transactions and architectures, answer with a failure or workload: name the undesirable state, the mechanism that prevents it and the trade-off introduced. Because the examination is open book, invest in retrieval. Add tabs and a short index that points to methods and worked structures, then practise finding each within seconds.
Complete original mixed questions under time and recompute every numeric answer from the printed steps.
Your AI Computer Science tutor for INFO20003
Stuck on a hard INFO20003 question? Sia is AskSia’s AI Computer Science tutor — ask any INFO20003 Database Systems question and get a clear, step-by-step explanation grounded in how the course is actually taught and assessed. Read this whole study guide free, then take your hardest questions to Sia.